📄 vxworks2linux.h
字号:
#define FIOTRUNC 42 /* truncate file to specified length */#define FIOGETFL 43 /* get file mode, like fcntl(F_GETFL) */#define FIOTIMESET 44 /* change times on a file for utime() */#define FIOINODETONAME 45 /* given inode number, return filename*/#define FIOFSTATFSGET 46 /* get file system status info */#define FIOMOVE 47 /* move file, ala mv, (mv not rename) */#ifndef O_RDONLY#define O_RDONLY 0x0000#endif#ifndef OWRONLY#define O_WRONLY 0x0001#endif#ifndef O_RDWR#define O_RDWR 0x0002#endif#ifndef O_NONBLOCK#define O_NONBLOCK 0x0004#endif#ifndef O_APPEND#define O_APPEND 0x0008#endif#ifndef O_CREAT#define O_CREAT 0x0200#endif#ifndef O_TRUNC#define O_TRUNC 0x0400#endif#ifndef O_EXCL#define O_EXCL 0x0800#endiftypedef signed short SWORD;typedef signed int SDWORD;typedef unsigned int DWORD;typedef unsigned short WORD;typedef signed char CHAR;typedef unsigned char BYTE;typedef CHAR * PCHAR;typedef BYTE * PBYTE;typedef WORD * PWORD;typedef DWORD * PDWORD;typedef char INT8;typedef short INT16;typedef int INT32;typedef long long INT64;typedef unsigned char UINT8;typedef unsigned short UINT16;typedef unsigned int UINT32;typedef unsigned long long UINT64;typedef unsigned char UCHAR;typedef unsigned short USHORT;typedef unsigned int UINT;typedef unsigned long ULONG;typedef int BOOL;typedef int STATUS;typedef int ARGINT;typedef void VOID;#ifdef __cplusplustypedef void (*FUNCPTR) (...); /* ptr to function returning int */typedef void (*VOIDFUNCPTR) (...); /* ptr to function returning void */typedef double (*DBLFUNCPTR) (...); /* ptr to function returning double*/typedef float (*FLTFUNCPTR) (...); /* ptr to function returning float */#elsetypedef int (*FUNCPTR) (); /* ptr to function returning int */typedef void (*VOIDFUNCPTR) (); /* ptr to function returning void */typedef double (*DBLFUNCPTR) (); /* ptr to function returning double*/typedef float (*FLTFUNCPTR) (); /* ptr to function returning float */#endif /* _cplusplus */#define MAXSEM 100typedef struct VxSemaphore{ int Used; sem_t Sem;}VXSEMAPHORE;typedef VXSEMAPHORE* SEM_ID; #define MAXTHREADS 100typedef struct VxEvent{ pthread_t nThreadId; sem_t Sem; unsigned int nEvent; int Flag;}VXEVENT;#define MAXWATCHDOG 10typedef struct VxWatchdog{ int Used; int WDStart; FUNCPTR pRoute; int dwDelay; int ElapseDleay; int dwPara;}VXWATCHDOG;typedef struct /* BLK_DEV */{ FUNCPTR bd_blkRd; /* function to read blocks */ FUNCPTR bd_blkWrt; /* function to write blocks */ FUNCPTR bd_ioctl; /* function to ioctl device */ FUNCPTR bd_reset; /* function to reset device */ FUNCPTR bd_statusChk; /* function to check status */ BOOL bd_removable; /* removable medium flag */ ULONG bd_nBlocks; /* number of blocks on device */ ULONG bd_bytesPerBlk; /* number of bytes per block */ ULONG bd_blksPerTrack; /* number of blocks per track */ ULONG bd_nHeads; /* number of heads */ int bd_retry; /* retry count for I/O errors */ int bd_mode; /* O_RDONLY |O_WRONLY| O_RDWR */ BOOL bd_readyChanged; /* dev ready status changed */} BLK_DEV;typedef struct /* DOS_PART_TBL */{ UINT8 dospt_status; /* partition status */ UINT8 dospt_startHead; /* starting head */ short dospt_startSec; /* starting sector/cylinder */ UINT8 dospt_type; /* partition type */ UINT8 dospt_endHead; /* ending head */ short dospt_endSec; /* ending sector/cylinder */ ULONG dospt_absSec; /* starting absolute sector */ ULONG dospt_nSectors; /* number of sectors in part */} _WRS_PACK_ALIGN (2) DOS_PART_TBL; #ifndef EISCONN#define EISCONN 56/*errno.h*/#endiftypedef VXWATCHDOG* WDOG_ID; /****************************************************** 函数名:msgQDelete 功能:删除linux消息队列 引用全局变量: 输入参数说明: 返回值说明:成功返回OK(0), 失败将返回ERROR(-1)*******************************************************/int msgQDelete(int msgQId);/****************************************************** 函数名:msgQCreate 功能:创建linux消息队列 返回值说明:成功返回msgQid, 失败将返回NULL*******************************************************/int msgQCreate( int maxMsgs, /*最大消息个数*/ int maxMsgLength,/*单个消息最大长度*/ int options/*选项,linux未使用*/ );/****************************************************** 函数名:msgQSend 功能:向linux消息队列发送消息 返回值说明:成功返回OK(0), 失败将返回ERROR(-1)*******************************************************/int msgQSend ( int msgQId, /* 队列id */ char * buffer, /* 发送缓冲 */ unsigned int nBytes, /* 缓冲区长度 */ int timeout, /* NO_WAIT(队列满时立即返回), WAIT_FOREVER(队列满时将阻塞,直到队列有空间) */ int option /* 对于linux,该项无效*/ );/****************************************************** 函数名:msgQReceive 功能:从linux消息队列接收消息 返回值说明:成功返回消息大小, 失败将返回ERROR(-1)*******************************************************/int msgQReceive ( int msgQId, /* 队列id */ char * buffer, /* 接收缓冲 */ unsigned int maxNBytes, /* 缓冲区长度 */ int timeout /* NO_WAIT(队列空时立即返回),WAIT_FOREVER(队列空时将阻塞,直到队列不为空) */ );/****************************************************** 函数名:msgQNumMsgs 功能:获取linux消息队列中当前消息个数 返回值说明:成功将返回消息个数, 失败将返回ERROR(-1)*******************************************************/int msgQNumMsgs ( int msgQId /* message queue to examine */ ); SEM_ID semBCreate ( int options, /* semaphore options */ int initialState /* initial semaphore state */ ); SEM_ID semMCreate ( int options /* semaphore options */ ); int semTake(SEM_ID semId,int timeout);int semGive(SEM_ID semId);int semDelete(SEM_ID semId);WDOG_ID wdCreate (void);STATUS wdStart(WDOG_ID wdId,int delay,FUNCPTR pRoutine,int parameter);STATUS wdCancel(WDOG_ID wdId);int taskSpawn(char *name,int priority,int options,int stackSize, FUNCPTR entryPt/*void * (*entryPt)(void *)*/,int arg1,int arg2,int arg3, int arg4,int arg5,int arg6, int arg7,int arg8,int arg9,int arg10); int taskDelete(int tid );int taskDelay(int ticks);int sysClkRateGet (void);STATUS sysClkRateSet( int ticksPerSecond /* number of clock interrupts per second */);int eventReceive( UINT32 events, /* events task is waiting to occur */ UINT8 options, /* user options */ int timeout, /* ticks to wait */ UINT32 * pEventsReceived /* events occured are returned through this */ ); int eventSend(int taskId,unsigned int events);UINT32 tickGet (void);/*quy added 2006-3-1 8:59 !!!*/int errnoGet (void);/*quy added 2006-3-1 8:59 !!!*/#endif#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -