link.h
来自「采用UDP协议实现的UNIX/Linux环境下的聊天服务器和客户端程序」· C头文件 代码 · 共 60 行
H
60 行
#ifndef _LINK_H# define _LINK_Htypedef struct link_node{ // data void *data; // attributions int type; // relationship //struct link_node *head; struct link_node *next; struct link_node *prev; void (*destroy_data) (void *); void (*dump_self) (void *);} link_node_t;typedef link_node_t link_t;# if 0struct tree_node{ void *data; struct tree_node *root; struct tree_node *children; struct tree_node *prev_brother;}# endiftypedef enum insert_method{ INSERT_METHOD_BEFORE = 0, INSERT_METHOD_AFTER = 1,} insert_method_t;typedef enum node_type{ NODE_TYPE_UNKNOWN = -1, NODE_TYPE_HEAD = 100, NODE_TYPE_NORMAL = 200, NODE_TYPE_TAIL = 300} node_type_t;link_node_t *link_init(void (*destroy_data_callback) (void *), void (*dump_self_callback) (void *));void link_destroy(link_node_t * head);int link_insert_node(link_node_t * head, link_node_t * ref, link_node_t * p, insert_method_t method);int link_insert_normal_node(link_node_t * head, link_node_t * ref, link_node_t * p, insert_method_t method);int link_delete_node(link_node_t * head, link_node_t * p);link_node_t *create_node(node_type_t t);inline node_type_t get_node_type(link_node_t * p);link_node_t *link_locate_node(link_node_t * head, void *condition);int link_update_node(link_node_t * head, link_node_t * p);void link_dump_nodes(link_node_t * head);#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?