Defines, Structures, Typedefs, Functions. More...
Files | |
file | clIocApi.h |
Header file of Ioc Data Structures and APIs. | |
file | clIocApiExt.h |
Header file of extended APIs supported by IOC. | |
file | clIocConfig.h |
Header file of Ioc Data Structures and APIs. | |
file | clIocErrors.h |
Header file of Ioc Error Codes. | |
file | clIocLogicalAddresses.h |
Header file for defining the logical addresses. | |
file | clIocProtocols.h |
Header file of Ioc Protocols. | |
file | clIocServices.h |
Header file of Reserved Communication Ports. |
Classes | |
union | ClIocAddress |
IOC address. More... | |
struct | ClIocPhysicalAddress |
The IOC Physical address of an application's communication end point. More... | |
struct | ClIocRecvOption |
IOC receive options. More... | |
struct | ClIocRecvParam |
The IOC receive returns this structure along with the message. More... | |
struct | ClIocSendOption |
Send related options. More... | |
struct | ClIocTlInfo |
Transparency layer parameters. More... | |
struct | ClIocTLMappingT |
Data-type for holding the physical address and its state. More... |
Macros | |
#define | CL_IOC_ADDRESS_TYPE_GET(param) ((ClUint32T)((*((ClUint64T*)(param))) >> CL_IOC_ADDRESS_TYPE_SHIFT_DWORD)) |
Macro to determine Type of address. | |
#define | CL_IOC_ALARM_APP_PORT 0x0015 |
Alarm application manager. | |
#define | CL_IOC_ALARM_PORT 0x0011 |
Alarm communication port. | |
#define | CL_IOC_AMF_LOGICAL_ADDRESS (CL_IOC_LOGICAL_ADDRESS_START+CL_IOC_CPM_PORT) |
Logical Address used by AMF. | |
#define | CL_IOC_AMS_PORT 0x0016 |
Availability Management Service. | |
#define | CL_IOC_ASP_PORTS_END (CL_IOC_RESERVED_PORTS - 1) |
The ASP reserved ports end here. | |
#define | CL_IOC_BROADCAST_ADDRESS 0xffffffff |
This address can be used to broadcast a message. | |
#define | CL_IOC_BROADCAST_ADDRESS_TYPE 0xff |
Broadcast address. | |
#define | CL_IOC_CKPT_LOGICAL_ADDRESS (CL_IOC_LOGICAL_ADDRESS_START+CL_IOC_CKPT_PORT) |
Logical Address used by Checkpoint service. | |
#define | CL_IOC_CKPT_PORT 0x000c |
Checkpointing service communication port. | |
#define | CL_IOC_CM_PORT 0x000e |
Chassis Manager communication port. | |
#define | CL_IOC_COR_PORT 0x000d |
COR communication port. | |
#define | CL_IOC_CPM_PORT 0x0001 |
Component Manager communication port. | |
#define | CL_IOC_DEBUG_PORT 0x0012 |
Debug communication port. | |
#define | CL_IOC_DEFAULT_COMMPORT 0x0000 |
Start of valid communication port. | |
#define | CL_IOC_DIAG_PORT 0x0007 |
Diagnostic Service communication port. | |
#define | CL_IOC_DLOCK_PORT 0x000a |
Distributed lock service communication port. | |
#define | CL_IOC_DM_PORT 0x0014 |
Diagnostics Manager. | |
#define | CL_IOC_DSHM_PORT 0x0006 |
Distributed shared memory service communication port. | |
#define | CL_IOC_DYNAMIC_LOGICAL_ADDRESS_END (CL_IOC_LOGICAL_ADDRESS_START + CL_IOC_TOTAL_LOGICAL_ADDRESSES) |
End of Dynamic logical addresses. | |
#define | CL_IOC_DYNAMIC_LOGICAL_ADDRESS_START (CL_IOC_STATIC_LOGICAL_ADDRESS_END+1) |
Start of Dynamic Logical addresses. | |
#define | CL_IOC_EPHEMERAL_PORTS (CL_IOC_MAX_COMPONENTS_PER_NODE - CL_IOC_RESERVED_PORTS - CL_IOC_USER_RESERVED_PORTS) |
This valude represents the maximum number of EPHIMERAL communication ports that can be present on a ASP node. | |
#define | CL_IOC_EPHEMERAL_PORTS_START (CL_IOC_RESERVED_PORTS + CL_IOC_USER_RESERVED_PORTS + 0x00) |
Client communication port range. | |
#define | CL_IOC_ERR_COMMPORT_BLOCKED 0x10e /* 0x5010e */ |
The communications is blocked, performing the requested operation. | |
#define | CL_IOC_ERR_COMMPORT_INVALID_MODE 0x103 /* 0x50103 */ |
Invalid mode of communication port. | |
#define | CL_IOC_ERR_COMMPORT_REG_FAIL 0x101 /* 0x50101 */ |
Registering the communication port with IOC has failed. | |
#define | CL_IOC_ERR_COMP_UNREACHABLE 0x108 /* 0x50108 */ |
The requested component/commport is not reachable. | |
#define | CL_IOC_ERR_FLOW_XOFF_STATE 0x111 /* 0x50111 */ |
Flow control is in XOFF state. | |
#define | CL_IOC_ERR_HOST_UNREACHABLE 0x10d /* 0x5010d */ |
The requested host is not reachable. | |
#define | CL_IOC_ERR_INIT_FAILED 0x100 /* 0x50100 */ |
IOC or Transport is not initialized. | |
#define | CL_IOC_ERR_INVALID_MSG_OPTION 0x113 /* 0x50113 */ |
Invalid type of message passed. | |
#define | CL_IOC_ERR_INVALID_SESSION 0x107 /* 0x50107 */ |
Not a valid session. | |
#define | CL_IOC_ERR_MAX 0x116 /* 0x50116 */ |
IOC maximum of error code. | |
#define | CL_IOC_ERR_NODE_EXISTS 0x115 /* 0x50115 */ |
Node is already registered. | |
#define | CL_IOC_ERR_PROTO_IN_USE_WITH_IOC 0x110 /* 0x50110 */ |
The passed protocol type is IOC internal protocol. | |
#define | CL_IOC_ERR_RECV_UNBLOCKED 0x112 /* 0x50112 */ |
Receive call did not succeed, blocked receive call is unblocked. | |
#define | CL_IOC_ERR_ROUTE_NOT_EXIST 0x10f /* 0x5010f */ |
Route entry does not exist. | |
#define | CL_IOC_ERR_TL_ACTIVE_INST_NOT_PRESENT 0x106 /* 0x50106 */ |
No active instance present. | |
#define | CL_IOC_ERR_TL_DUPLICATE_ENTRY 0x105 /* 0x50105 */ |
Entry already exists. | |
#define | CL_IOC_ERR_TL_LIMIT_EXCEEDED 0x104 /* 0x50104 */ |
No more entries can be added to TL. | |
#define | CL_IOC_ERR_TRY_AGAIN 0x102 /* 0x50102 */ |
The operation could not succeed. | |
#define | CL_IOC_ERR_XPORT_ALREADY_REGISTERED 0x10a /* 0x5010a */ |
Transport is already registered. | |
#define | CL_IOC_ERR_XPORT_LINK_LIMIT_EXCEEDED 0x114 /* 0x50114 */ |
Maximum number of links allowed per transport has already reached. | |
#define | CL_IOC_ERR_XPORT_LINK_NOT_DELETED 0x10c /* 0x5010c */ |
Link couldnot be deleted. | |
#define | CL_IOC_ERR_XPORT_LINK_NOT_REGISTERED 0x10b /* 0x5010b */ |
Link is not registered. | |
#define | CL_IOC_ERR_XPORT_NOT_REGISTERED 0x109 /* 0x50109 */ |
Transport is not registered. | |
#define | CL_IOC_EVENT_PORT 0x0002 |
Event Manager communication port. | |
#define | CL_IOC_FAULT_PORT 0x0008 |
Fault service communication port. | |
#define | CL_IOC_GEO_ADDR_MAX_LENGTH 128 |
The maximum size of the geographical address. | |
#define | CL_IOC_GMS_MCAST_PORT 0x0019 |
Communication Module reserved port. | |
#define | CL_IOC_GMS_PORT 0x0009 |
Group Membersip Service communication port. | |
#define | CL_IOC_GMS_UCAST_PORT 0x0018 |
Communication Module reserved port. | |
#define | CL_IOC_HEADER_VERSION 1 |
The version of IOC. | |
#define | CL_IOC_HPI_PORT 0x000f |
HPI service communication port. | |
#define | CL_IOC_LINK_DOWN 3 |
The link is down. | |
#define | CL_IOC_LINK_UP 2 |
The link is up. | |
#define | CL_IOC_LOG_LOGICAL_ADDRESS (CL_IOC_LOGICAL_ADDRESS_START+CL_IOC_LOG_PORT) |
Logical Address used by Log Service. | |
#define | CL_IOC_LOG_PORT 0x0004 |
Log Service communication port. | |
#define | CL_IOC_LOGICAL_ADDRESS_FORM(compId) CL_IOC_ADDRESS_FORM(CL_IOC_LOGICAL_ADDRESS_TYPE, 0 , compId) |
Macro is used to form logical IOC address. | |
#define | CL_IOC_LOGICAL_ADDRESS_START CL_IOC_LOGICAL_ADDRESS_FORM(0) |
Start of valid Logical Addresses. | |
#define | CL_IOC_LOGICAL_ADDRESS_TYPE 1 |
Logical address type. | |
#define | CL_IOC_MAX_COMP_PORT (CL_IOC_MAX_COMPONENTS_PER_NODE - 1) |
This is the highest communication port address that can be present on a ASP node. | |
#define | CL_IOC_MAX_COMPONENTS_PER_NODE (1024) |
This represents the maximum number of communication ports, which can be opened on a ASP node. | |
#define | CL_IOC_MAX_NODE_ADDRESS (CL_IOC_MAX_NODES-1) |
This is the highest ASP node address, which can be assigned to any ASP node. | |
#define | CL_IOC_MAX_NODES (1024) |
This value represents the total number of ASP nodes present in a System. | |
#define | CL_IOC_MIN_COMP_PORT (1) |
This is the lowest communication port address that can be present on a ASP node. | |
#define | CL_IOC_MIN_NODE_ADDRESS (1) |
This is the lowest ASP node address, which can be assigned to any ASP node. | |
#define | CL_IOC_MSG_PORT 0x0003 |
Trace Service communication port. | |
#define | CL_IOC_MULTICAST_ADDRESS_FORM(addr, compId) CL_IOC_ADDRESS_FORM(CL_IOC_MULTICAST_ADDRESS_TYPE, addr, compId) |
Macro is used to form multicast IOC address. | |
#define | CL_IOC_MULTICAST_ADDRESS_TYPE 2 |
Multicast address type. | |
#define | CL_IOC_NAME_PORT 0x0005 |
Name Service communication port. | |
#define | CL_IOC_NO_SESSION 0 |
No session is maintained if the flag is set to 0 (zero). | |
#define | CL_IOC_NODE_DOWN 0 |
Node is down. | |
#define | CL_IOC_NODE_UP 1 |
Node is up. | |
#define | CL_IOC_PHYSICAL_ADDRESS_TYPE 0 |
Physical address type. | |
#define | CL_IOC_RC(ERROR_CODE) CL_RC(CL_CID_IOC, (ERROR_CODE)) |
Error macro definitions for IOC. | |
#define | CL_IOC_REASSEMBLY_TIMEOUT (5000) /* milliseconds */ |
ASP provides a feature of sending any sized data to another ASP object. | |
#define | CL_IOC_RELIABLE_MESSAGING (1<<0) |
Communication port creation related flags . | |
#define | CL_IOC_RESERVED_ADDRESS 0 |
This address can be used in place of local IOC address. | |
#define | CL_IOC_RESERVED_LOGICAL_ADDRESS_END (CL_IOC_LOGICAL_ADDRESS_START+CL_IOC_RESERVED_LOGICAL_ADDRESSES-1) |
End of Reserved Logical addresses. | |
#define | CL_IOC_RESERVED_LOGICAL_ADDRESSES CL_IOC_RESERVED_PORTS |
Total number of Logcaical Addresses reserved by ASP components. | |
#define | CL_IOC_RESERVED_PORTS (64) |
This value represents the maximum number of ASP communication ports that can be present on a ASP node. | |
#define | CL_IOC_SESSION_BASED (1<<0) |
Flag must be set to enable session based send. | |
#define | CL_IOC_SNMP_PORT 0x0010 |
SNMP communication port. | |
#define | CL_IOC_STATIC_LOGICAL_ADDRESS_END (CL_IOC_RESERVED_LOGICAL_ADDRESS_END+CL_IOC_STATIC_LOGICAL_ADDRESSES) |
End of Static Logical Addressess for ASP Applications. | |
#define | CL_IOC_STATIC_LOGICAL_ADDRESS_START (CL_IOC_RESERVED_LOGICAL_ADDRESS_END+1) |
Start of Static Logical Addressess for ASP Applications. | |
#define | CL_IOC_STATIC_LOGICAL_ADDRESSES (1024) |
Total number of Static Logical Addresses reserved for ASP Applications. | |
#define | CL_IOC_TIMEOUT_FOREVER ~0U |
Infinite timeout. | |
#define | CL_IOC_TL_ACTIVE 0 |
HA state for Registration with Transparency Layer. | |
#define | CL_IOC_TL_STDBY 1 |
HA state for Registration with Transparency Layer. | |
#define | CL_IOC_TOTAL_LOGICAL_ADDRESSES (~0U) |
Total number of Logical addresses in an ASP System. | |
#define | CL_IOC_TXN_PORT 0x000b |
Transaction service communication port. | |
#define | CL_IOC_UM_PORT 0x0013 |
Upgrade Manager. | |
#define | CL_IOC_UNRELIABLE_MESSAGING 0 |
Communication port creation related flags. | |
#define | CL_IOC_USER_APP_WELLKNOWN_PORTS_START (CL_IOC_RESERVED_PORTS + 0x00) |
The ASP applications should add their wellknow server ports here. | |
#define | CL_IOC_USER_RESERVED_PORTS (64) |
This value represents the maximum number of USER communication ports that can be present on a ASP node. | |
#define | CL_IOC_XPORT_PORT 0x0017 |
Communication Module reserved port. |
Typedefs | |
typedef union ClIocAddress | ClIocAddressT |
IOC address. | |
typedef ClUint32T | ClIocCommPortFlagsT |
Port Type. | |
typedef ClWordT | ClIocCommPortHandleT |
The Communication port handle. | |
typedef ClUint64T | ClIocLogicalAddressT |
IOC Logical address. | |
typedef enum ClIocMessageOption | ClIocMessageOptionT |
The send message option. | |
typedef ClUint64T | ClIocMulticastAddressT |
IOC Multicast address. | |
typedef ClUint32T | ClIocNodeAddressT |
The IOC node address. | |
typedef enum ClIocNotificationId | ClIocNotificationIdT |
The port close notification payload. | |
typedef struct ClIocPhysicalAddress | ClIocPhysicalAddressT |
The IOC Physical address of an application's communication end point. | |
typedef ClUint32T | ClIocPortT |
The IOC communication port. | |
typedef struct ClIocRecvOption | ClIocRecvOptionT |
IOC receive options. | |
typedef struct ClIocRecvParam | ClIocRecvParamT |
The IOC receive returns this structure along with the message. | |
typedef struct ClIocSendOption | ClIocSendOptionT |
Send related options. | |
typedef enum ClIocTLContext | ClIocTLContextT |
Transparency layer context. | |
typedef struct ClIocTlInfo | ClIocTLInfoT |
Transparency layer parameters. | |
typedef ClHandleT | ClIocToBindHandleT |
The Transport handle. |
Functions | |
ClRcT | clIocCommPortCreate (CL_IN ClIocPortT portId, CL_IN ClIocCommPortFlagsT portType, CL_OUT ClIocCommPortHandleT *pIocCommPortHdl) |
Creates a communication port. | |
ClRcT | clIocCommPortDelete (CL_IN ClIocCommPortHandleT iocCommPortHdl) |
Deletes the communication port. | |
ClRcT | clIocCommPortFdGet (CL_IN ClIocCommPortHandleT portHandle, CL_INOUT ClInt32T *pSd) |
Gets the socket descriptor used by communication of a CommPort. | |
ClRcT | clIocCommPortGet (CL_IN ClIocCommPortHandleT pIocCommPort, CL_OUT ClIocPortT *pPortId) |
Returns the port Id. | |
ClRcT | clIocCommPortReceiverUnblock (CL_IN ClIocCommPortHandleT commPortHdl) |
Unblocks all receive calls. | |
ClRcT | clIocLibFinalize (void) |
Cleans up the IOC. | |
ClRcT | clIocLibInitialize (ClPtrT pConfig) |
Configures and initializes the IOC. | |
ClIocNodeAddressT | clIocLocalAddressGet (void) |
Returns the local IOC node addrress. | |
ClRcT | clIocMaxPayloadSizeGet (CL_OUT ClUint32T *pSize) |
Returns the maximum payload size. | |
ClRcT | clIocMulticastDeregister (CL_IN ClIocMcastUserInfoT *pMcastInfo) |
De-registers the application against a multicast address with the IOC Multicast Layer. | |
ClRcT | clIocMulticastDeregisterAll (CL_IN ClIocMulticastAddressT *pMcastAddress) |
De-registers the application against a multicast address with the IOC Multicast Layer. | |
ClRcT | clIocMulticastRegister (CL_IN ClIocMcastUserInfoT *pMcastInfo) |
Registers an application against a multicast address with IOC Multicast Layer. | |
ClRcT | clIocNeighborListGet (CL_INOUT ClUint32T *pNumberOfEntries, CL_OUT ClIocNodeAddressT *pAddrList) |
Returns the list of neighbours IOC nodes. | |
ClRcT | clIocPortNotification (CL_IN ClIocPortT port, CL_IN ClIocNotificationActionT action) |
Enables/Disables the notifications form IOC on the port. | |
ClRcT | clIocReceive (CL_IN ClIocCommPortHandleT commPortHdl, CL_IN ClIocRecvOptionT *pRecvOption, CL_OUT ClBufferHandleT userMsg, CL_OUT ClIocRecvParamT *pRecvParam) |
Receives message on communication port. | |
ClRcT | clIocSend (CL_IN ClIocCommPortHandleT commPortHandle, CL_IN ClBufferHandleT message, CL_IN ClUint8T protoType, CL_IN ClIocAddressT *pDestAddr, CL_IN ClIocSendOptionT *pSendOption) |
Sends message on a communication port. | |
ClRcT | clIocTotalNeighborEntryGet (CL_OUT ClUint32T *pNumberOfEntries) |
Returns the total number of neighbour nodes. | |
ClRcT | clIocTransparencyDeregister (CL_IN ClUint32T compId) |
De-registers the application with Transparency Layer. | |
ClRcT | clIocTransparencyRegister (CL_IN ClIocTLInfoT *pTLInfo) |
Registers an application's logical address with Transparency Layer. | |
ClRcT | clIocVersionCheck (CL_IN ClVersionT *pVersion) |
Checks for appropriate version of application. |
Defines, Structures, Typedefs, Functions.
#define CL_IOC_ADDRESS_TYPE_GET | ( | param | ) | ((ClUint32T)((*((ClUint64T*)(param))) >> CL_IOC_ADDRESS_TYPE_SHIFT_DWORD)) |
Macro to determine Type of address.
Pass the address of IOC address as parameter and type is returned.
#define CL_IOC_DEFAULT_COMMPORT 0x0000 |
Start of valid communication port.
Default communication port.
#define CL_IOC_DYNAMIC_LOGICAL_ADDRESS_START (CL_IOC_STATIC_LOGICAL_ADDRESS_END+1) |
Start of Dynamic Logical addresses.
This range of addresses is used only by Name Service to allocate Logical Addresses to applications dynamically.
#define CL_IOC_EPHEMERAL_PORTS (CL_IOC_MAX_COMPONENTS_PER_NODE - CL_IOC_RESERVED_PORTS - CL_IOC_USER_RESERVED_PORTS) |
This valude represents the maximum number of EPHIMERAL communication ports that can be present on a ASP node.
These communication ports cannot be directly used by user application. These are in ASP control and will be assigned to an application, which requests of it.
#define CL_IOC_EPHEMERAL_PORTS_START (CL_IOC_RESERVED_PORTS + CL_IOC_USER_RESERVED_PORTS + 0x00) |
Client communication port range.
Of these ports, IOC assigns the ports to the application if it passes 0, in the communication port create API.
#define CL_IOC_ERR_TRY_AGAIN 0x102 /* 0x50102 */ |
The operation could not succeed.
Can be tried again.
#define CL_IOC_REASSEMBLY_TIMEOUT (5000) /* milliseconds */ |
ASP provides a feature of sending any sized data to another ASP object.
This feature internally does the fragmentation and reassembly of the data. So this timeout mentions the reassembly timeout, within wich the IOC should reassemble the packet and give to the application.
#define CL_IOC_RELIABLE_MESSAGING (1<<0) |
Communication port creation related flags .
If the flag value is set(0th bit should be set), it is reliable messaging.
#define CL_IOC_RESERVED_PORTS (64) |
This value represents the maximum number of ASP communication ports that can be present on a ASP node.
No user application should choose a communication port, which falls into this group. It might get used be ASP in later releases.
#define CL_IOC_TL_ACTIVE 0 |
HA state for Registration with Transparency Layer.
State is Active.
#define CL_IOC_TL_STDBY 1 |
HA state for Registration with Transparency Layer.
State is Standby.
#define CL_IOC_UNRELIABLE_MESSAGING 0 |
Communication port creation related flags.
If the flag value is 0, it is unreliable messaging.
#define CL_IOC_USER_APP_WELLKNOWN_PORTS_START (CL_IOC_RESERVED_PORTS + 0x00) |
The ASP applications should add their wellknow server ports here.
The range for this class of ports is CL_IOC_USER_APP_WELLKNOWN_PORT_START to CL_IOC_USER_APP_WELLKNOWN_PORT_END, both inclusive.
#define CL_IOC_USER_RESERVED_PORTS (64) |
This value represents the maximum number of USER communication ports that can be present on a ASP node.
If the user wants to assign a well know address to his application then the communication port number has to be from this group.
typedef ClUint32T ClIocCommPortFlagsT |
Port Type.
It can be have the following values:
CL_IOC_UNRELIABLE_MESSAGING:
for unreliable messaging CL_IOC_RELIABLE_MESSAGING:
for reliable messaging typedef enum ClIocNotificationId ClIocNotificationIdT |
The port close notification payload.
enum ClIocMessageOption |
enum ClIocNotificationId |
The port close notification payload.
enum ClIocPriorityT |
This defines all the priorities that can be used with IOC.
enum ClIocProtocols |
Reserved Protocol Type.
enum ClIocTLContext |
ClRcT clIocCommPortCreate | ( | CL_IN ClIocPortT | portId, |
CL_IN ClIocCommPortFlagsT | portType, | ||
CL_OUT ClIocCommPortHandleT * | pIocCommPortHdl | ||
) |
Creates a communication port.
portId | Id of the communication port to be created. If portId is 0, then a communication port id is generated by IOC. |
portType | This parameter refers to the type of communication that can be reliable or unreliable. This parameter can have the following two values:
|
pIocCommPortHdl | Handle to the communication port used by applications to send and receive the messages. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized |
CL_ERR_NULL_POINTER | If the pIocCommPortHdl is passed as NULL. |
CL_ERR_NOT_IMPLEMENTED | If portType is not CL_IOC_UNRELIABLE_MESSAGING . |
CL_ERR_INVALID_PARAMETER | If the portId is more than CL_IOC_COMMPORT_END . |
CL_ERR_NOT_EXIST | If 0 is passed as portId and no ephemeral communication port is free. |
CL_IOC_ERR_COMMPORT_REG_FAIL | If communication port registration failed. |
CL_ERR_NO_MEMORY | If the memory allocation or any other resource allocation fails. |
CL_ERR_UNSPECIFIED | In case of other failures. |
ClRcT clIocCommPortDelete | ( | CL_IN ClIocCommPortHandleT | iocCommPortHdl | ) |
Deletes the communication port.
iocCommPortHdl | Handle to communication port to be deleted. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized |
CL_ERR_INVALID_HANDLE | If Invalid communication port handle is passed. |
CL_IOC_ERR_COMMPORT_BLOCKED | If The communication port is blocked. |
ClRcT clIocCommPortFdGet | ( | CL_IN ClIocCommPortHandleT | portHandle, |
CL_INOUT ClInt32T * | pSd | ||
) |
Gets the socket descriptor used by communication of a CommPort.
portHandle | This is the communication port handle, which was returned on creating the commport through clIocCommPortCreate() API. |
pSd | This is pointer to a variable of type ClInt32T in which the socket descriptor for the CommPort will be returned. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized |
CL_ERR_INVALID_HANDLE | If Invalid communication port handle is passed. |
CL_ERR_NULL_POINTER | If the address for holding the socket descriptor is NULL. |
ClRcT clIocCommPortGet | ( | CL_IN ClIocCommPortHandleT | pIocCommPort, |
CL_OUT ClIocPortT * | pPortId | ||
) |
Returns the port Id.
pIocCommPort | Handle to the communication port. |
pPortId | A pointer to the port Id, on successful execution. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized |
CL_ERR_NULL_POINTER | If the pPortId is passed as NULL. |
ClRcT clIocCommPortReceiverUnblock | ( | CL_IN ClIocCommPortHandleT | commPortHdl | ) |
Unblocks all receive calls.
commPortHdl | Handle of the communication port to be unblocked. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized. |
CL_ERR_INVALID_HANDLE | If the communication port handle is invalid. |
CL_IOC_RECV_UNBLOCKED
after this call. The receive on this communication port stops after this call. To start the receive again on the communication port you must call API clIocCommPortBlockRecvSet.ClRcT clIocLibFinalize | ( | void | ) |
Cleans up the IOC.
CL_OK | The API is successfully executed. |
ClRcT clIocLibInitialize | ( | ClPtrT | pConfig | ) |
Configures and initializes the IOC.
CL_OK | The API is successfully executed. |
CL_IOC_ERR_INIT_FAILED | If IOC initialization fails. |
ClIocNodeAddressT clIocLocalAddressGet | ( | void | ) |
Returns the local IOC node addrress.
Returns the maximum payload size.
pSize | The maximum supported payload size is returned in this. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If pSize is NULL. |
De-registers the application against a multicast address with the IOC Multicast Layer.
pMcastInfo | This parameter contains the multicast deregistration information which includes physical address to be de-registered and the multicast address against which the deregistration should happen. |
CL_OK | The function has successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If pMcastInfo is NULL |
CL_ERR_INVALID_PARAMETER | If any of the fields in pMcastInfo is ascertained to be invalid. |
CL_ERR_NOT_EXIST | This physical address was not registered against this multicast address through a previous invocation of clIocMulticastRegister. |
ClRcT clIocMulticastDeregisterAll | ( | CL_IN ClIocMulticastAddressT * | pMcastAddress | ) |
De-registers the application against a multicast address with the IOC Multicast Layer.
pMcastAddress | This parameter contains the multicast deregistration information which includes the multicast address against which the deregistration should happen.All the physical addresses for the given multicast address are deregistered along with the multicast address. |
CL_OK | The function has successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If pMcastInfo is NULL |
CL_ERR_INVALID_PARAMETER | If any of the fields in pMcastInfo is ascertained to be invalid. |
CL_ERR_NOT_EXIST | This multicast address was not registered through a previous invocation of clIocMulticastRegister. |
Registers an application against a multicast address with IOC Multicast Layer.
pMcastInfo | This parameter contains the registration related information, which includes the multicast address and IOC physical address. |
CL_OK | The function has successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If pMcastInfo is NULL |
CL_ERR_INVALID_PARAMETER | If any field of pMcastInfo is not a valid type. |
CL_ERR_NO_MEMORY | IOC could not get enough memory to complete the requested operation. |
CL_ERR_ALREADY_EXIST | The specified mapping already exist. |
ClRcT clIocNeighborListGet | ( | CL_INOUT ClUint32T * | pNumberOfEntries, |
CL_OUT ClIocNodeAddressT * | pAddrList | ||
) |
Returns the list of neighbours IOC nodes.
pNumberOfEntries | (in/out) The number of entries the array can hold is passed by you. IOC will modify this number if it fills less number of entries in the pAddrList ayrray. |
pAddrList | (out) The Array of IOC node address passed by you. The number of entries an array can hold is passed in the other parameter pNumberOfEntries. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If either pNumberOfEntries or pAddrList is NULL. |
CL_ERR_NO_MEMORY | If the memory allocation or any other resource allocation fails. |
ClRcT clIocPortNotification | ( | CL_IN ClIocPortT | port, |
CL_IN ClIocNotificationActionT | action | ||
) |
Enables/Disables the notifications form IOC on the port.
port | Port number for who the notification configuration needs to be modified. |
action | The notification action that needs to performed on the port. execution. |
CL_OK | The API is successfully executed. |
CL_ERR_DOESNT_EXIST | If an invalid port is passed or if the port is not yet created. |
ClRcT clIocReceive | ( | CL_IN ClIocCommPortHandleT | commPortHdl, |
CL_IN ClIocRecvOptionT * | pRecvOption, | ||
CL_OUT ClBufferHandleT | userMsg, | ||
CL_OUT ClIocRecvParamT * | pRecvParam | ||
) |
Receives message on communication port.
commPortHdl | Handle of the given communication port. |
pRecvOption | This structure is used for options like timeout. If NULL, the structure makes use of all the default values. |
userMsg | (out) Handle to the message. This must be created and freed by you once the call returns. After the successfully receving the data, the received data is passed to the message. |
pRecvParam | (out) The parameter related to the message priority, origin of the message, length of the message and protocol is returned here on successful receive. It can not be NULL.
|
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized. |
CL_ERR_INVALID_HANDLE | If Invalid communication port handle is passed. |
CL_ERR_NULL_POINTER | If the pRecvParam is passed as NULL. |
CL_ERR_INVALID_BUFFER | If the message is invalid. |
CL_IOC_ERR_TRY_AGAIN | On failing to receive any message on non-blocking communication port. |
CL_ERR_TIMEOUT | If nothing is received within specified timeout interval. |
CL_IOC_ERR_RECV_UNBLOCKED | If receiver is unblocked. |
CL_ERR_UNSPECIFIED | Other errors. |
CL_IOC_ERR_TRY_AGAIN
error code is returned. To receive data in non-blocking mode, the application has to poll on the communication port checking for data availability.ClRcT clIocSend | ( | CL_IN ClIocCommPortHandleT | commPortHandle, |
CL_IN ClBufferHandleT | message, | ||
CL_IN ClUint8T | protoType, | ||
CL_IN ClIocAddressT * | pDestAddr, | ||
CL_IN ClIocSendOptionT * | pSendOption | ||
) |
Sends message on a communication port.
commPortHandle | Handle to a communication port on which message is to be sent. |
message | The message to be sent across the communication port. The message must be created by you and the data to be sent across is be passed in this message. If the message is persistent, it must be freed by you. |
protoType | The protocol ID must be specified by you. |
pDestAddr | A pointer to the destination address where message need to be sent. |
pSendOption | The options available to send a message. If pSendOption is NULL, the default values are used. |
CL_IOC_SESSION_BASED
A session will be established on sending a message with this parameter set to a logical address. Every subsequent send to the same logical address will end up going to the same physcial address without doing any lookup for physical address of that logical address. In case if the destination component changes its physical location then the send will return with an error and the session will be lost. CL_IOC_NO_SESSION
(default value) Every time the logical address to physical address conversion is done and sent to the physical address. CL_IOC_PERSISTENT_MSG:
For persistant message. These buffer messages will not be deleted on error or in case of successful sending of the message. here the sening application has to delete the buffer message.CL_IOC_NON_PERSISTENT_MSG:
Default value, for non-persistant message. In this case the message will be deleted by IOC.CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If the IOC is not initialized. |
CL_ERR_INVALID_HANDLE | If Invalid communication port handle is passed. |
CL_ERR_NULL_POINTER | If the pDestAddr is passed as NULL. |
CL_ERR_INVALID_BUFFER | If the message is invalid. |
CL_IOC_ERR_PROTO_IN_USE_WITH_IOC | If the protocol id passed is in use by IOC. |
CL_IOC_ERR_INVALID_MSG_OPTION | If the message option passed in the pSendOption is invalid. |
CL_ERR_INVALID_PARAMETER | If the sendType passed in the pSendOption is invalid or the destination address is not of supported type, or the message size is 0. |
CL_ERR_NO_MEMORY | On memory allocation failure. |
CL_ERR_NOT_EXIST | If the logical address is passed and there is no mapping for it in the Transparency Layer. |
CL_IOC_ERR_INVALID_SESSION | If session based communication is requested and the destination is moved to a different location. |
CL_IOC_ERR_FLOW_XOFF_STATE | If the destination has send an XOFF message. |
CL_IOC_ERR_HOST_UNREACHABLE | If the host can not be reached. |
CL_ERR_BUFFER_OVERRUN | If the priority queue has no space left for this message. |
CL_ERR_TIMEOUT | If send operation can not be completed within the specified timeout interval. |
CL_ERR_UNSPECIFIED | Other errors. |
Returns the total number of neighbour nodes.
pNumberOfEntries | (out) Number of neighbor nodes. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If pNumberOfEntries is NULL. |
De-registers the application with Transparency Layer.
compId | Id of the component which wants to deregister all its registration with Transparency Layer. |
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
ClRcT clIocTransparencyRegister | ( | CL_IN ClIocTLInfoT * | pTLInfo | ) |
Registers an application's logical address with Transparency Layer.
pTLInfo | (in/out) This parameter contains the logical address registration related information.
|
CL_OK | The API is successfully executed. |
CL_ERR_NOT_INITIALIZED | If IOC is not initialized. |
CL_ERR_NULL_POINTER | If pTLInfo is NULL |
CL_IOC_ERR_TL_LIMIT_EXCEEDED | If there is no space left in registration database. |
CL_ERR_INVALID_PARAMETER | If context passed in pTLInfo is not a valid type. |
CL_ERR_NO_MEMORY | On memory allocation failure. |
CL_IOC_ERR_TL_DUPLICATE_ENTRY | If the entry already exists. |
ClRcT clIocVersionCheck | ( | CL_IN ClVersionT * | pVersion | ) |
Checks for appropriate version of application.
CL_OK | The API is successfully executed. |