home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / wqueue.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  2KB  |  65 lines

  1.  
  2. //=============================================================================
  3. //  Microsoft (R) Bloodhound (tm). Copyright (C) 1991-1993.
  4. //
  5. //  MODULE: queue.h
  6. //
  7. //  Modification History
  8. //
  9. //  raypa           03/17/93    Created.
  10. //=============================================================================
  11.  
  12. #if !defined(_QUEUE_)
  13. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  14.  
  15. #ifdef __BORLANDC__
  16. #include "wlist.h"
  17. #else
  18. #include "list.h"
  19. #endif
  20.  
  21. #define _QUEUE_
  22. #pragma pack(1)
  23.  
  24. //=============================================================================
  25. //  Macros.
  26. //=============================================================================
  27.  
  28. typedef LIST QUEUE;                         //... Queue is a special list.
  29.  
  30. typedef QUEUE *LPQUEUE;
  31.  
  32. //=============================================================================
  33. //  Macros.
  34. //=============================================================================
  35.  
  36. #ifndef NO_INLINE
  37.  
  38. #define GetQueueHead(Queue)                 ((LPVOID) (((LPQUEUE) (Queue))->Head))
  39.  
  40. #define GetQueueTail(Queue)                 ((LPVOID) (((LPQUEUE) (Queue))->Tail))
  41.  
  42. #define GetQueueLength(Queue)               (((LPQUEUE) (Queue))->Length)
  43.  
  44. #define AddToFrontOfList(List, Link)        AddToList((List), NULL, (Link))
  45.  
  46. #define AddToEndOfList(List, Link)          AddToList((List), (Link), NULL)
  47.  
  48. #define DeleteFromFrontOfList(List)         DeleteFromList((List), GetHeadOfList(List))
  49.  
  50. #define DeleteFromEndOfList(List)           DeleteFromList((List), GetTailOfList(List))
  51.  
  52. #define InitializeQueue(Queue)              InitializeList(Queue)
  53.  
  54. #define Enqueue(Queue, Link)                AddToEndOfList(Queue, Link)
  55.  
  56. #define Requeue(Queue, Link)                AddToFrontOfList(Queue, Link)
  57.  
  58. #define Dequeue(Queue)                      ((LPVOID) DeleteFromFrontOfList(Queue))
  59.  
  60. #endif
  61.  
  62. #pragma pack()
  63. #pragma option pop /*P_O_Pop*/
  64. #endif
  65.