buffer.h

来自「嵌入式操作链表的模版,有注释和说明 对需要解决数据链表的朋友可以参考」· C头文件 代码 · 共 51 行

H
51
字号
/********************************************************************************/
/* filename: buffer.h                                                           */
/* version : v1.00                                                              */
/* created : hw-chen                                                            */
/********************************************************************************/
#ifndef __BUFFER_H__
#define __BUFFER_H__

#define MAX_BYTES               0x200
#define MAX_BUFF                0x100
#define MEDIA_PKT_NULL          0x01
#define MEDIA_PKT_VOICE         0x02
#define MEDIA_PKT_FAX           0x03
#define MEDIA_PKT_RFC2833       0x04
#define null                    NULL

/********************************************************************************/
/* SWX资源节点                                                                  */
/********************************************************************************/
typedef struct _buffer_node st_buffer_node;
struct _buffer_node
{	st_buffer_node * next;
    st_buffer_node * prev;
    int  sequence;
    int  length;
    int  media_type;
    int  types;
    char buffer[MAX_BYTES];
};
typedef struct _buffer_list st_buffer_list;
struct _buffer_list
{	st_buffer_node * head;
    st_buffer_node * tail;
    int number;
    int nflags;
    unsigned short cur_seq;
};

void buffer_list_initialize(void);
st_buffer_node * get_node_from_pool(void);
void set_node_to_pool(st_buffer_node * node);
void list_add_tail(st_buffer_list * list, st_buffer_node * node);
void list_add_head(st_buffer_list * list, st_buffer_node * node);
void list_add_between(st_buffer_node * prev, st_buffer_node * next, st_buffer_node * node);
st_buffer_node * list_del_head(st_buffer_list * list);
st_buffer_node * list_get_buffer(st_buffer_list * list);
int list_search_sequence(st_buffer_list * list, st_buffer_node * node,st_buffer_node ** prev, st_buffer_node ** next);
int list_add_sequence(st_buffer_list * list, st_buffer_node * node);

#endif

⌨️ 快捷键说明

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