Files
m241Neelima/vxworks-6.9/target/h/drv/erf/erfLibP.h
T
2026-07-30 11:19:44 +05:30

79 lines
2.0 KiB
C

/* erfLibP.h - Event Reporting Framework Library Private header */
/*
* Copyright (c) 2005, 2010, 2017 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
--------------------
01c,05dec17,whu Added extern C statement (VXW6-86542)
01b,29jan10,h_k LP64 adaptation.
01a,27jun05,jmt written
*/
/*
DESCRIPTION
This file provides the private definitions for the Event Reporting Framework.
INCLUDE FILES: erfLib.h
*/
#ifndef INCerfLibPh
#define INCerfLibPh
#include "erfLib.h"
#ifdef __cplusplus
extern "C" {
#endif
/* defines */
#define ERF_EVENT_QUEUE_ERROR ((struct erfQueueStruct *)(-1))
/* typedefs */
struct eventHandlerStruct /* Event Handler Info */
{
UINT16 flags; /* processing flags */
erfHandlerPrototype * pHandler; /* handler function */
void * pUserData; /* User Data Pointer */
struct eventHandlerStruct * next; /* next in list */
};
struct erfQueueElementStruct
{
UINT16 eventCat; /* Event Category */
UINT16 eventType; /* Event Type */
void * pEventData; /* Pointer to Event Data */
erfFreePrototype * pFreeFunc; /* Func to free Event Data when done */
};
struct erfQueueStruct
{
UINT16 queueSize; /* number of elements */
UINT16 firstElement; /* index number of first element */
UINT16 firstFreeElement; /* index number of last element */
SEM_ID queueCount; /* Counting semaphore for handling elements */
TASK_ID eventTaskId; /* Event Task ID */
struct erfQueueElementStruct data[1]; /* List of Event Records */
};
/* forward declarations */
UINT16 erfMaxCategoriesGet (void);
UINT16 erfMaxTypesGet (void);
UINT16 erfQueueSizeGet (void);
#ifdef __cplusplus
}
#endif
#endif /* INCerfLibPh */