le_messaging.h
Go to the documentation of this file.
1 
786 #ifndef LE_MESSAGING_H_INCLUDE_GUARD
787 #define LE_MESSAGING_H_INCLUDE_GUARD
788 
789 // =======================================
790 // DATA TYPES
791 // =======================================
792 
793 //--------------------------------------------------------------------------------------------------
797 //--------------------------------------------------------------------------------------------------
798 typedef struct le_msg_Protocol* le_msg_ProtocolRef_t;
799 
800 //--------------------------------------------------------------------------------------------------
804 //--------------------------------------------------------------------------------------------------
805 typedef struct le_msg_Service* le_msg_ServiceRef_t;
806 
807 //--------------------------------------------------------------------------------------------------
811 //--------------------------------------------------------------------------------------------------
812 typedef struct le_msg_Session* le_msg_SessionRef_t;
813 
814 //--------------------------------------------------------------------------------------------------
818 //--------------------------------------------------------------------------------------------------
819 typedef struct le_msg_Message* le_msg_MessageRef_t;
820 
821 //--------------------------------------------------------------------------------------------------
825 //--------------------------------------------------------------------------------------------------
826 typedef struct le_msg_SessionEventHandler* le_msg_SessionEventHandlerRef_t;
827 
828 //--------------------------------------------------------------------------------------------------
839 //--------------------------------------------------------------------------------------------------
840 typedef void (* le_msg_SessionEventHandler_t)
841 (
842  le_msg_SessionRef_t sessionRef,
843  void* contextPtr
844 );
845 
846 
847 //--------------------------------------------------------------------------------------------------
858 //--------------------------------------------------------------------------------------------------
859 typedef void (* le_msg_ReceiveHandler_t)
860 (
861  le_msg_MessageRef_t msgRef,
862  void* contextPtr
863 );
864 
865 
866 //--------------------------------------------------------------------------------------------------
878 //--------------------------------------------------------------------------------------------------
879 typedef void (* le_msg_ResponseCallback_t)
880 (
881  le_msg_MessageRef_t msgRef,
882  void* contextPtr
883 );
884 
885 
886 // =======================================
887 // PROTOCOL FUNCTIONS
888 // =======================================
889 
890 //--------------------------------------------------------------------------------------------------
898 //--------------------------------------------------------------------------------------------------
900 (
901  const char* protocolId,
902  size_t largestMsgSize
903 );
904 
905 
906 //--------------------------------------------------------------------------------------------------
912 //--------------------------------------------------------------------------------------------------
913 const char* le_msg_GetProtocolIdStr
914 (
915  le_msg_ProtocolRef_t protocolRef
916 );
917 
918 
919 //--------------------------------------------------------------------------------------------------
925 //--------------------------------------------------------------------------------------------------
927 (
928  le_msg_ProtocolRef_t protocolRef
929 );
930 
931 
932 // =======================================
933 // SESSION FUNCTIONS
934 // =======================================
935 
936 //--------------------------------------------------------------------------------------------------
946 //--------------------------------------------------------------------------------------------------
948 (
949  le_msg_ProtocolRef_t protocolRef,
950  const char* serviceName
951 );
952 
953 
954 //--------------------------------------------------------------------------------------------------
959 //--------------------------------------------------------------------------------------------------
961 (
962  le_msg_SessionRef_t sessionRef,
963 
964  void* contextPtr
965 );
967 
968 //--------------------------------------------------------------------------------------------------
976 //--------------------------------------------------------------------------------------------------
978 (
979  le_msg_SessionRef_t sessionRef
980 );
981 
982 
983 //--------------------------------------------------------------------------------------------------
992 //--------------------------------------------------------------------------------------------------
994 (
995  le_msg_SessionRef_t sessionRef
996 );
997 
998 
999 //--------------------------------------------------------------------------------------------------
1012 //--------------------------------------------------------------------------------------------------
1014 (
1015  le_msg_SessionRef_t sessionRef,
1016  le_msg_ReceiveHandler_t handlerFunc,
1017  void* contextPtr
1018 );
1019 
1020 
1021 //--------------------------------------------------------------------------------------------------
1038 //--------------------------------------------------------------------------------------------------
1040 (
1041  le_msg_SessionRef_t sessionRef,
1042  le_msg_SessionEventHandler_t handlerFunc,
1043  void* contextPtr
1044 );
1045 
1046 
1047 //--------------------------------------------------------------------------------------------------
1059 //--------------------------------------------------------------------------------------------------
1060 void le_msg_OpenSession
1061 (
1062  le_msg_SessionRef_t sessionRef,
1063  le_msg_SessionEventHandler_t callbackFunc,
1064  void* contextPtr
1066 );
1067 
1068 
1069 //--------------------------------------------------------------------------------------------------
1083 //--------------------------------------------------------------------------------------------------
1085 (
1086  le_msg_SessionRef_t sessionRef
1087 );
1088 
1089 
1090 //--------------------------------------------------------------------------------------------------
1094 //--------------------------------------------------------------------------------------------------
1096 (
1097  le_msg_SessionRef_t sessionRef
1098 );
1099 
1100 
1101 //--------------------------------------------------------------------------------------------------
1107 //--------------------------------------------------------------------------------------------------
1109 (
1110  le_msg_SessionRef_t sessionRef
1111 );
1112 
1113 
1114 //--------------------------------------------------------------------------------------------------
1120 //--------------------------------------------------------------------------------------------------
1122 (
1123  le_msg_SessionRef_t sessionRef
1124 );
1125 
1126 //--------------------------------------------------------------------------------------------------
1135 //--------------------------------------------------------------------------------------------------
1137 (
1138  le_msg_SessionRef_t sessionRef,
1139  uid_t* userIdPtr
1140 );
1141 //--------------------------------------------------------------------------------------------------
1150 //--------------------------------------------------------------------------------------------------
1152 (
1153  le_msg_SessionRef_t sessionRef,
1154  pid_t* processIdPtr
1155 );
1156 
1157 //--------------------------------------------------------------------------------------------------
1166 //--------------------------------------------------------------------------------------------------
1168 (
1169  le_msg_SessionRef_t sessionRef,
1170  uid_t* userIdPtr,
1171  pid_t* processIdPtr
1172 );
1173 
1174 
1175 
1176 // =======================================
1177 // MESSAGE FUNCTIONS
1178 // =======================================
1179 
1180 //--------------------------------------------------------------------------------------------------
1191 //--------------------------------------------------------------------------------------------------
1193 (
1194  le_msg_SessionRef_t sessionRef
1195 );
1196 
1197 
1198 //--------------------------------------------------------------------------------------------------
1202 //--------------------------------------------------------------------------------------------------
1203 void le_msg_AddRef
1204 (
1205  le_msg_MessageRef_t msgRef
1206 );
1207 
1208 
1209 //--------------------------------------------------------------------------------------------------
1214 //--------------------------------------------------------------------------------------------------
1215 void le_msg_ReleaseMsg
1216 (
1217  le_msg_MessageRef_t msgRef
1218 );
1219 
1220 
1221 //--------------------------------------------------------------------------------------------------
1232 //--------------------------------------------------------------------------------------------------
1234 (
1235  le_msg_MessageRef_t msgRef
1236 );
1237 
1238 
1239 //--------------------------------------------------------------------------------------------------
1247 //--------------------------------------------------------------------------------------------------
1249 (
1250  le_msg_MessageRef_t msgRef
1251 );
1252 
1253 
1254 //--------------------------------------------------------------------------------------------------
1260 //--------------------------------------------------------------------------------------------------
1262 (
1263  le_msg_MessageRef_t msgRef
1264 );
1265 
1266 
1267 //--------------------------------------------------------------------------------------------------
1276 //--------------------------------------------------------------------------------------------------
1277 void le_msg_SetFd
1278 (
1279  le_msg_MessageRef_t msgRef,
1280  int fd
1281 );
1282 
1283 
1284 //--------------------------------------------------------------------------------------------------
1291 //--------------------------------------------------------------------------------------------------
1292 int le_msg_GetFd
1293 (
1294  le_msg_MessageRef_t msgRef
1295 );
1296 
1297 
1298 //--------------------------------------------------------------------------------------------------
1302 //--------------------------------------------------------------------------------------------------
1303 void le_msg_Send
1304 (
1305  le_msg_MessageRef_t msgRef
1306 );
1307 
1308 
1309 //--------------------------------------------------------------------------------------------------
1315 //--------------------------------------------------------------------------------------------------
1317 (
1318  le_msg_MessageRef_t msgRef
1319 );
1320 
1321 
1322 //--------------------------------------------------------------------------------------------------
1335 //--------------------------------------------------------------------------------------------------
1337 (
1338  le_msg_MessageRef_t msgRef,
1339  le_msg_ResponseCallback_t handlerFunc,
1340  void* contextPtr
1341 );
1342 
1343 
1344 //--------------------------------------------------------------------------------------------------
1371 //--------------------------------------------------------------------------------------------------
1373 (
1374  le_msg_MessageRef_t msgRef
1375 );
1376 
1377 
1378 //--------------------------------------------------------------------------------------------------
1390 //--------------------------------------------------------------------------------------------------
1391 void le_msg_Respond
1392 (
1393  le_msg_MessageRef_t msgRef
1394 );
1395 
1396 
1397 // =======================================
1398 // SERVICE FUNCTIONS
1399 // =======================================
1400 
1401 //--------------------------------------------------------------------------------------------------
1407 //--------------------------------------------------------------------------------------------------
1409 (
1410  le_msg_ProtocolRef_t protocolRef,
1411  const char* serviceName
1412 );
1413 
1414 
1415 //--------------------------------------------------------------------------------------------------
1421 //--------------------------------------------------------------------------------------------------
1423 (
1424  le_msg_ServiceRef_t serviceRef
1425 );
1426 
1427 //--------------------------------------------------------------------------------------------------
1433 //--------------------------------------------------------------------------------------------------
1435 (
1436  le_msg_ServiceRef_t serviceRef,
1437  le_msg_SessionEventHandler_t handlerFunc,
1438  void* contextPtr
1439 );
1440 
1441 //--------------------------------------------------------------------------------------------------
1448 //--------------------------------------------------------------------------------------------------
1450 (
1451  le_msg_ServiceRef_t serviceRef,
1452  le_msg_SessionEventHandler_t handlerFunc,
1453  void* contextPtr
1454 );
1455 
1456 //--------------------------------------------------------------------------------------------------
1463 //--------------------------------------------------------------------------------------------------
1465 (
1467 );
1469 
1470 //--------------------------------------------------------------------------------------------------
1477 //--------------------------------------------------------------------------------------------------
1479 (
1480  le_msg_ServiceRef_t serviceRef,
1481  le_msg_ReceiveHandler_t handlerFunc,
1482  void* contextPtr
1483 );
1484 
1485 
1486 //--------------------------------------------------------------------------------------------------
1493 //--------------------------------------------------------------------------------------------------
1495 (
1496  le_msg_ServiceRef_t serviceRef,
1497 
1498  void* contextPtr
1499 );
1501 
1502 
1503 //--------------------------------------------------------------------------------------------------
1513 //--------------------------------------------------------------------------------------------------
1515 (
1516  le_msg_ServiceRef_t serviceRef
1517 );
1518 
1519 
1520 //--------------------------------------------------------------------------------------------------
1526 //--------------------------------------------------------------------------------------------------
1528 (
1529  le_msg_ServiceRef_t serviceRef
1530 );
1531 
1532 
1533 //--------------------------------------------------------------------------------------------------
1540 //--------------------------------------------------------------------------------------------------
1541 void le_msg_HideService
1542 (
1543  le_msg_ServiceRef_t serviceRef
1544 );
1545 
1546 //--------------------------------------------------------------------------------------------------
1554 //--------------------------------------------------------------------------------------------------
1555 const char* le_msg_GetServiceName
1556 (
1557  le_msg_ServiceRef_t serviceRef
1558 );
1559 
1560 
1561 //--------------------------------------------------------------------------------------------------
1567 //--------------------------------------------------------------------------------------------------
1569 (
1570  le_msg_ServiceRef_t serviceRef
1571 );
1572 
1573 
1574 //--------------------------------------------------------------------------------------------------
1582 //--------------------------------------------------------------------------------------------------
1584 (
1585  void
1586 );
1587 
1588 
1589 //--------------------------------------------------------------------------------------------------
1596 //--------------------------------------------------------------------------------------------------
1597 #define LE_KILL_CLIENT(formatString, ...) \
1598 { \
1599  le_msg_MessageRef_t msgRef = le_msg_GetServiceRxMsg(); \
1600  LE_FATAL_IF(msgRef == NULL, formatString, ##__VA_ARGS__); \
1601  LE_EMERG(formatString, ##__VA_ARGS__); \
1602  le_msg_CloseSession(le_msg_GetSession(msgRef)); \
1603 }
1604 
1605 #endif // LEGATO_MESSAGING_INCLUDE_GUARD
le_msg_MessageRef_t le_msg_GetServiceRxMsg(void)
void le_msg_AddRef(le_msg_MessageRef_t msgRef)
le_msg_ProtocolRef_t le_msg_GetProtocolRef(const char *protocolId, size_t largestMsgSize)
bool le_msg_NeedsResponse(le_msg_MessageRef_t msgRef)
size_t le_msg_GetProtocolMaxMsgSize(le_msg_ProtocolRef_t protocolRef)
void le_msg_ReleaseMsg(le_msg_MessageRef_t msgRef)
le_result_t le_msg_GetClientUserCreds(le_msg_SessionRef_t sessionRef, uid_t *userIdPtr, pid_t *processIdPtr)
le_result_t
Definition: le_basics.h:35
void * le_msg_GetServiceContextPtr(le_msg_ServiceRef_t serviceRef)
le_msg_SessionRef_t le_msg_CreateSession(le_msg_ProtocolRef_t protocolRef, const char *serviceName)
void le_msg_SetServiceRecvHandler(le_msg_ServiceRef_t serviceRef, le_msg_ReceiveHandler_t handlerFunc, void *contextPtr)
void * le_msg_GetSessionContextPtr(le_msg_SessionRef_t sessionRef)
void(* le_msg_SessionEventHandler_t)(le_msg_SessionRef_t sessionRef, void *contextPtr)
Definition: le_messaging.h:841
void le_msg_AdvertiseService(le_msg_ServiceRef_t serviceRef)
void le_msg_DeleteSession(le_msg_SessionRef_t sessionRef)
const char * le_msg_GetProtocolIdStr(le_msg_ProtocolRef_t protocolRef)
void le_msg_SetSessionRecvHandler(le_msg_SessionRef_t sessionRef, le_msg_ReceiveHandler_t handlerFunc, void *contextPtr)
void * le_msg_GetPayloadPtr(le_msg_MessageRef_t msgRef)
size_t le_msg_GetMaxPayloadSize(le_msg_MessageRef_t msgRef)
le_msg_SessionRef_t le_msg_GetSession(le_msg_MessageRef_t msgRef)
void le_msg_SetFd(le_msg_MessageRef_t msgRef, int fd)
void(* le_msg_ReceiveHandler_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:860
void le_msg_Send(le_msg_MessageRef_t msgRef)
le_msg_ServiceRef_t le_msg_GetSessionService(le_msg_SessionRef_t sessionRef)
struct le_msg_SessionEventHandler * le_msg_SessionEventHandlerRef_t
Definition: le_messaging.h:826
void le_msg_CloseSession(le_msg_SessionRef_t sessionRef)
void le_msg_DeleteService(le_msg_ServiceRef_t serviceRef)
le_msg_MessageRef_t le_msg_CreateMsg(le_msg_SessionRef_t sessionRef)
le_msg_SessionEventHandlerRef_t le_msg_AddServiceOpenHandler(le_msg_ServiceRef_t serviceRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
int le_msg_GetFd(le_msg_MessageRef_t msgRef)
struct le_msg_Session * le_msg_SessionRef_t
Definition: le_messaging.h:812
void le_msg_RequestResponse(le_msg_MessageRef_t msgRef, le_msg_ResponseCallback_t handlerFunc, void *contextPtr)
void le_msg_RemoveServiceHandler(le_msg_SessionEventHandlerRef_t handlerRef)
void le_msg_HideService(le_msg_ServiceRef_t serviceRef)
void le_msg_SetSessionContextPtr(le_msg_SessionRef_t sessionRef, void *contextPtr)
const char * le_msg_GetServiceName(le_msg_ServiceRef_t serviceRef)
le_result_t le_msg_GetClientProcessId(le_msg_SessionRef_t sessionRef, pid_t *processIdPtr)
void le_msg_OpenSession(le_msg_SessionRef_t sessionRef, le_msg_SessionEventHandler_t callbackFunc, void *contextPtr)
void le_msg_SetServiceContextPtr(le_msg_ServiceRef_t serviceRef, void *contextPtr)
le_msg_ProtocolRef_t le_msg_GetSessionProtocol(le_msg_SessionRef_t sessionRef)
void le_msg_Respond(le_msg_MessageRef_t msgRef)
struct le_msg_Protocol * le_msg_ProtocolRef_t
Definition: le_messaging.h:798
void(* le_msg_ResponseCallback_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:880
le_result_t le_msg_GetClientUserId(le_msg_SessionRef_t sessionRef, uid_t *userIdPtr)
le_msg_MessageRef_t le_msg_RequestSyncResponse(le_msg_MessageRef_t msgRef)
void le_msg_OpenSessionSync(le_msg_SessionRef_t sessionRef)
struct le_msg_Message * le_msg_MessageRef_t
Definition: le_messaging.h:819
le_msg_ServiceRef_t le_msg_CreateService(le_msg_ProtocolRef_t protocolRef, const char *serviceName)
struct le_msg_Service * le_msg_ServiceRef_t
Definition: le_messaging.h:805
le_msg_ProtocolRef_t le_msg_GetServiceProtocol(le_msg_ServiceRef_t serviceRef)
le_msg_SessionEventHandlerRef_t le_msg_AddServiceCloseHandler(le_msg_ServiceRef_t serviceRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
void le_msg_SetSessionCloseHandler(le_msg_SessionRef_t sessionRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)