|
|
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.