home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / LANGUAGS / C / MFILE.LBR / DEQUEUE.HZ / DEQUEUE.H
Text File  |  2000-06-30  |  896b  |  30 lines

  1. /* dequeue.h
  2.  *    a generalized doubly linked circular list structure
  3.  */
  4.  
  5. /* macro to return last and first dequeue element
  6. (nb: lastnode is least recently used file descriptor in mfile application)
  7. */ 
  8. #define lastNode    (qNode->pNode)
  9. #define firstNode    (qNode->nNode)
  10.  
  11. /* generalized dequeue structure prefix - overlayed on user defined struct */
  12. typedef struct q
  13.     {
  14.     struct q
  15.         *pNode,    /* ptr to prev  node */
  16.         *nNode;    /* ptr to next node */
  17.     int    nodeNum;    /* node number - redundancy/optional */
  18.  
  19.     /* rest of user defined structure resides here */
  20.  
  21.     }
  22.     QUEUE;
  23.  
  24. /* storage for dequeue package */
  25. extern QUEUE    Nodeq;    /* semaphore element - signals start & end of dequeue */
  26. extern QUEUE    *qNode;    /* pointer to element */
  27.  
  28. /* end of dequeue.h */
  29.  
  30.