/** return true if omode specifies exec access */
bool mode_isexec(int self);
/** return true if omode specifies read access */
bool mode_isread(int self);
/** return true if omode specifies write access */
bool mode_iswrite(int self);
/** return true if omode pseicfies read/write access */
bool mode_isread_write(int self);
/** return true if mode contains any kind of write access including rw */
bool mode_includes_write(int self);
/** return true if mode contains any kind of read access including rw */
bool mode_includes_read(int self);
bool dirmode_isexec(ulong self);
bool dirmode_isread(ulong self);
bool dirmode_iswrite(ulong self);
bool dirmode_isdir(ulong self);
bool perm_isread(ulong self);
bool perm_iswrite(ulong self);
bool perm_isexec(ulong self);
bool perm_isappend(ulong self);
bool perm_isexclusive(ulong self);
/** returns true if the given perm contains DMDIR bit, false otherwise */
bool perm_isdir(ulong self);
/** return true if qid is for dirctory */
bool qid_isdir(Qid *qid);
/** dump qid info */
void qid_dump(Qid *qid);
/**
* clone a new dir with all the fields allocated from one malloc, so that it
* can be freed by one free call
*/
Dir *dir_clone(Dir *self);
/** copy directory structure from copy to self */
void dir_copy(Dir *self, Dir *copy);
/** frees every pointer entry individually */
void dir_free(Dir *self);
/** print out directory related information */
void dir_dump(Dir *self);
/** print out fcall information */
void fcall_dump(Fcall *self);
/** return a static array that points to the error to the last system call */
char *last_error(void);
|