os_ring.h

来自「arm_bootloader _flash writter &USB」· C头文件 代码 · 共 26 行

H
26
字号
#ifndef __OS_RING_H__
#define __OS_RING_H__

#define RING_BUFFER_SIZE        (16384)     // The buffer size must be power of 2
#define RING_BUFFER_INDEX_MASK  (RING_BUFFER_SIZE - 1)

#define RING_SUCCESS            (0)
#define RING_FAIL               (-1)

typedef struct ring_buf_s
{
    unsigned char buffer[RING_BUFFER_SIZE];
    unsigned int putindex;
    unsigned int getindex;
    unsigned int buffersize;
} ring_buf_t;

int putring(ring_buf_t *ring, unsigned char src[], unsigned int len);
int putring_char(ring_buf_t *ring, unsigned char c);
int getring(ring_buf_t *ring, unsigned char src[], unsigned int len);
int getring_char(ring_buf_t *ring, unsigned char *c);

void ring_flush(ring_buf_t *ring);

#endif // __OS_RING_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?