79 lines
2.0 KiB
C
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 */
|