|
|
1.1 ! root 1: /* ! 2: * circbuf.h ! 3: */ ! 4: ! 5: ! 6: /* Structure to manage the circular input buffer. ! 7: */ ! 8: typedef struct circularBuffer_tag ! 9: { ! 10: HANDLE hSelf; /* handle to this structure */ ! 11: HANDLE hBuffer; /* buffer handle */ ! 12: WORD wError; /* error flags */ ! 13: DWORD dwSize; /* buffer size (in EVENTS) */ ! 14: DWORD dwCount; /* byte count (in EVENTS) */ ! 15: LPEVENT lpStart; /* ptr to start of buffer */ ! 16: LPEVENT lpEnd; /* ptr to end of buffer (last byte + 1) */ ! 17: LPEVENT lpHead; /* ptr to head (next location to fill) */ ! 18: LPEVENT lpTail; /* ptr to tail (next location to empty) */ ! 19: } CIRCULARBUFFER; ! 20: typedef CIRCULARBUFFER FAR *LPCIRCULARBUFFER; ! 21: ! 22: ! 23: /* Function prototypes ! 24: */ ! 25: LPCIRCULARBUFFER AllocCircularBuffer(DWORD dwSize); ! 26: void FreeCircularBuffer(LPCIRCULARBUFFER lpBuf); ! 27: WORD FAR PASCAL GetEvent(LPCIRCULARBUFFER lpBuf, LPEVENT lpEvent);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.