1typedef unsigned char UCHAR, *PUCHAR;
2typedef void *HANDLE;
3typedef struct _NCB {
4    UCHAR ncb_reserve[10];
5} NCB, *PNCB;
6struct NBCmdQueue {
7    PNCB head;
8};
9PNCB *NBCmdQueueFindNBC(struct NBCmdQueue *queue, PNCB ncb)
10{
11  PNCB *ret = &queue->head;
12  while (ret && *ret != ncb)
13    ret = (PNCB *)((*ret)->ncb_reserve + sizeof(HANDLE));
14}
15
16