NoPaste

fifo.h

von blan

SNIPPET_TEXT:
  1. #include <avr/io.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define FIFO_SUCCESS      0x00
  6. #define FIFO_ERROR       -0x01
  7.  
  8. typedef struct
  9. {
  10.   uint8_t size;
  11. } fragment_t;
  12.  
  13. typedef struct
  14. {
  15.   uint8_t  size;
  16.   int8_t  *data;
  17.   fragment_t fragment;
  18. } fifo_t;
  19.  
  20. fifo_t *fifo_new(uint8_t size, uint8_t fragment);
  21.  
  22. int8_t fifo_push(volatile fifo_t *fifo, const int8_t *data);
  23.  
  24. int8_t fifo_pop(volatile const fifo_t *fifo, int8_t *data);
  25.  
  26. int8_t fifo_flush(volatile fifo_t *fifo);
  27.  
  28. uint8_t fifo_get_size(volatile const fifo_t *fifo);
  29.  
  30. uint8_t fifo_get_fragment_size(volatile const fifo_t *fifo);
  31.  
  32. uint8_t fifo_get_data_size(volatile const fifo_t *fifo);
  33.  
  34. void fifo_destroy(volatile fifo_t *fifo);
  35.  
  36. #endif /* __FIFO_H__ */

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN