111 #include <clIocManagementApi.h>
114 #include <clVersion.h>
118 #include <clRadixTree.h>
156 #define CL_EO_MAX_NO_FUNC 64
174 #define CL_EO_CLIENT_BIT_SHIFT 6
179 #define CL_EO_FN_MASK (0x3F)
181 #define CL_EO_CLIENT_ID_MASK (ClUint32T)(~0U >> CL_EO_CLIENT_BIT_SHIFT)
186 #define CL_EO_GET_FULL_FN_NUM(cl, fn) (((cl) << CL_EO_CLIENT_BIT_SHIFT) | \
243 CL_DEBUG_CLIENT_TABLE_ID,
248 CL_TXN_CLIENT_TABLE_ID,
300 CL_AMS_MGMT_SERVER_TABLE2_ID,
312 #define CL_EO_USER_CLIENT_ID_START CL_EO_CLOVIS_RESERVED_CLIENTID_END
321 #define CL_EO_SERVER_COOKIE_BIT_SIZE 8
323 #define CL_EO_SERVER_COOKIE_BASE(cId) ((cId) << (CL_EO_SERVER_COOKIE_BIT_SIZE))
331 #define CL_EO_EVENT_CHANNEL_NAME "CL_EO_EVENT_CHANNEL_NAME"
332 #define CL_EO_EVENT_SUBSCRIBE_FLAG (CL_EVENT_CHANNEL_SUBSCRIBER | CL_EVENT_GLOBAL_CHANNEL)
333 #define CL_EO_EVENT_DEFAULT_FILTER NULL
357 CL_EO_NATIVE_COMPONENT_COOKIE_BASE
359 CL_EO_EO_MGR_SERVER_COOKIE_ID
361 CL_EO_COR_SERVER_COOKIE_ID
363 CL_EO_EVT_EVENT_DELIVERY_COOKIE_ID
365 CL_EO_DEBUG_OBJECT_COOKIE_ID
366 = CL_EO_SERVER_COOKIE_BASE(CL_DEBUG_CLIENT_TABLE_ID),
367 CL_EO_RMD_CLIENT_COOKIE_ID
390 CL_IN ClEoDataT data,
394 typedef struct ClEoPayloadWithReplyCallbackServer
399 } ClEoPayloadWithReplyCallbackServerT;
401 typedef struct ClEoPayloadWithReplyCallbackClient
405 } ClEoPayloadWithReplyCallbackClientT;
407 typedef struct ClEoPayloadWithReplyCallbackTableClient
410 ClEoPayloadWithReplyCallbackClientT *funTable;
411 ClUint32T funTableSize;
412 } ClEoPayloadWithReplyCallbackTableClientT;
414 typedef struct ClEoPayloadWithReplyCallbackTableServer
417 ClEoPayloadWithReplyCallbackServerT *funTable;
418 ClUint32T funTableSize;
419 } ClEoPayloadWithReplyCallbackTableServerT;
456 #define __CLIENT_RADIX_TREE_INDEX(fun_id, version_code) ( (((fun_id & CL_EO_FN_MASK) << CL_VERSION_SHIFT) ) | ((version_code) & CL_VERSION_MASK) )
459 ClUint32T maxClients;
460 ClRadixTreeHandleT funTable;
464 ClUint32T maxClients;
465 ClRadixTreeHandleT funTable;
617 CL_IN ClEoDataT eoArg,
651 CL_IN ClUint8T priority,
652 CL_IN ClUint8T protoType,
653 CL_IN ClUint32T length,
691 #define EO_CLIENT_SYM(sym) sym##Client
692 #define CL_EO_CLIENT_SYM_MOD(sym, mod) EO_CLIENT_SYM(sym##mod)
693 #define CL_EO_SERVER_SYM_MOD(sym, mod) sym##mod
695 #if defined (__SERVER__)
697 #define CL_EO_CALLBACK_TABLE_DECL(sym) ClEoPayloadWithReplyCallbackServerT VDECL(sym)
698 #define CL_EO_CALLBACK_TABLE_VER_DECL(sym, rel, major, minor) ClEoPayloadWithReplyCallbackServerT VDECL_VER(sym, rel, major, minor)
699 #define CL_EO_CALLBACK_TABLE_LIST_DECL(sym, module) ClEoPayloadWithReplyCallbackTableServerT sym##module
700 #define CL_EO_CALLBACK_TABLE_LIST_DEF(clnt, sym) { \
701 clnt, VDECL(sym), (ClUint32T)sizeof(VDECL(sym))/sizeof(VDECL(sym)[0]) }
702 #define CL_EO_CALLBACK_TABLE_LIST_VER_DEF(clnt, sym, rel, major, minor) { \
703 clnt, VDECL_VER(sym, rel, major, minor), \
704 (ClUint32T)sizeof(VDECL_VER(sym, rel, major, minor))/sizeof(VDECL_VER(sym, rel, major, minor)[0]) }
708 #define CL_EO_CALLBACK_TABLE_DECL(sym) ClEoPayloadWithReplyCallbackClientT VDECL(EO_CLIENT_SYM(sym))
709 #define CL_EO_CALLBACK_TABLE_VER_DECL(sym, rel, major, minor) ClEoPayloadWithReplyCallbackClientT VDECL_VER(EO_CLIENT_SYM(sym), rel, major, minor)
710 #define CL_EO_CALLBACK_TABLE_LIST_DECL(sym, module) ClEoPayloadWithReplyCallbackTableClientT EO_CLIENT_SYM(sym##module)
711 #define CL_EO_CALLBACK_TABLE_LIST_DEF(clnt, sym) { clnt, VDECL(EO_CLIENT_SYM(sym) ), \
712 (ClUint32T)sizeof(VDECL(EO_CLIENT_SYM(sym))) / sizeof(VDECL(EO_CLIENT_SYM(sym))[0]) }
713 #define CL_EO_CALLBACK_TABLE_LIST_VER_DEF(clnt, sym, rel, major, minor) { \
714 clnt, VDECL_VER(EO_CLIENT_SYM(sym), rel, major, minor), \
715 (ClUint32T) sizeof(VDECL_VER(EO_CLIENT_SYM(sym), rel, major, minor)) / sizeof(VDECL_VER(EO_CLIENT_SYM(sym), rel, major, minor)[0]) }
718 #define CL_EO_CALLBACK_TABLE_LIST_DEF_NULL { 0, NULL, 0 }
720 extern ClEoPayloadWithReplyCallbackTableClientT EO_CLIENT_SYM(gAspFuncTable)[];
723 ClEoPayloadWithReplyCallbackTableServerT *table);
726 ClEoPayloadWithReplyCallbackTableServerT *table,
730 ClEoPayloadWithReplyCallbackTableServerT *table);
732 ClBoolT clEoClientTableFilter(
ClIocPortT eoPort, ClUint32T clientID);
734 ClRcT clEoClientTableRegister(ClEoPayloadWithReplyCallbackTableClientT *clientTable,
805 CL_IN ClUint32T func,
810 extern ClRcT clEoWalkWithVersion(
812 CL_IN ClUint32T func,
847 CL_IN ClUint32T func);
884 CL_IN ClUint32T clientId,
886 CL_IN ClEoDataT data,
887 CL_IN ClUint32T nFuncs);
889 extern ClRcT clEoClientInstallTable(
891 CL_IN ClUint32T clientId,
892 CL_IN ClEoDataT data,
893 CL_IN ClEoPayloadWithReplyCallbackServerT *pFuncs,
894 CL_IN ClUint32T nFuncs);
925 CL_IN ClUint32T clientId);
929 ClEoPayloadWithReplyCallbackServerT *pfunTable,
959 CL_IN ClUint32T clientId,
960 CL_IN ClEoDataT data);
990 CL_IN ClUint32T clientId,
1031 CL_IN ClUint32T iFuncNum,
1066 CL_IN ClUint32T iFuncNum);
1097 CL_IN ClUint32T type,
1129 CL_IN ClUint32T type,
1318 extern ClUint8T clEoBasicLibs[];
1320 extern ClUint8T clEoClientLibs[];