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

📄 cbiolib.h

📁 VxWorks BSP框架源代码包含头文件和驱动
💻 H
字号:
/* cbioLib.h - cached block I/O device (CBIO) header file *//* Copyright 1999-2002 Wind River Systems, Inc. *//*modification history--------------------01j,21aug01,jkf  SPR#69031, common code for both AE & 5.x.01i,14apr00,jkf  fixed S_cbioLib_INVALID_CBIO_DEV_ID definition01h,29feb00,jkf  T3 changes01g,31aug99,jkf  overhaul for new CBIO API.01f,31jul99,jkf  T2 merge, tidiness & spelling.01e,14oct98,lrn  added includes for required types01d,07sep98,lrn  added prototype for cbioDevVerify 01c,02jul98,lrn  ready for prerelease01b,27apr98,lrn  added implementation dependent structure pointer, stats 01a,15jan98,lrn  written*/#ifndef __INCcbioLibh#define __INCcbioLibh#ifdef __cplusplusextern "C" {#endif/* includes */#include "blkIo.h" 			/* for BLK_DEV type *//*  * typedef's and enums  */typedef	unsigned long block_t ;		/* block number */typedef	unsigned long cookie_t ;	/* opaque cookie */typedef struct cbioDev * CBIO_DEV_ID ;  /* CBIO device handle */typedef enum                            /* CBIO_RW direction enum */        {CBIO_READ, CBIO_WRITE}         /* data transfer direction */        CBIO_RW;typedef struct cbioParams	/* CBIO Device parameters */    {    BOOL	cbioRemovable;	/* removable medium flag */    block_t 	nBlocks;	/* number of blocks on device */    size_t 	bytesPerBlk;	/* number of bytes per block */    size_t	blockOffset;	/* number of blocks from physical 0 */    short	blocksPerTrack;	/* number of blocks per track */    short	nHeads;		/* number of heads */    short	retryCnt;	/* retry count for I/O errors -XXX */    block_t 	lastErrBlk;	/* block # where last error occurred */    int 	lastErrno;	/* error code of last error */    } CBIO_PARAMS;/*  * Cached Block I/O (CBIO) API functions  *//* Library init routine */IMPORT STATUS cbioLibInit    (    void    );/* transfer n blocks from/to memory */IMPORT	STATUS cbioBlkRW		    (    CBIO_DEV_ID		dev,    block_t		startBlock,    block_t		numBlocks,    addr_t		buffer,    CBIO_RW		rw,    cookie_t *		pCookie    );/* transfer n bytes from/to memory */IMPORT STATUS cbioBytesRW		    (    CBIO_DEV_ID 	dev,    block_t		startBlock,    off_t		offset,    addr_t		buffer,    size_t		nBytes,    CBIO_RW		rw,    cookie_t *		pCookie    );/* Copy from block to block */IMPORT STATUS cbioBlkCopy		    (    CBIO_DEV_ID 	dev,    block_t		srcBlock,    block_t		dstBlock,    block_t		numBlocks    );/* I/O control operations */IMPORT STATUS cbioIoctl			    (    CBIO_DEV_ID		dev,    int			command,    addr_t		arg    );/* get mode - O_RDONLY, O_WRONLY, O_RDWR */IMPORT int cbioModeGet      (    CBIO_DEV_ID dev    );/* set mode  - O_RDONLY, O_WRONLY, or O_RDWR */IMPORT STATUS cbioModeSet      (    CBIO_DEV_ID dev,    int mode    );/* determine device ready status */IMPORT int cbioRdyChgdGet     (    CBIO_DEV_ID dev    );/* Force a change in ready status state */IMPORT STATUS cbioRdyChgdSet      (    CBIO_DEV_ID dev,    BOOL status    );/* Obtain exclusive ownership of device */IMPORT STATUS cbioLock      (    CBIO_DEV_ID	dev,    int		timeout	/* max time to pend (semTake) */    );/* Release exclusive ownership of device */IMPORT STATUS cbioUnlock     (    CBIO_DEV_ID	dev    );/* fill CBIO_PARAMS structure */IMPORT STATUS cbioParamsGet		    (    CBIO_DEV_ID dev,    CBIO_PARAMS * pCbioParams		    );/* display cbio information */IMPORT STATUS cbioShow	    (    CBIO_DEV_ID dev    );/* Verify a CBIO device is valid */             IMPORT STATUS cbioDevVerify                         (                                               CBIO_DEV_ID device                              );                                                                                          /* create a CBIO wapper atop a BLK_DEV */       IMPORT CBIO_DEV_ID cbioWrapBlkDev                   (                                               BLK_DEV * pDevice                                );                                          /*  * CBIO I/O control codes for cbioIoctl() */#define	CBIO_RESET		0xcb100000	/* Reset device */#define	CBIO_STATUS_CHK		0xcb100001	/* check device status */#define	CBIO_DEVICE_LOCK	0xcb100002	/* Prevent disk removal */#define	CBIO_DEVICE_UNLOCK	0xcb100003	/* Allow disk removal */#define	CBIO_DEVICE_EJECT	0xcb100004	/* Dismount device */#define	CBIO_CACHE_FLUSH	0xcb100010	/* Flush dirty caches */#define	CBIO_CACHE_INVAL	0xcb100030	/* Flush & Invalidate all */#define	CBIO_CACHE_NEWBLK	0xcb100050	/* Allocate scratch block *//* * cbioLib errno's  */#define S_cbioLib_INVALID_CBIO_DEV_ID	(M_cbioLib | 1)#ifdef __cplusplus}#endif#endif /* __INCcbioLibh */

⌨️ 快捷键说明

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