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

📄 util.h

📁 三星ic 9980的源代码. 718版.
💻 H
字号:
/******************************************************************************
 *   Filename    : Utilities.h
 *   Start       : 2002. 11. 11
 *   By          : Taejin Kwon
 *   Contact     : eric.kwon@samsung.com
 *   Description : 
 ******************************************************************************
 */
#ifndef	_UTIL_H_
#define _UTIL_H_

#define BM_SUCCESS 			0x00000001
#define BM_FAIL 			0x00000000

#define BM_WAIT_RB_AVAIL	 	0x00000001
#define BM_WAIT_WB_AVAIL		0x00000002

#define INVALID_BUFFER_INDEX	0x0FFFFFFF

typedef struct {
	/* 
		common feature for Buffer Manager 
	*/
	ULONG		p_StartAddress;	/* start address of first BE (word aligned) */
	ULONG		p_StopAddress;		/* start address of first BE (word aligned) */

} BufferElement_t;

typedef void (*BM_CALLBACK)(void);

typedef struct {
	/* 
		common feature for Buffer Manager 
	*/
	ULONG		p_StartAddress;	/* start address of first BE (word aligned) */
	ULONG		p_StopAddress;	/* start address of first BE (word aligned) */

	/* sz_TotalBuffer must be (sz_Chunk*n_Chunk)  */
	ULONG		sz_TotalBuffer;		/* size of Total buffer */
	ULONG		sz_Chunk;			/* size of one chunk */	
	ULONG		n_Chunk;		/* number of BufferElement */

	/* 
		current status of Buffer Manager 
	*/
	ULONG		status;
	
	ULONG		cReadIndex;		/* index for current reading chunk */
	ULONG		cWriteIndex;		/* index for current writing chunk */	

	ULONG		sFreeList;		/* index for starting chunk of FreeList*/	
	ULONG		sValid;		/* index for starting chunk of ValidList*/
	
	ULONG		nFree;		/* count for FreeChunks */
	ULONG		nValid;		/* count for ValidChunks */

	BM_CALLBACK ReadBufferAvailCallback;
	BM_CALLBACK WriteBufferAvailCallback;
	
} BufferManager_t;

void InitBufferManager(BufferManager_t *bm, ULONG p, ULONG	n, ULONG	szChunk);
ULONG PutSReadBuffer(BufferManager_t *bm);
	
ULONG GetReadBuffer(BufferManager_t *bm, BufferElement_t *be);
ULONG PutReadBuffer(BufferManager_t *bm);
ULONG GetWriteBuffer(BufferManager_t *bm, BufferElement_t *be);
ULONG PutWriteBuffer(BufferManager_t *bm);
void ResetBufferState(BufferManager_t *bm);
void SetReadAvailCallback(BufferManager_t *bm,  BM_CALLBACK func);
void SetWriteAvailCallback(BufferManager_t *bm,  BM_CALLBACK func);
#endif	/* _UTIL_H_ */

⌨️ 快捷键说明

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