⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buffer.h

📁 嵌入式操作链表的模版,有注释和说明 对需要解决数据链表的朋友可以参考
💻 H
字号:
/********************************************************************************/
/* 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -