OpenClovis Logo

Files | Classes | Macros | Typedefs | Enumerations | Functions | Variables
API Reference Pages
Execution Object (EO) Service

Defines, Structures, Typedefs, Functions. More...

Files

file  clEoApi.h
 Header file of EO related APIs.
file  clEoConfigApi.h
 Header file of EO Config Definitions.
file  clEoErrors.h
 Header file of EO related Error Messages.

Classes

struct  ClEoClientObjT
 This structure contains the pointer to the callback functions to be registered with the EO and the client specific data. More...
struct  ClEoConfigT
 This structure is passed during the clEoCreate API and contains the EO related configuration parameters. More...
struct  ClEoExecutionObj
 The Execution Object abstracts the properties of a running OS thread or process. More...
struct  ClEoProtoDefT
 This structure contains a list of the protocols registered with the EO. More...
struct  ClEoSchedFeedBackT
 Feedback sent by the software component being polled in response of heartbeat [is-Alive]. More...
struct  ClEoServiceObj
 This structure is EO Service Object. More...

Macros

#define CL_EO_CLIENT_BIT_SHIFT   6
 Logs base2 of CL_EO_MAX_NO_FUNC.
#define CL_EO_DEFAULT_NAME   "3RD_PARTY_COMP"
 Default name of the Execution Object in case EO doesn't provide any name.
#define CL_EO_DEFAULT_THREADS   1
 Default number of threads required for an EO.
#define CL_EO_ERR_ENQUEUE_MSG   0x109
 Enqueue this message, even though it was originally targeted as non-blocking.
#define CL_EO_ERR_EO_SUSPENDED   0x101
 EO related error codes.
#define CL_EO_ERR_FUNC_NOT_REGISTERED   0x102
 Called EO RMD function is not currently registered.
#define CL_EO_ERR_IMPROPER_STATE   0x107
 EO state can not be set to the provided value.
#define CL_EO_ERR_INVALID_CLIENTID   0x103
 Invalid client ID is passed, as one of the arguments.
#define CL_EO_ERR_INVALID_SERVICEID   0x104
 Invalid service ID is passed, as one of the arguments.
#define CL_EO_ERR_LIB_ID_INVALID   0x105
 The Library ID specified is invalid.
#define CL_EO_ERR_QUEUE_OVERFLOW   0x108
 The Action Queue has overflown.
#define CL_EO_ERR_WATER_MARK_ID_INVALID   0x106
 The Water Mark ID specified is invalid.
#define CL_EO_EVENT_CHANNEL_NAME   "CL_EO_EVENT_CHANNEL_NAME"
 The Event Channel on which the Water Mark Notification is published.
#define CL_EO_FN_MASK   (0x3F)
 Hexadecimal of CL_EO_MAX_NO_FUNC -1.
#define CL_EO_GET_FULL_FN_NUM(cl, fn)
 Defines a mechanism to generate unique RMD function number for the function.
#define CL_EO_MAX_NAME_LEN   32
 Maximum length of the name of the EO.
#define CL_EO_MAX_NO_FUNC   64
 If you change CL_EO_MAX_NO_FUNC, make sure to change CL_EO_CLIENT_BIT_SHIFT CL_EO_FN_MASK.
#define CL_EO_NAME   clEoNameGet()
 Gives the name of the Execution Object.
#define CL_EO_SERVER_COOKIE_BIT_SIZE   8
 EO server Id enum.
#define CL_EO_USER_CLIENT_ID_START   CL_EO_CLOVIS_RESERVED_CLIENTID_END
 You can specify a new clientId greater than CL_EO_USER_CLIENT_ID_START.

Typedefs

typedef ClRcT(* ClEoAppCreateCallbackT )(CL_IN ClUint32T argc, CL_IN char *argv[])
 The application should initialize itself in this function callback.
typedef ClRcT(* ClEoAppDeleteCallbackT )()
 The application performs cleanup in this function callback.
typedef ClRcT(* ClEoAppHealthCheckCallbackT )(CL_OUT ClEoSchedFeedBackT *schFeedback)
 The application checks the health status in this function callback.
typedef ClRcT(* ClEoAppStateChgCallbackT )(CL_IN ClEoStateT state)
 The application should change the state the service it is providing.
typedef ClUint32T ClEoArgT
 EO argument type, this argument will always passed.
