95 lines
2.1 KiB
C
95 lines
2.1 KiB
C
/* pxObjSysCall.h - POSIX system calls */
|
|
|
|
/*
|
|
* Copyright (c) 2003-2006, 2010, 2023 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute, modify or otherwise make use
|
|
* of this software may be licensed only pursuant to the terms
|
|
* of an applicable Wind River license agreement.
|
|
*/
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01f,16sep23,kch Added PX_TIME_T_64 define.
|
|
01e,04may10,jpb Update for LP64 adaptation.
|
|
01d,28apr10,pad Moved extern C statement after include statements.
|
|
01c,11mar06,jln added PX_MQ_HANDLES_COMPARE
|
|
01b,14feb06,yvp Added PX_SEM_HANDLES_COMPARE.
|
|
01a,17nov03,m_s written
|
|
*/
|
|
|
|
#ifndef __INCpxObjSysCallh
|
|
#define __INCpxObjSysCallh
|
|
|
|
/* includes */
|
|
|
|
#include <types/vxWind.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* defines */
|
|
|
|
/*
|
|
* Macro used for indicating an RTP is built after the addition of 64-bit time_t
|
|
* support. The value of the macro is defined such that it uses a bit not used
|
|
* by any of the waiting option enums (PX_WAIT_OPTION).
|
|
*/
|
|
#define PX_TIME_T_64 0x80
|
|
|
|
/* typedefs */
|
|
|
|
/*
|
|
* Object types for pxOpen and pxUnlink system call.
|
|
* Start the enum from 1 since 0 is prone to error.
|
|
*/
|
|
typedef enum
|
|
{
|
|
PX_MQ = 1,
|
|
PX_SEM
|
|
|
|
} PX_OBJ_TYPE;
|
|
|
|
/*
|
|
* Waiting options.
|
|
* Start the enum from 1 since 0 is prone to error.
|
|
*/
|
|
typedef enum
|
|
{
|
|
PX_NO_WAIT = 1,
|
|
PX_WAIT_FOREVER,
|
|
PX_TIMEDWAIT
|
|
|
|
} PX_WAIT_OPTION;
|
|
|
|
/*
|
|
* Command codes for pxCtl system call.
|
|
* Start the enum from 1 since 0 is prone to error.
|
|
*/
|
|
typedef enum
|
|
{
|
|
PX_MQ_NOTIFY = 1,
|
|
PX_MQ_ATTR_GET,
|
|
PX_SEM_GETVALUE,
|
|
PX_SEM_HANDLES_COMPARE_AND_DELETE,
|
|
PX_MQ_HANDLES_COMPARE
|
|
|
|
} PX_CTL_CMD_CODE;
|
|
|
|
/* system call function prototypes */
|
|
|
|
extern OBJ_HANDLE pxOpen (PX_OBJ_TYPE objType, const char * name,
|
|
int objOpenMode, void * attr);
|
|
extern int pxClose (OBJ_HANDLE handle);
|
|
extern int pxUnlink (PX_OBJ_TYPE objType, const char * name);
|
|
extern STATUS pxCtl (OBJ_HANDLE handle, PX_CTL_CMD_CODE cmdCode,
|
|
void * pArgs, size_t * pArgSize);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCpxObjSysCallh */
|