home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / src / gopher / gopher1.01 / object / STstack.h < prev    next >
C/C++ Source or Header  |  1992-04-09  |  684b  |  29 lines

  1. struct g_Stack {
  2.      char **data; /* A pointer to an array of pointers. */
  3.      int  Sptr;   /* Current stack pointer */
  4.      int  Max;    /* Maximum size of the stack */
  5. };
  6.  
  7. typedef struct g_Stack Stack;
  8.  
  9. /*** Access functions ***/
  10.  
  11. #define STgetItem(st,x)  (*(st->data))[x]  /** Does no bound checking! **/
  12. #define STgetMax(st)     (st->Max)
  13. #define STgetPtr(st)     (st->Sptr)
  14.  
  15. /*** Modification functions. ***/
  16. #define STsetItem(st,x,y)   ((*(st->data))[x]=(y))
  17. #define STsetItemptr(st,x)  (st->data=((char*)x))
  18. #define STsetMax(st,x)      (st->Max=(x))
  19. #define STsetPtr(st,x)      (st->Sptr=(x))
  20.  
  21. /*
  22.  * Functions defined in stack.c
  23.  */
  24.  
  25. int STnew();
  26. int STpop();
  27. int STpush();
  28.  
  29.