typedef ClRcT(* ClEoCallFuncCallbackT )(CL_IN ClEoPayloadWithReplyCallbackT func, CL_IN ClEoDataT eoArg, CL_IN ClBufferHandleT inMsgHdl, CL_OUT ClBufferHandleT outMsgHdl)
 Function Callback definition for the clEoWalk function.
typedef ClRcT(* ClEoCustomActionT )(ClCompIdT compId, ClWaterMarkIdT wmId, ClWaterMarkT *pWaterMark, ClEoWaterMarkFlagT wmType, ClEoActionArgListT argList)
 The application performs custom action in this callback.
typedef ClOsalTaskDataT ClEoDataT
 The type of the EO data.
typedef struct ClEoExecutionObj ClEoExecutionObjT
 The Execution Object abstracts the properties of a running OS thread or process.
typedef ClUint64T ClEoIdT
 The type of the EOId, assigned to an EO as part of registration to the Component Manager.
typedef ClRcT(* ClEoPayloadWithReplyCallbackT )(CL_IN ClEoDataT data, CL_IN ClBufferHandleT inMsgHandle, CL_OUT ClBufferHandleT outMsgHandle)
 RMD with PAYLOAD with REPLY function pointer.
typedef ClRcT(* ClEoProtoCallbackT )(CL_IN ClEoExecutionObjT *pThis, CL_IN ClBufferHandleT eoRecvMsg, CL_IN ClUint8T priority, CL_IN ClUint8T protoType, CL_IN ClUint32T length, CL_IN ClIocPhysicalAddressT srcAddr)
 Callback to handle incoming messages marked with a particular protocol.
typedef struct ClEoServiceObj ClEoServiceObjT
 This structure is EO Service Object.

Enumerations

enum  ClEoApplicationTypeT {
  CL_EO_USE_THREAD_FOR_RECV = CL_TRUE,
  CL_EO_USE_THREAD_FOR_APP = CL_FALSE
}
enum  ClEoClientIdT {
  CL_EO_NATIVE_COMPONENT_TABLE_ID = 0,
  CL_EO_DEFAULT_SERVICE_TABLE_ID,
  CL_EO_EO_MGR_CLIENT_TABLE_ID,
  CL_EO_COR_CLIENT_TABLE_ID,
  CL_EO_EVT_CLIENT_TABLE_ID,
  CL_CPM_MGR_CLIENT_TABLE_ID,
  CL_ALARM_CLIENT_TABLE_ID ,
  CL_GMS_CLIENT_TABLE_ID,
  CL_AMS_MGMT_SERVER_TABLE_ID,
  CL_AMS_MGMT_CLIENT_TABLE_ID,
  CL_LOG_CLIENT_TABLE_ID,
  CL_EO_CKPT_CLIENT_TABLE_ID,
  CL_EO_RMD_CLIENT_TABLE_ID,
  CL_AMS_ENTITY_TRIGGER_TABLE_ID,
  CL_CPM_MGMT_CLIENT_TABLE_ID,
  CL_MSG_CLIENT_TABLE_ID,
  CL_MSG_CLIENT_SERVER_TABLE_ID ,
  CL_EO_CLOVIS_RESERVED_CLIENTID_END
}
enum  ClEoPollingTypeT {
  CL_EO_DONT_POLL = 0,
  CL_EO_BUSY_POLL = 1,
  CL_EO_DEFAULT_POLL = 2
}
enum  ClEOServiceInstallOrderT {
  CL_EO_ADD_TO_FRONT = 0,
  CL_EO_ADD_TO_BACK = 1
}
enum  ClEoStateT {
  CL_EO_STATE_INIT = 0x1,
  CL_EO_STATE_ACTIVE = 0x2,
  CL_EO_STATE_STDBY = 0x4,
  CL_EO_STATE_SUSPEND = 0x8,
  CL_EO_STATE_STOP = 0x10,
  CL_EO_STATE_KILL = 0x20,
  CL_EO_STATE_RESUME = 0x40,
  CL_EO_STATE_FAILED = 0x80,
  CL_EO_STATE_THREAD_SAFE = 0x100,
  CL_EO_STATE_BITS = 9
}
 This is the EO state enumeration. More...

Functions

ClRcT clEoClientDataGet (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T clientId, CL_OUT ClEoDataT *pData)
 Returns the client specific data.
ClRcT clEoClientDataSet (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T clientId, CL_IN ClEoDataT data)
 Stores the client specific data.
ClRcT clEoClientInstall (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T clientId, CL_IN ClEoPayloadWithReplyCallbackT *pFuncs, CL_IN ClEoDataT data, CL_IN ClUint32T nFuncs)
 Installs the function table for a client.
ClRcT clEoClientUninstall (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T clientId)
 Uninstalls the function table for client.
ClRcT clEoMyEoIocPortGet (CL_OUT ClIocPortT *pIocPort)
 Returns EO IocPort from task specific area.
ClRcT clEoMyEoIocPortSet (CL_IN ClIocPortT iocPort)
 Sets the EO thread iocPort.
ClRcT clEoMyEoObjectGet (CL_OUT ClEoExecutionObjT **pEOObj)
 Returns EO Object from task specific area.
ClRcT clEoMyEoObjectSet (CL_IN ClEoExecutionObjT *eoObj)
 Stores EO Object in task specific area.
ClCharT * clEoNameGet (void)
 Gives the name of the EO.
ClRcT clEoPrivateDataGet (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T type, CL_OUT void **data)
 Returns data from EO specific data area.
ClRcT clEoPrivateDataSet (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T type, CL_IN void *pData)
 Stores data in EO specific data area.
ClRcT clEoProgNameGet (ClCharT *pName, ClUint32T maxSize)
 Gives the name of the executable for the EO.
void clEoProtoInstall (ClEoProtoDefT *def)
 Install a protocol handler.
void clEoProtoSwitch (ClEoProtoDefT *def)
 Switch from one handler to another.
void clEoProtoUninstall (ClUint8T id)
 Remove a protocol handler.
ClRcT clEoReceiveStart (CL_IN ClEoExecutionObjT *pThis)
 Starts receiving messages for a thread.
ClRcT clEoServiceInstall (CL_IN ClEoExecutionObjT *pThis, CL_IN ClEoPayloadWithReplyCallbackT pFunction, CL_IN ClUint32T iFuncNum, CL_IN ClEOServiceInstallOrderT order)
 Installs a particular client function.
ClRcT clEoServiceUninstall (CL_IN ClEoExecutionObjT *pThis, CL_IN ClEoPayloadWithReplyCallbackT pFunction, CL_IN ClUint32T iFuncNum)
 Uninstalls a particular client function.
ClRcT clEoServiceValidate (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T func)
 Validates the function registration.
ClRcT clEoWalk (CL_IN ClEoExecutionObjT *pThis, CL_IN ClUint32T func, CL_IN ClEoCallFuncCallbackT pFuncCallout, CL_IN ClBufferHandleT inMsgHdl, CL_OUT ClBufferHandleT outMsgHdl)
 Performs a walk.

Variables

ClCharT ASP_APP_BINDIR [CL_MAX_NAME_LENGTH]
 Dir where application binaries are located.
ClCharT ASP_BINDIR [CL_MAX_NAME_LENGTH]
 Dir where ASP binaries are located.
ClCharT ASP_COMPNAME [CL_MAX_NAME_LENGTH]
 Name of the component.
ClCharT ASP_CONFIG [CL_MAX_NAME_LENGTH]
 Dir where xml config are located.
ClCharT ASP_DBDIR [CL_MAX_NAME_LENGTH]
 Dir where persistent db files are to be stored.
ClCharT ASP_LOGDIR [CL_MAX_NAME_LENGTH]
 Dir where logs are stored.
ClUint32T ASP_NODEADDR
 Address of the node.
ClCharT ASP_NODENAME [CL_MAX_NAME_LENGTH]
 Name of the node.
ClCharT ASP_RUNDIR [CL_MAX_NAME_LENGTH]
 Working dir where programs are run.
ClBoolT ASP_SC_PROMOTE
 Variable to check if the current node is a SC capable node.
ClCharT CL_APP_BINDIR [CL_MAX_NAME_LENGTH]
 Dir where application binaries are located.
ClBoolT SYSTEM_CONTROLLER
 Variable to check if the current node is a system controller node.

Detailed Description

Defines, Structures, Typedefs, Functions.

Macro Definition Documentation

#define CL_EO_ERR_EO_SUSPENDED   0x101

EO related error codes.

EO is currently in suspended state, so will be be able to provide service

#define CL_EO_EVENT_CHANNEL_NAME   "CL_EO_EVENT_CHANNEL_NAME"

