|
|
1.1 ! root 1: typedef struct _PCBL{ ! 2: struct _PCBL *Pnextp; ! 3: struct _PCBL *Pprevp; ! 4: char *Pbase; /* Pointer to head of character buffer */ ! 5: char *Pptr; /* Pointer to current read position */ ! 6: char *Phiwat; /* Pointer to high water mark for this buffer */ ! 7: int Pcnt; /* Phiwat-Pptr. for speed. */ ! 8: }_PCBL; /* Pad circular buffer list */ ! 9: ! 10: typedef struct _PAD{ ! 11: _PCBL *Pcbl; /* Circular list for this file descriptor */ ! 12: _PCBL *Pcbb; /* base of list so we can free it */ ! 13: int Pfile; /* file descriptor */ ! 14: }PAD; ! 15: ! 16: #define Pgetc(p) (--(p)->Pcbl->Pcnt>=0? *(p)->Pcbl->Pptr++&0377:_Pfilbuf(p)) ! 17: PAD *Pfopen(); ! 18: PAD *Pfdopen();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.