24 #ifndef _CL_IOC_TRANSPORT_API_H_
25 # define _CL_IOC_TRANSPORT_API_H_
39 # define CL_TRANS_STAT_INC(value, incr) ((value) = (value) + (incr))
40 # define CL_IOC_DEF_MAX_ALLOWED_XPORTS (1+4)
43 # define CL_IOC_MAX_XPORT_STRING_LENGTH 127
44 # define CL_IOC_MAX_XPORT_ADDR_SIZE CL_IOC_MAX_XPORT_STRING_LENGTH
45 # define CL_IOC_MAX_XPORT_NAME_LENGTH CL_IOC_MAX_XPORT_STRING_LENGTH
46 # define CL_IOC_MIN_MTU_SIZE 256
49 typedef struct ClIocTransportStats
57 } ClIocTransportStatsT;
59 typedef struct ClIocTransportLinkConfig ClIocTransportLinkConfigT;
63 typedef ClRcT( *ClIocTransportFuncT) ( ClIocTransportLinkConfigT *);
65 typedef ClRcT( *ClIocTransportSendFuncT) (
ClBufferHandleT, ClIocTransportLinkConfigT *, ClUint8T *);
67 typedef ClRcT( *ClIocTransportAddrConvertFuncT) ( ClUint8T * pTransportAddress, ClUint8T * pIocArpAddrBytes);
71 typedef ClRcT( *ClIocGroupJoinFuncT) ( ClUint8T *);
73 typedef ClRcT( *ClIocGroupLeaveFuncT) ( ClUint8T *);
75 typedef ClRcT( *ClIocGroupDeleteFuncT) ( ClUint8T *);
79 struct ClIocTransportLinkConfig
81 ClCharT pXportName[CL_IOC_MAX_XPORT_NAME_LENGTH + 1];
82 ClCharT pXportLinkName[CL_IOC_MAX_XPORT_NAME_LENGTH + 1];
84 ClUint8T isChecksumReqd;
86 ClUint8T isBcastSupported;
87 ClUint8T xportBcastAddress[CL_IOC_MAX_XPORT_ADDR_SIZE + 1];
88 ClUint8T xportAddress[CL_IOC_MAX_XPORT_ADDR_SIZE + 1];
90 ClIocTransportStatsT *pIocXportStats;
91 ClIocCoreFuncT iocCoreRecvRoutine;
93 ClUint8T isRegistered;
94 void *pXportLinkPrivData;
99 typedef struct ClIocTransportConfig
102 ClCharT pXportName[CL_IOC_MAX_XPORT_NAME_LENGTH + 1];
105 ClIocTransportFuncT initRoutine;
106 ClIocTransportSendFuncT sendRoutine;
107 ClIocTransportFuncT closeRoutine;
108 ClIocTransportAddrConvertFuncT addrConvertRoutine;
109 ClIocTransportAddrConvertFuncT addrExtractRoutine;
110 } ClIocTransportConfigT;
113 ClRcT clIocTransportRegister(
CL_IN ClIocTransportConfigT *pXportObjConfig) CL_DEPRECATED;
114 ClRcT clIocTransportDeregister(
CL_IN ClCharT *pXportName) CL_DEPRECATED;
115 ClRcT clIocLinkRegister(
CL_IN ClIocTransportLinkConfigT* pXportLinkConfig) CL_DEPRECATED;
116 ClRcT clIocLinkDeregister(
CL_IN ClCharT *pXportLinkName,
CL_IN ClCharT *pXportName) CL_DEPRECATED;