The Event Channel on which the Water Mark Notification is published.

Any interested component must open this global channel with the flags defined here and appropriate filters to receive the events.

#define CL_EO_SERVER_COOKIE_BIT_SIZE   8

EO server Id enum.

Server ID is used as a key to save server specific data, that is, server cookie into EO specific data area. Upto 256 cookies can be saved for each server. The cookie key range from XXXX_COOKIE_ID to XXXX_COOKIE_ID+255.

Typedef Documentation

typedef ClRcT(* ClEoAppCreateCallbackT)(CL_IN ClUint32T argc,CL_IN char *argv[])

The application should initialize itself in this function callback.

Implementation of this is mainly dependent on the ClEoApplicationTypeT selected by you.

typedef ClRcT(* ClEoAppStateChgCallbackT)(CL_IN ClEoStateT state)

The application should change the state the service it is providing.

This service can be provided by the following mechanisms:

1. Using EO interface:
It is achieved in EO library [by masking the RMD received calls]. You need not specify anything in this callback.

2. By some other interface:
You must fill in this callout so that it can be called whenever state change is required.
typedef ClRcT(* ClEoCallFuncCallbackT)(CL_IN ClEoPayloadWithReplyCallbackT func, CL_IN ClEoDataT eoArg, CL_IN ClBufferHandleT inMsgHdl, CL_OUT ClBufferHandleT outMsgHdl)

Function Callback definition for the clEoWalk function.

Parameters
funcFunction that implements the RMD.
eoArgArguments that need to be passed.
inMsgHdlRequest packet received including the protocol header.
outMsgHdlData part of response of a protocol [PDU].
Description:
As clEoWalk iterates through all RMD functions, it calls this callback for each one.
typedef ClRcT(* ClEoPayloadWithReplyCallbackT)(CL_IN ClEoDataT data, CL_IN ClBufferHandleT inMsgHandle, CL_OUT ClBufferHandleT outMsgHandle)

RMD with PAYLOAD with REPLY function pointer.

Parameters
dataGiven while invoking clEoClientInstall.
inMsgHandleReceived message over RMD.
outMsgHandleReply message if any.
Description:
This is the generic function prototype definition of all the RMD functions which get installed on the EO client object. In other words, this callback implements the server-side of the RMD call...
typedef ClRcT(* ClEoProtoCallbackT)(CL_IN ClEoExecutionObjT *pThis, CL_IN ClBufferHandleT eoRecvMsg, CL_IN ClUint8T priority, CL_IN ClUint8T protoType, CL_IN ClUint32T length, CL_IN ClIocPhysicalAddressT srcAddr)

Callback to handle incoming messages marked with a particular protocol.

Parameters
pThisHandle of the EO object.
eoRecvMsgHandle of the received message.
priorityIOC message priority.
protoTypeProtocol type. This is supplied so that 1 implementation can be used to handle related protocols.
lengthLength in bytes of the message (eoRecvMsg).
srcAddrIOC address of the sender.
Description:
The EO contains a "standard" IOC server that listens on a well known port for messages. The EO demultiplexes these messages by a protocol ID byte contained in the message and calls the appropriate registered handler for each message. The handler function definitions must match this prototype.
See Also
clEoProtoInstall

Enumeration Type Documentation

Enumerator:
CL_EO_USE_THREAD_FOR_RECV 

Use main thread for RMD message receive.

If you select this, the main thread must not be blocked in the ClEoAppCreateCallbackT and must return immediately. Later, the main thread will be used for RMD message receive.

CL_EO_USE_THREAD_FOR_APP 

Give main thread to user application.

If you select this, the main thread must be blocked in the ClEoAppCreateCallbackT or used by the application and must return only when the finalize ClEoAppDeleteCallbackT is called.

Enumerator:
CL_EO_NATIVE_COMPONENT_TABLE_ID 

This is the service provided by Host EO.

CL_EO_DEFAULT_SERVICE_TABLE_ID 

This value is native EO specific.

CL_EO_EO_MGR_CLIENT_TABLE_ID 

This value is EO Manager specific.

CL_EO_COR_CLIENT_TABLE_ID 

This value is COR specific.

CL_EO_EVT_CLIENT_TABLE_ID 

This value is Event Manager specific.

CL_CPM_MGR_CLIENT_TABLE_ID 

This value is CPM specific.

CL_ALARM_CLIENT_TABLE_ID 

This value is Alarm Manager specific.

CL_GMS_CLIENT_TABLE_ID 

This value is GMS specific.

CL_AMS_MGMT_SERVER_TABLE_ID 

This value AMS Mgmt Server-specific.

CL_AMS_MGMT_CLIENT_TABLE_ID 

This value AMS Mgmt Client-specific.

CL_LOG_CLIENT_TABLE_ID 

This value is specific to Log Client.

CL_EO_CKPT_CLIENT_TABLE_ID 

This value is specific to Ckpt Client.

CL_EO_RMD_CLIENT_TABLE_ID 

This value is specific to RMD Client.

CL_AMS_ENTITY_TRIGGER_TABLE_ID 

This value is specific to AMS metric trigger client.

CL_CPM_MGMT_CLIENT_TABLE_ID 

This value is specific to CPM mgmt.

clients.

CL_MSG_CLIENT_TABLE_ID 

This value is specific to MSG clients.

CL_MSG_CLIENT_SERVER_TABLE_ID 

This value is specific to MSG clients & servers.

CL_EO_CLOVIS_RESERVED_CLIENTID_END 

CLIENT IDs till this value are reserved by Clovis.

Enumerator:
CL_EO_DONT_POLL 

This indicated that the Component Manager will stop heartbeat of an EO if CL_CPM_DONT_POLL is received in the heartbeat response.

CL_EO_BUSY_POLL 

This indicated that the Component Manager will increase heartbeat timeout to maximum polling timeout.

CL_EO_DEFAULT_POLL 

This indicated that the Component Manager will continue with default heartbeat timeout.

Enumerator:
CL_EO_ADD_TO_FRONT 

Adds to the front of the list.

CL_EO_ADD_TO_BACK 

Adds to back of the list.

It is used with clEoServiceValidate.

enum ClEoStateT

This is the EO state enumeration.

Enumerator:
CL_EO_STATE_INIT 

This indicates the initial state of the EO.

CL_EO_STATE_ACTIVE 

This indicates that the EO is in active state.

CL_EO_STATE_STDBY 

This indicates that the EO is in standby state.

CL_EO_STATE_SUSPEND 

This indicates that the EO is in suspended state.

CL_EO_STATE_STOP 

This indicates that the EO is in stopped state.

CL_EO_STATE_KILL 

This indicates that the EO is in killed state.

CL_EO_STATE_RESUME 

This indicates that the state of the EO is resumed from the standby state.

CL_EO_STATE_FAILED 

This indicates that the EO is in failed state.

CL_EO_STATE_THREAD_SAFE 

This indicates that the EO is thread safe.

CL_EO_STATE_BITS 

All states.

Function Documentation

ClRcT clEoClientDataGet ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  clientId,
CL_OUT ClEoDataT pData 
)

Returns the client specific data.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
clientIdId of the client.
pData(out) Client specific data.
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_EO_ERR_INVALID_CLIENTIDOn passing invalid clientId.
Description:
This API is used to retrieve the client specific data.
See Also
clEoClientDataSet()
ClRcT clEoClientDataSet ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  clientId,
CL_IN ClEoDataT  data 
)

Stores the client specific data.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
clientIdId of the client.
dataClient specific data.
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_EO_ERR_INVALID_CLIENTIDOn passing invalid clientId.
Description:
This API is used to store the client-specific data.
See Also
clEoClientDataGet()
ClRcT clEoClientInstall ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  clientId,
CL_IN ClEoPayloadWithReplyCallbackT pFuncs,
CL_IN ClEoDataT  data,
CL_IN ClUint32T  nFuncs 
)

Installs the function table for a client.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
clientIdId of the Client.
pFuncsPointer to the function table.
dataClient specific data.
nFuncsNumber of functions passed that are being installed.
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_EO_NO_MEMORYOn memory allocation failure.
CL_EO_CL_INVALID_CLIENTIDOn passing invalid clientId.
CL_EO_CL_INVALID_SERVICEIDOn passing invalid serviceId.
Description:
This API is called by the client to install its function table with the EO. By calling this API the client is exporting all the APIs which it provides to the users, which the users can invoke through RMD calls.
See Also
clEoClientUninstall()
ClRcT clEoClientUninstall ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  clientId 
)

