📄 buf.h
字号:
/*
* Copyright 2003 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
*
*/
/* "@(#) DSP/BIOS 4.90.270 12-18-03 (barracuda-o04)" */
/*
* ======== buf.h ========
*
*/
#ifndef BUF_
#define BUF_
#include <mem.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct BUF_Obj {
Ptr startaddr; /* Starting address of buffer pool */
MEM_sizep size; /* Original size of buffer before alignment */
MEM_sizep postalignsize; /* Size of buffer after alignment */
Ptr nextfree; /* Pointer to next free buffer */
Uns totalbuffers; /* Total number of buffers in pool*/
Uns freebuffers; /* Number of free buffers in pool */
Int segid; /* Memory Segment for buffer pool */
} BUF_Obj, *BUF_Handle;
typedef struct BUF_Attrs {
Int segid; /* segment for element allocation*/
} BUF_Attrs;
typedef struct BUF_Header {
struct BUF_Header *next; /* Pointer to next buffer header */
Uns watermk; /* Water mark field to indicate if
the buffer has been used */
} BUF_Header;
typedef struct BUF_Stat {
MEM_sizep postalignsize; /* Size of buffer after alignment*/
MEM_sizep size; /* Original size of buffer */
Uns totalbuffers; /* Total buffers in pool */
Uns freebuffers; /* Number of free buffers in pool*/
} BUF_Stat;
#define BUF_ALLOCSTAMP 0xcafe/* Stamp indicates that buffer is allocated
atleast once*/
#define BUF_FREESTAMP 0xbeef /* Stamp indicates that buffer is not
allocated yet */
extern BUF_Attrs BUF_ATTRS; /* Default attributes */
extern BUF_Handle BUF_create(Uns numbuff, MEM_sizep size, Uns align, BUF_Attrs *attrs);
extern Uns BUF_delete(BUF_Handle buf);
extern Ptr BUF_alloc(BUF_Handle buf);
extern Bool BUF_free(BUF_Handle buf, Ptr bufaddr);
extern Void BUF_stat(BUF_Handle buf, BUF_Stat *statbuf);
extern Uns BUF_maxbuff(BUF_Handle buf);
#ifdef __cplusplus
}
#endif /* extern "C" */
#endif /* BUF_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -