util.h 620 B

1234567891011121314151617181920212223242526272829303132
  1. /* until.h by Cecylia Bocovich <cbocovic@uwaterloo.ca>
  2. *
  3. * Wrapper functions and data structures
  4. */
  5. #ifndef _UTIL_H_
  6. #define _UTIL_H_
  7. #include <stddef.h>
  8. #include <stdint.h>
  9. void *emalloc(size_t size);
  10. void *ecalloc(size_t nmemb, size_t size);
  11. //Standard queue data structure
  12. typedef struct element_st {
  13. void *data;
  14. struct element_st *next;
  15. } element;
  16. typedef struct queue_st {
  17. element *first;
  18. element *last;
  19. } queue;
  20. queue *init_queue();
  21. void enqueue(queue *list, void *data);
  22. void *dequeue(queue *list);
  23. void *peek(queue *list, int32_t n);
  24. void remove_queue(queue *list);
  25. #endif /*_UTIL_H_*/