Uninstalls the function table for client.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
clientIdId of the client.
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_EO_ERR_INVALID_CLIENTIDOn passing invalid clientId.
Description:
This API is called by the client to uninstall its function table with the EO. After calling this API the functions which were previously exported by this client using clEoClientInstall() can no longer be invoked as the RMD calls.
See Also
clEoClientInstall()
ClRcT clEoMyEoIocPortGet ( CL_OUT ClIocPortT pIocPort)

Returns EO IocPort from task specific area.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pIocPort(out) Carries the value to be retrieved.
Return values
CL_OKThe API executed successfully.
CL_ERR_INVALID_STATEIf state is invalid.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
Description:
This API is used to retrieve the EO IocPort stored in the task specific area.
See Also
clEoMyEoIocPortSet()
ClRcT clEoMyEoIocPortSet ( CL_IN ClIocPortT  iocPort)

Sets the EO thread iocPort.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
iocPortCarries the value to be set.
Return values
CL_OKThe API executed successfully.
Description:
This API is used to set the eoId.
See Also
clEoMyEoIocPortGet()
ClRcT clEoMyEoObjectGet ( CL_OUT ClEoExecutionObjT **  pEOObj)

Returns EO Object from task specific area.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pEOObj(out) Carries the value to be retrieved.
Return values
CL_OKThe API executed successfully.
CL_ERR_INVALID_STATEIf state is invalid.
Description:
This API is used to retrieve the EO Object stored in the task specific area.
See Also
clEoMyEoObjectSet()
ClRcT clEoMyEoObjectSet ( CL_IN ClEoExecutionObjT eoObj)

Stores EO Object in task specific area.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pEoObjContains ClEoExecutionObjT* to be stored.
Return values
CL_OKThe API executed successfully.
Description:
This API is used to store the EO Object in task specific area.
See Also
clEoMyEoObjectGet()
ClRcT clEoPrivateDataGet ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  type,
CL_OUT void **  data 
)

Returns data from EO specific data area.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
typeUser specified key.
data(out) EO specific data.
Return values:
CL_ERR_NULL_POINTER: On passing a NULL pointer.
Also returns the result of clCntNodeUserDataGet.
Description:
This API is used to retrieve data stored in EO specific data area.
See Also
clEoMyEoIocPortSet()
ClRcT clEoPrivateDataSet ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  type,
CL_IN void *  pData 
)

Stores data in EO specific data area.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
typeUser specified key.
pDataEO specific data.
Return values:
CL_ERR_NULL_POINTER: On passing a NULL pointer.
Also returns the result of clCntNodeAdd.
Description:
This API is used to store data in EO specific data area. For a unique key, there can be only one node.
See Also
clEoPrivateDataGet()
void clEoProtoInstall ( ClEoProtoDefT def)

Install a protocol handler.

Description
Installing 2 different handlers on the same protocol will cause a debugging pause when in debug mode, and overwrite the older handler. Passing an invalid protocol id will cause a debugging pause, and then be installed.
Parameters
defThe protocol definiton – this structure is copied so you may pass a temporary (stack) variable
void clEoProtoSwitch ( ClEoProtoDefT def)

Switch from one handler to another.

Description
This function atomically switches handlers so you can be sure that no packets are lost.
Parameters
defThe protocol definiton – this structure is copied so you may pass a temporary (stack) variable
void clEoProtoUninstall ( ClUint8T  id)

Remove a protocol handler.

Description
It is not necessary to remove handlers before quitting so this function is actually unnecessary.
Parameters
idThe protocol id (the first byte in the message is the protocol identifier).
ClRcT clEoReceiveStart ( CL_IN ClEoExecutionObjT pThis)

Starts receiving messages for a thread.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
Return values:
None
Description:
This API is used to start receiving the message for this thread. After calling this API the EO starts dequeuing the IOC messages whenever they are received and handle them to RMD for processing.
ClRcT clEoServiceInstall ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClEoPayloadWithReplyCallbackT  pFunction,
CL_IN ClUint32T  iFuncNum,
CL_IN ClEOServiceInstallOrderT  order 
)

Installs a particular client function.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
pFunctionFunction pointer to be installed.
iFuncNumFunction number.
orderOrder as whether to add to the front or the back of the table.
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_ERR_NO_MEMORYOn memory allocation failure.
CL_EO_CL_INVALID_SERVICEIDOn passing invalid serviceId.
CL_ERR_INVALID_PARAMETEROn passing invalid parameters.
Description:
This API is used to install a particular client function, identified by iFuncNum in the EO function table. By calling this API, the application is registering a service which it wishes to provide to other components. It can install the new service either to the front or back of the table by specifying the order.
See Also
clEoServiceUninstall()
ClRcT clEoServiceUninstall ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClEoPayloadWithReplyCallbackT  pFunction,
CL_IN ClUint32T  iFuncNum 
)

