home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / unixtools / util / h / stack < prev    next >
Text File  |  1992-07-21  |  888b  |  40 lines

  1. /*      > H.Stack - Stack data type header file */
  2.  
  3. #ifndef __stack_h
  4.  
  5. #define __stack_h
  6.  
  7. struct stack
  8. {
  9.         void *top;      /* pointer to top of stack */
  10.         int obj_size;   /* size of one element */
  11. };
  12.  
  13. typedef struct stack *stack;
  14.  
  15. /* General component routines */
  16.  
  17. stack stk_new (int obj_len);
  18. void stk_free (stack s);
  19. void stk_clear (stack s);
  20. int stk_copy (stack s1, const stack s2);
  21. int stk_equal (const stack s1, const stack s2);
  22. int stk_empty (const stack s);
  23. int stk_size (const stack s);
  24.  
  25. /* Iterator */
  26.  
  27. #define STATUS_CONTINUE 0       /* Continue processing */
  28. #define STATUS_STOP     1       /* Stop processing */
  29. #define STATUS_ERROR    (-1)    /* Error - terminate */
  30.  
  31. int stk_iterate (const stack s, int (*process)(void *));
  32.  
  33. /* Stack-specific routines */
  34.  
  35. int stk_push (stack s, const void *object);
  36. int stk_pop (stack s);
  37. void *stk_top (const stack s);
  38.  
  39. #endif
  40.