commit 79793adc213c08735888ef535c44d56df2b45488 from: David du Colombier <0intro@gmail.com> via: Russ Cox date: Mon Jun 13 18:40:51 2011 UTC venti.h: import indentation from plan 9 R=rsc CC=plan9port.codebot http://codereview.appspot.com/4571065 commit - 8aeb3ea1c05a4ece64e677115ce227a05bae0d48 commit + 79793adc213c08735888ef535c44d56df2b45488 blob - 3365182faeee915425e19ecd0087166329ea21a0 blob + 2861feeec8d68b82f3536852615cf8255bd593df --- include/venti.h +++ include/venti.h @@ -17,28 +17,29 @@ enum }; typedef struct Packet Packet; -Packet *packetalloc(void); -void packetfree(Packet*); -Packet *packetforeign(uchar *buf, int n, void (*free)(void *a), void *a); -Packet *packetdup(Packet*, int offset, int n); -Packet *packetsplit(Packet*, int n); -int packetconsume(Packet*, uchar *buf, int n); -int packettrim(Packet*, int offset, int n); -uchar *packetheader(Packet*, int n); -uchar *packettrailer(Packet*, int n); -void packetprefix(Packet*, uchar *buf, int n); -void packetappend(Packet*, uchar *buf, int n); -void packetconcat(Packet*, Packet*); -uchar *packetpeek(Packet*, uchar *buf, int offset, int n); -int packetcopy(Packet*, uchar *buf, int offset, int n); -int packetfragments(Packet*, IOchunk*, int nio, int offset); -uint packetsize(Packet*); -uint packetasize(Packet*); -int packetcompact(Packet*); -int packetcmp(Packet*, Packet*); -void packetstats(void); -void packetsha1(Packet*, uchar sha1[20]); +Packet* packetalloc(void); +void packetappend(Packet*, uchar *buf, int n); +uint packetasize(Packet*); +int packetcmp(Packet*, Packet*); +int packetcompact(Packet*); +void packetconcat(Packet*, Packet*); +int packetconsume(Packet*, uchar *buf, int n); +int packetcopy(Packet*, uchar *buf, int offset, int n); +Packet* packetdup(Packet*, int offset, int n); +Packet* packetforeign(uchar *buf, int n, void (*free)(void *a), void *a); +int packetfragments(Packet*, IOchunk*, int nio, int offset); +void packetfree(Packet*); +uchar* packetheader(Packet*, int n); +uchar* packetpeek(Packet*, uchar *buf, int offset, int n); +void packetprefix(Packet*, uchar *buf, int n); +void packetsha1(Packet*, uchar sha1[20]); +uint packetsize(Packet*); +Packet* packetsplit(Packet*, int n); +void packetstats(void); +uchar* packettrailer(Packet*, int n); +int packettrim(Packet*, int offset, int n); + /* XXX should be own library? */ /* * Logging @@ -48,28 +49,28 @@ typedef struct VtLogChunk VtLogChunk; struct VtLog { - VtLog *next; /* in hash table */ - char *name; + VtLog *next; /* in hash table */ + char *name; VtLogChunk *chunk; - uint nchunk; + uint nchunk; VtLogChunk *w; - QLock lk; - int ref; + QLock lk; + int ref; }; struct VtLogChunk { - char *p; - char *ep; - char *wp; + char *p; + char *ep; + char *wp; }; -VtLog *vtlogopen(char *name, uint size); +VtLog* vtlogopen(char *name, uint size); void vtlogprint(VtLog *log, char *fmt, ...); void vtlog(char *name, char *fmt, ...); void vtlogclose(VtLog*); void vtlogremove(char *name); -char **vtlognames(int*); +char** vtlognames(int*); void vtlogdump(int fd, VtLog*); /* XXX begin actual venti.h */ @@ -84,7 +85,7 @@ typedef struct VtRoot VtRoot; */ enum { - VtScoreSize = 20, + VtScoreSize = 20, VtMaxStringSize = 1024, VtPointerDepth = 7 }; @@ -145,13 +146,13 @@ enum }; struct VtEntry { - ulong gen; /* generation number */ - ulong psize; /* pointer block size */ - ulong dsize; /* data block size */ - uchar type; - uchar flags; - uvlong size; - uchar score[VtScoreSize]; + ulong gen; /* generation number */ + ulong psize; /* pointer block size */ + ulong dsize; /* data block size */ + uchar type; + uchar flags; + uvlong size; + uchar score[VtScoreSize]; }; void vtentrypack(VtEntry*, uchar*, int index); @@ -159,11 +160,11 @@ int vtentryunpack(VtEntry*, uchar*, int index); struct VtRoot { - char name[128]; - char type[128]; - uchar score[VtScoreSize]; /* to a Dir block */ - ulong blocksize; /* maximum block size */ - uchar prev[VtScoreSize]; /* last root block */ + char name[128]; + char type[128]; + uchar score[VtScoreSize]; /* to a Dir block */ + ulong blocksize; /* maximum block size */ + uchar prev[VtScoreSize]; /* last root block */ }; enum @@ -205,12 +206,12 @@ int vtscorefmt(Fmt*); /* * error-checking malloc et al. */ -void vtfree(void *); -void *vtmalloc(int); -void *vtmallocz(int); -void *vtrealloc(void *p, int); -void *vtbrk(int n); -char *vtstrdup(char *); +void vtfree(void *); +void* vtmalloc(int); +void* vtmallocz(int); +void* vtrealloc(void *p, int); +void* vtbrk(int n); +char* vtstrdup(char *); /* * Venti protocol @@ -277,7 +278,7 @@ struct VtFcall uchar msgtype; uchar tag; - char *error; /* Rerror */ + char *error; /* Rerror */ char *version; /* Thello */ char *uid; /* Thello */ @@ -292,15 +293,15 @@ struct VtFcall uchar *auth; /* TauthX, RauthX */ uint nauth; /* TauthX, RauthX */ uchar score[VtScoreSize]; /* Tread, Rwrite */ - uchar blocktype; /* Tread, Twrite */ + uchar blocktype; /* Tread, Twrite */ uint count; /* Tread */ Packet *data; /* Rread, Twrite */ }; -Packet *vtfcallpack(VtFcall*); -int vtfcallunpack(VtFcall*, Packet*); -void vtfcallclear(VtFcall*); -int vtfcallfmt(Fmt*); +Packet* vtfcallpack(VtFcall*); +int vtfcallunpack(VtFcall*, Packet*); +void vtfcallclear(VtFcall*); +int vtfcallfmt(Fmt*); enum { @@ -321,7 +322,7 @@ struct VtConn void *writeq; void *readq; int state; - void *wait[256]; + void *wait[256]; uint ntag; uint nsleep; Packet *part; @@ -329,19 +330,19 @@ struct VtConn Rendez rpcfork; char *version; char *uid; - char *sid; - char addr[256]; /* address of other side */ + char *sid; + char addr[256]; /* address of other side */ }; -VtConn *vtconn(int infd, int outfd); -VtConn *vtdial(char*); -void vtfreeconn(VtConn*); -int vtsend(VtConn*, Packet*); -Packet *vtrecv(VtConn*); -int vtversion(VtConn *z); -void vtdebug(VtConn *z, char*, ...); -void vthangup(VtConn *z); -int vtgoodbye(VtConn *z); +VtConn* vtconn(int infd, int outfd); +VtConn* vtdial(char*); +void vtfreeconn(VtConn*); +int vtsend(VtConn*, Packet*); +Packet* vtrecv(VtConn*); +int vtversion(VtConn* z); +void vtdebug(VtConn* z, char*, ...); +void vthangup(VtConn* z); +int vtgoodbye(VtConn* z); /* #pragma varargck argpos vtdebug 2 */ @@ -350,32 +351,32 @@ typedef struct VtSrv VtSrv; typedef struct VtReq VtReq; struct VtReq { - VtFcall tx; - VtFcall rx; + VtFcall tx; + VtFcall rx; /* private */ - VtSrv *srv; - void *sc; -}; - -int vtsrvhello(VtConn*); -VtSrv *vtlisten(char *addr); -VtReq *vtgetreq(VtSrv*); -void vtrespond(VtReq*); + VtSrv *srv; + void *sc; +}; +int vtsrvhello(VtConn*); +VtSrv* vtlisten(char *addr); +VtReq* vtgetreq(VtSrv*); +void vtrespond(VtReq*); + /* client */ -Packet *vtrpc(VtConn*, Packet*); -Packet *_vtrpc(VtConn*, Packet*, VtFcall*); -void vtrecvproc(void*); /* VtConn* */ -void vtsendproc(void*); /* VtConn* */ +Packet* vtrpc(VtConn*, Packet*); +Packet* _vtrpc(VtConn*, Packet*, VtFcall*); +void vtrecvproc(void*); /* VtConn */ +void vtsendproc(void*); /* VtConn */ -int vtconnect(VtConn*); -int vthello(VtConn*); -int vtread(VtConn*, uchar score[VtScoreSize], uint type, uchar *buf, int n); -int vtwrite(VtConn*, uchar score[VtScoreSize], uint type, uchar *buf, int n); -Packet *vtreadpacket(VtConn*, uchar score[VtScoreSize], uint type, int n); -int vtwritepacket(VtConn*, uchar score[VtScoreSize], uint type, Packet *p); -int vtsync(VtConn*); -int vtping(VtConn*); +int vtconnect(VtConn*); +int vthello(VtConn*); +int vtread(VtConn*, uchar score[VtScoreSize], uint type, uchar *buf, int n); +int vtwrite(VtConn*, uchar score[VtScoreSize], uint type, uchar *buf, int n); +Packet* vtreadpacket(VtConn*, uchar score[VtScoreSize], uint type, int n); +int vtwritepacket(VtConn*, uchar score[VtScoreSize], uint type, Packet *p); +int vtsync(VtConn*); +int vtping(VtConn*); /* * Data blocks and block cache. @@ -399,9 +400,9 @@ struct VtBlock ulong size; /* internal to cache */ - int nlock; - int iostate; - int ref; + int nlock; + int iostate; + int ref; u32int heap; VtBlock *next; VtBlock **prev; @@ -411,19 +412,20 @@ struct VtBlock uintptr pc; }; -u32int vtglobaltolocal(uchar[VtScoreSize]); -void vtlocaltoglobal(u32int, uchar[VtScoreSize]); +u32int vtglobaltolocal(uchar[VtScoreSize]); +void vtlocaltoglobal(u32int, uchar[VtScoreSize]); -VtCache *vtcachealloc(VtConn*, ulong maxmem); -void vtcachefree(VtCache*); -VtBlock *vtcachelocal(VtCache*, u32int addr, int type); -VtBlock *vtcacheglobal(VtCache*, uchar[VtScoreSize], int type, ulong size); -VtBlock *vtcacheallocblock(VtCache*, int type, ulong size); -void vtcachesetwrite(VtCache*, int(*)(VtConn*,uchar[VtScoreSize],uint,uchar*,int)); -void vtblockput(VtBlock*); -int vtblockwrite(VtBlock*); -VtBlock *vtblockcopy(VtBlock*); -void vtblockduplock(VtBlock*); +VtCache*vtcachealloc(VtConn*, ulong maxmem); +void vtcachefree(VtCache*); +VtBlock*vtcachelocal(VtCache*, u32int addr, int type); +VtBlock*vtcacheglobal(VtCache*, uchar[VtScoreSize], int type, ulong size); +VtBlock*vtcacheallocblock(VtCache*, int type, ulong size); +void vtcachesetwrite(VtCache*, + int(*)(VtConn*, uchar[VtScoreSize], uint, uchar*, int)); +void vtblockput(VtBlock*); +int vtblockwrite(VtBlock*); +VtBlock*vtblockcopy(VtBlock*); +void vtblockduplock(VtBlock*); extern int vtcachencopy, vtcachenread, vtcachenwrite; extern int vttracelevel; @@ -434,23 +436,23 @@ extern int vttracelevel; typedef struct VtFile VtFile; struct VtFile { - QLock lk; - int ref; - int local; - VtBlock *b; /* block containing this file */ - uchar score[VtScoreSize]; /* score of block containing this file */ - int bsize; /* size of block */ + QLock lk; + int ref; + int local; + VtBlock *b; /* block containing this file */ + uchar score[VtScoreSize]; /* score of block containing this file */ + int bsize; /* size of block */ /* immutable */ - VtCache *c; - int mode; - u32int gen; - int dsize; - int psize; - int dir; - VtFile *parent; - int epb; /* entries per block in parent */ - u32int offset; /* entry offset in parent */ + VtCache *c; + int mode; + u32int gen; + int dsize; + int psize; + int dir; + VtFile *parent; + int epb; /* entries per block in parent */ + u32int offset; /* entry offset in parent */ }; enum @@ -460,32 +462,32 @@ enum VtORDWR }; -VtFile *vtfileopenroot(VtCache*, VtEntry*); -VtFile *vtfilecreateroot(VtCache*, int psize, int dsize, int type); -VtFile *vtfileopen(VtFile*, u32int, int); -VtFile *vtfilecreate(VtFile*, int psize, int dsize, int dir); -VtFile *_vtfilecreate(VtFile*, int offset, int psize, int dsize, int dir); -VtBlock *vtfileblock(VtFile*, u32int, int mode); -long vtfileread(VtFile*, void*, long, vlong); -long vtfilewrite(VtFile*, void*, long, vlong); -int vtfileflush(VtFile*); -void vtfileincref(VtFile*); -void vtfileclose(VtFile*); -int vtfilegetentry(VtFile*, VtEntry*); -int vtfilesetentry(VtFile*, VtEntry*); -int vtfileblockscore(VtFile*, u32int, uchar[VtScoreSize]); -u32int vtfilegetdirsize(VtFile*); -int vtfilesetdirsize(VtFile*, u32int); +VtBlock*vtfileblock(VtFile*, u32int, int mode); +int vtfileblockscore(VtFile*, u32int, uchar[VtScoreSize]); +void vtfileclose(VtFile*); +VtFile* _vtfilecreate(VtFile*, int offset, int psize, int dsize, int dir); +VtFile* vtfilecreate(VtFile*, int psize, int dsize, int dir); +VtFile* vtfilecreateroot(VtCache*, int psize, int dsize, int type); +int vtfileflush(VtFile*); +int vtfileflushbefore(VtFile*, u64int); +u32int vtfilegetdirsize(VtFile*); +int vtfilegetentry(VtFile*, VtEntry*); +uvlong vtfilegetsize(VtFile*); +void vtfileincref(VtFile*); +int vtfilelock2(VtFile*, VtFile*, int); +int vtfilelock(VtFile*, int); +VtFile* vtfileopen(VtFile*, u32int, int); +VtFile* vtfileopenroot(VtCache*, VtEntry*); +long vtfileread(VtFile*, void*, long, vlong); +int vtfileremove(VtFile*); +int vtfilesetdirsize(VtFile*, u32int); +int vtfilesetentry(VtFile*, VtEntry*); +int vtfilesetsize(VtFile*, u64int); +int vtfiletruncate(VtFile*); void vtfileunlock(VtFile*); -int vtfilelock(VtFile*, int); -int vtfilelock2(VtFile*, VtFile*, int); -int vtfileflushbefore(VtFile*, u64int); -int vtfiletruncate(VtFile*); -uvlong vtfilegetsize(VtFile*); -int vtfilesetsize(VtFile*, u64int); -int vtfileremove(VtFile*); +long vtfilewrite(VtFile*, void*, long, vlong); -extern int vttimefmt(Fmt*); +int vttimefmt(Fmt*); extern int chattyventi; extern int ventidoublechecksha1;