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

📄 databuffer.h

📁 最新的openobex源码
💻 H
字号:
/************************************************************************* * * Filename:      databuffer.h * Version:       0.3 * Description:   Network buffer handling routines. * Status:        Experimental. * Author:        Herton Ronaldo Krzesinski <herton@conectiva.com.br> * Created at:    Tue Jun 21 11:22:44 2005 * Modified at:   Mon Aug 15 19:12:29 2005 * *     Copyright (c) 2005 Herton Ronaldo Krzesinski, All Rights Reserved. * *     This library is free software; you can redistribute it and/or *     modify it under the terms of the GNU Lesser General Public *     License as published by the Free Software Foundation; either *     version 2 of the License, or (at your option) any later version. * *     This library is distributed in the hope that it will be useful, *     but WITHOUT ANY WARRANTY; without even the implied warranty of *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *     Lesser General Public License for more details. * *     You should have received a copy of the GNU Lesser General Public *     License along with this library; if not, write to the Free Software *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, *     MA  02111-1307  USA * *************************************************************************/#ifndef DATABUFFER_H#define DATABUFFER_H#define __need_size_t#include <stddef.h>#include <stdint.h>/* * Implements a single linked list */typedef struct _slist_t {        void *data;        struct _slist_t *next;} slist_t;typedef struct {	uint8_t *buffer; // buffer containing the allocated space	uint8_t *data; // pointer to the location of *buffer where there is valid data	size_t head_avail; // number of allocated space available in front of buffer	size_t data_avail; // allocated space available not specific for head or tail	size_t tail_avail; // number of allocated space available at end of buffer	size_t data_size; // number of allocated space used} buf_t;buf_t *buf_new(size_t default_size);size_t buf_total_size(buf_t *p);void buf_resize(buf_t *p, size_t new_size);buf_t *buf_reuse(buf_t *p);void *buf_reserve_begin(buf_t *p, size_t data_size);void *buf_reserve_end(buf_t *p, size_t data_size);void buf_insert_begin(buf_t *p, uint8_t *data, size_t data_size);void buf_insert_end(buf_t *p, uint8_t *data, size_t data_size);void buf_remove_begin(buf_t *p, size_t data_size);void buf_remove_end(buf_t *p, size_t data_size);void buf_dump(buf_t *p, const char *label);void buf_free(buf_t *p);slist_t *slist_append(slist_t *list, void *element);slist_t *slist_remove(slist_t *list, void *element);#endif

⌨️ 快捷键说明

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