GadgetSeed  0.9.6
fifo.h
[詳解]
1 /** @file
2  @brief 汎用リングバッファ
3 
4  @date 2017.09.07
5  @date 2002.03.24
6  @author Takashi SHUDO
7 */
8 
9 #ifndef FIFO_H
10 #define FIFO_H
11 
12 struct st_fifo {
13  unsigned char *buf; ///< バッファのポインタ
14  unsigned int size; ///< バッファのサイズ
15  unsigned char *wp; ///< 書き込みデータのポインタ
16  unsigned char *rp; ///< 読み込みデータのポインタ
17 }; ///< 汎用FIFO
18 
19 extern void init_fifo(struct st_fifo *fp, unsigned char *buf, unsigned int size);
20 extern int write_fifo(struct st_fifo *fp, unsigned char *data, unsigned int length);
21 extern int read_fifo(struct st_fifo *fp, unsigned char *data, unsigned int length);
22 extern void clear_fifo(struct st_fifo *fp);
23 extern unsigned int fifo_size(struct st_fifo *fp);
24 extern unsigned int fifo_free_size(struct st_fifo *fp);
25 extern int drop_fifo(struct st_fifo *fp, unsigned int length);
26 
27 #endif // FIFO_H
int drop_fifo(struct st_fifo *fp, unsigned int length)
fifoからデータを捨てる
Definition: fifo.c:149
int read_fifo(struct st_fifo *fp, unsigned char *data, unsigned int length)
fifoからデータを読み出す
Definition: fifo.c:74
汎用FIFO
Definition: fifo.h:12
unsigned int fifo_free_size(struct st_fifo *fp)
fifoに書き込み可能なデータのサイズを返す
Definition: fifo.c:132
unsigned char * wp
書き込みデータのポインタ
Definition: fifo.h:15
unsigned int fifo_size(struct st_fifo *fp)
fifoに書き込まれているデータのサイズを返す
Definition: fifo.c:116
int write_fifo(struct st_fifo *fp, unsigned char *data, unsigned int length)
fifoにデータを書き込む
Definition: fifo.c:37
void clear_fifo(struct st_fifo *fp)
fifoに書き込まれているデータを全て消去する
Definition: fifo.c:103
void init_fifo(struct st_fifo *fp, unsigned char *buf, unsigned int size)
fifoを初期化する
Definition: fifo.c:20
unsigned int size
バッファのサイズ
Definition: fifo.h:14
unsigned char * buf
バッファのポインタ
Definition: fifo.h:13
unsigned char * rp
読み込みデータのポインタ
Definition: fifo.h:16