📄 dir.h
字号:
typedef long long vlong;typedef unsigned long long uvlong;typedef unsigned char uchar;typedef unsigned short ushort;typedef unsigned int uint;typedef unsigned long ulong;#define GBIT8(p) ((p)[0])#define GBIT16(p) ((p)[0]|((p)[1]<<8))#define GBIT32(p) ((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24))#define GBIT64(p) ((vlong)((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24)) |\ ((vlong)((p)[4]|((p)[5]<<8)|((p)[6]<<16)|((p)[7]<<24)) << 32))#define PBIT8(p,v) (p)[0]=(v)#define PBIT16(p,v) (p)[0]=(v);(p)[1]=(v)>>8#define PBIT32(p,v) (p)[0]=(v);(p)[1]=(v)>>8;(p)[2]=(v)>>16;(p)[3]=(v)>>24#define PBIT64(p,v) (p)[0]=(v);(p)[1]=(v)>>8;(p)[2]=(v)>>16;(p)[3]=(v)>>24;\ (p)[4]=(v)>>32;(p)[5]=(v)>>40;(p)[6]=(v)>>48;(p)[7]=(v)>>56#define BIT8SZ 1#define BIT16SZ 2#define BIT32SZ 4#define BIT64SZ 8#define QIDSZ (BIT8SZ+BIT32SZ+BIT64SZ)/* STATFIXLEN includes leading 16-bit count *//* The count, however, excludes itself; total size is BIT16SZ+count */#define STATFIXLEN (BIT16SZ+QIDSZ+5*BIT16SZ+4*BIT32SZ+1*BIT64SZ) /* amount of fixed length data in a stat buffer */typedef union{ char clength[8]; vlong vlength; struct { long hlength; long length; };} Length;typedefstruct Qid{ uvlong path; ulong vers; uchar type;} Qid;typedefstruct Dir { /* system-modified data */ ushort type; /* server type */ uint dev; /* server subtype */ /* file data */ Qid qid; /* unique id from server */ ulong mode; /* permissions */ ulong atime; /* last read time */ ulong mtime; /* last write time */ vlong length; /* file length: see <u.h> */ char *name; /* last element of path */ char *uid; /* owner name */ char *gid; /* group name */ char *muid; /* last modifier name */} Dir;void _dirtostat(struct stat *, Dir*, Fdinfo*);uint _convM2D(uchar*, uint, Dir*, char*);uint _convD2M(Dir*, uchar*, uint);Dir *_dirstat(char*);int _dirwstat(char*, Dir*);Dir *_dirfstat(int);int _dirfwstat(int, Dir*);long _dirread(int, Dir**);long _dirreadall(int, Dir**);void _nulldir(Dir*);uint _sizeD2M(Dir*);#ifndef nil#define nil ((void*)0)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -