source: lib/fifo.h @ 2c060e3

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 2c060e3 was 2c060e3, checked in by Daniel Lawson <dlawson@…>, 17 years ago

Initial revision

  • Property mode set to 100644
File size: 1.1 KB
Line 
1// $Id$
2#ifndef _FIFO_H_
3#define _FIFO_H_
4
5struct fifo_t;
6
7typedef struct fifo_state {
8        long long int in;
9        long long int out;
10        long long int ack;
11        long long int length;
12        long long int used;
13} fifo_state_t;
14
15
16struct fifo_t *create_fifo(size_t size);
17void destroy_fifo(struct fifo_t *fifo);
18
19
20void fifo_stat(struct fifo_t *fifo, char *desc, int delta);
21char *fifo_stat_str(struct fifo_t *fifo, char *desc, int delta);
22void fifo_stat_int(struct fifo_t *fifo, fifo_state_t *state);
23
24size_t fifo_out_available(struct fifo_t *fifo);
25size_t fifo_ack_available(struct fifo_t *fifo);
26size_t fifo_free(struct fifo_t *fifo);
27size_t fifo_length(struct fifo_t *fifo);
28
29int fifo_write(struct fifo_t *fifo, void *buffer, size_t len);
30
31int fifo_out_read(struct fifo_t *fifo, void *buffer, size_t len);
32int fifo_ack_read(struct fifo_t *fifo, void *buffer, size_t len);
33int fifo_out_update(struct fifo_t *fifo, size_t len);
34int fifo_ack_update(struct fifo_t *fifo, size_t len);
35
36void fifo_out_reset(struct fifo_t *fifo);
37
38void fifo_flush(struct fifo_t *fifo);
39
40
41
42#endif // _FIFO_H_
Note: See TracBrowser for help on using the repository browser.