Uninstalls a particular client function.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
pFunctionFunction pointer to be uninstalled.
iFuncNumFunction number.
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_EO_FUNC_NOT_REGISTEREDOn unregistering a function which is not registered.
CL_EO_CL_INVALID_SERVICEIDOn passing invalid servide ID.
CL_ERR_INVALID_PARAMETEROn passing invalid parameter.
Description:
This API is used to uninstall a particular client function from the EO function table. After calling this API, the service pFunction is no longer available for invoking as an RMD call.
See Also
clEoServiceInstall()
ClRcT clEoServiceValidate ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  func 
)

Validates the function registration.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
funcFunction to be invoked.
Return values
CL_OKThe API executed successfully.
CL_EO_ERR_FUNC_NOT_REGISTEREDIf function is not registered.
CL_EO_ERR_EO_SUSPENDEDIf EO is in a suspended state.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
Description:
This API is used to validate whether the function for which the request is made is registered or not. This API can be used to check whether the service provided by a particular EO is available or not before invoking clEoWalk().
See Also
clEoWalk(), clEoServiceIndexGet()
ClRcT clEoWalk ( CL_IN ClEoExecutionObjT pThis,
CL_IN ClUint32T  func,
CL_IN ClEoCallFuncCallbackT  pFuncCallout,
CL_IN ClBufferHandleT  inMsgHdl,
CL_OUT ClBufferHandleT  outMsgHdl 
)

Performs a walk.

Header File:
clEoApi.h
Library Files:
ClEo
Parameters
pThisHandle of the EO.
funcFunction number to be executed.
pFuncCalloutFunction that will perform the actual execution.
inMsgHdlRequest message received including protocol header.
outMsgHdl(out) Data part of response of a protocol (PDU).
Return values
CL_OKThe API executed successfully.
CL_ERR_NULL_POINTEROn passing a NULL pointer.
CL_EO_ERR_FUNC_NOT_REGISTEREDIf function is not registered.
CL_EO_ERR_EO_SUSPENDEDIf EO is in suspended state.
Description:
This API is used to perform a walk through the EO for a given RMD function number. It calls rmdInvoke for each of the callback functions registered with an EO for that RMD function number.
See Also
clEoServiceValidate()

Variable Documentation

ClCharT ASP_APP_BINDIR[CL_MAX_NAME_LENGTH]

Dir where application binaries are located.

Derived from ASP_BINDIR and argv[0].

ClCharT ASP_BINDIR[CL_MAX_NAME_LENGTH]

Dir where ASP binaries are located.

Loaded from the same-named environment variable.

ClCharT ASP_COMPNAME[CL_MAX_NAME_LENGTH]

Name of the component.

Loaded from the same-named environment variable.

ClCharT ASP_CONFIG[CL_MAX_NAME_LENGTH]

Dir where xml config are located.

Loaded from the same-named environment variable.

ClCharT ASP_DBDIR[CL_MAX_NAME_LENGTH]

Dir where persistent db files are to be stored.

Loaded from the same-named environment variable.

ClCharT ASP_LOGDIR[CL_MAX_NAME_LENGTH]

Dir where logs are stored.

Loaded from the same-named environment variable.

ClUint32T ASP_NODEADDR

Address of the node.

Loaded from the same-named environment variable.

ClCharT ASP_NODENAME[CL_MAX_NAME_LENGTH]

Name of the node.

Loaded from the same-named environment variable.

ClCharT ASP_RUNDIR[CL_MAX_NAME_LENGTH]

Working dir where programs are run.

Loaded from the same-named environment variable.

ClBoolT ASP_SC_PROMOTE

Variable to check if the current node is a SC capable node.

Loaded from the same-named environment variable.

ClCharT CL_APP_BINDIR[CL_MAX_NAME_LENGTH]

Dir where application binaries are located.

Derived from ASP_BINDIR and argv[0]. Deprecated.

ClBoolT SYSTEM_CONTROLLER

Variable to check if the current node is a system controller node.

Loaded from the same-named environment variable.


Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using Doxygen