All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
le_messaging.h
Go to the documentation of this file.
1 
800 #ifndef LE_MESSAGING_H_INCLUDE_GUARD
801 #define LE_MESSAGING_H_INCLUDE_GUARD
802 
803 // =======================================
804 // DATA TYPES
805 // =======================================
806 
807 //--------------------------------------------------------------------------------------------------
811 //--------------------------------------------------------------------------------------------------
812 typedef struct le_msg_Protocol* le_msg_ProtocolRef_t;
813 
814 //--------------------------------------------------------------------------------------------------
818 //--------------------------------------------------------------------------------------------------
819 typedef struct le_msg_Service* le_msg_ServiceRef_t;
820 
821 //--------------------------------------------------------------------------------------------------
825 //--------------------------------------------------------------------------------------------------
826 typedef struct le_msg_Session* le_msg_SessionRef_t;
827 
828 //--------------------------------------------------------------------------------------------------
832 //--------------------------------------------------------------------------------------------------
833 typedef struct le_msg_Message* le_msg_MessageRef_t;
834 
835 //--------------------------------------------------------------------------------------------------
839 //--------------------------------------------------------------------------------------------------
840 typedef struct le_msg_SessionEventHandler* le_msg_SessionEventHandlerRef_t;
841 
842 //--------------------------------------------------------------------------------------------------
853 //--------------------------------------------------------------------------------------------------
854 typedef void (* le_msg_SessionEventHandler_t)
855 (
856  le_msg_SessionRef_t sessionRef,
857  void* contextPtr
858 );
859 
860 
861 //--------------------------------------------------------------------------------------------------
872 //--------------------------------------------------------------------------------------------------
873 typedef void (* le_msg_ReceiveHandler_t)
874 (
875  le_msg_MessageRef_t msgRef,
876  void* contextPtr
877 );
878 
879 
880 //--------------------------------------------------------------------------------------------------
892 //--------------------------------------------------------------------------------------------------
893 typedef void (* le_msg_ResponseCallback_t)
894 (
895  le_msg_MessageRef_t msgRef,
896  void* contextPtr
897 );
898 
899 
900 // =======================================
901 // PROTOCOL FUNCTIONS
902 // =======================================
903 
904 //--------------------------------------------------------------------------------------------------
912 //--------------------------------------------------------------------------------------------------
914 (
915  const char* protocolId,
916  size_t largestMsgSize
917 );
918 
919 
920 //--------------------------------------------------------------------------------------------------
926 //--------------------------------------------------------------------------------------------------
927 const char* le_msg_GetProtocolIdStr
928 (
929  le_msg_ProtocolRef_t protocolRef
930 );
931 
932 
933 //--------------------------------------------------------------------------------------------------
939 //--------------------------------------------------------------------------------------------------
941 (
942  le_msg_ProtocolRef_t protocolRef
943 );
944 
945 
946 // =======================================
947 // SESSION FUNCTIONS
948 // =======================================
949 
950 //--------------------------------------------------------------------------------------------------
960 //--------------------------------------------------------------------------------------------------
962 (
963  le_msg_ProtocolRef_t protocolRef,
964  const char* serviceName
965 );
966 
967 
968 //--------------------------------------------------------------------------------------------------
973 //--------------------------------------------------------------------------------------------------
975 (
976  le_msg_SessionRef_t sessionRef,
977 
978  void* contextPtr
979 );
981 
982 //--------------------------------------------------------------------------------------------------
990 //--------------------------------------------------------------------------------------------------
992 (
993  le_msg_SessionRef_t sessionRef
994 );
995 
996 
997 //--------------------------------------------------------------------------------------------------
1006 //--------------------------------------------------------------------------------------------------
1008 (
1009  le_msg_SessionRef_t sessionRef
1010 );
1011 
1012 
1013 //--------------------------------------------------------------------------------------------------
1026 //--------------------------------------------------------------------------------------------------
1028 (
1029  le_msg_SessionRef_t sessionRef,
1030  le_msg_ReceiveHandler_t handlerFunc,
1031  void* contextPtr
1032 );
1033 
1034 
1035 //--------------------------------------------------------------------------------------------------
1052 //--------------------------------------------------------------------------------------------------
1054 (
1055  le_msg_SessionRef_t sessionRef,
1056  le_msg_SessionEventHandler_t handlerFunc,
1057  void* contextPtr
1058 );
1059 
1060 
1061 //--------------------------------------------------------------------------------------------------
1073 //--------------------------------------------------------------------------------------------------
1074 void le_msg_OpenSession
1075 (
1076  le_msg_SessionRef_t sessionRef,
1077  le_msg_SessionEventHandler_t callbackFunc,
1078  void* contextPtr
1080 );
1081 
1082 
1083 //--------------------------------------------------------------------------------------------------
1097 //--------------------------------------------------------------------------------------------------
1099 (
1100  le_msg_SessionRef_t sessionRef
1101 );
1102 
1103 
1104 //--------------------------------------------------------------------------------------------------
1108 //--------------------------------------------------------------------------------------------------
1110 (
1111  le_msg_SessionRef_t sessionRef
1112 );
1113 
1114 
1115 //--------------------------------------------------------------------------------------------------
1121 //--------------------------------------------------------------------------------------------------
1123 (
1124  le_msg_SessionRef_t sessionRef
1125 );
1126 
1127 
1128 //--------------------------------------------------------------------------------------------------
1134 //--------------------------------------------------------------------------------------------------
1136 (
1137  le_msg_SessionRef_t sessionRef
1138 );
1139 
1140 //--------------------------------------------------------------------------------------------------
1149 //--------------------------------------------------------------------------------------------------
1151 (
1152  le_msg_SessionRef_t sessionRef,
1153  uid_t* userIdPtr
1154 );
1155 //--------------------------------------------------------------------------------------------------
1164 //--------------------------------------------------------------------------------------------------
1166 (
1167  le_msg_SessionRef_t sessionRef,
1168  pid_t* processIdPtr
1169 );
1170 
1171 //--------------------------------------------------------------------------------------------------
1180 //--------------------------------------------------------------------------------------------------
1182 (
1183  le_msg_SessionRef_t sessionRef,
1184  uid_t* userIdPtr,
1185  pid_t* processIdPtr
1186 );
1187 
1188 
1189 
1190 // =======================================
1191 // MESSAGE FUNCTIONS
1192 // =======================================
1193 
1194 //--------------------------------------------------------------------------------------------------
1205 //--------------------------------------------------------------------------------------------------
1207 (
1208  le_msg_SessionRef_t sessionRef
1209 );
1210 
1211 
1212 //--------------------------------------------------------------------------------------------------
1216 //--------------------------------------------------------------------------------------------------
1217 void le_msg_AddRef
1218 (
1219  le_msg_MessageRef_t msgRef
1220 );
1221 
1222 
1223 //--------------------------------------------------------------------------------------------------
1228 //--------------------------------------------------------------------------------------------------
1229 void le_msg_ReleaseMsg
1230 (
1231  le_msg_MessageRef_t msgRef
1232 );
1233 
1234 
1235 //--------------------------------------------------------------------------------------------------
1246 //--------------------------------------------------------------------------------------------------
1248 (
1249  le_msg_MessageRef_t msgRef
1250 );
1251 
1252 
1253 //--------------------------------------------------------------------------------------------------
1261 //--------------------------------------------------------------------------------------------------
1263 (
1264  le_msg_MessageRef_t msgRef
1265 );
1266 
1267 
1268 //--------------------------------------------------------------------------------------------------
1274 //--------------------------------------------------------------------------------------------------
1276 (
1277  le_msg_MessageRef_t msgRef
1278 );
1279 
1280 
1281 //--------------------------------------------------------------------------------------------------
1290 //--------------------------------------------------------------------------------------------------
1291 void le_msg_SetFd
1292 (
1293  le_msg_MessageRef_t msgRef,
1294  int fd
1295 );
1296 
1297 
1298 //--------------------------------------------------------------------------------------------------
1305 //--------------------------------------------------------------------------------------------------
1306 int le_msg_GetFd
1307 (
1308  le_msg_MessageRef_t msgRef
1309 );
1310 
1311 
1312 //--------------------------------------------------------------------------------------------------
1316 //--------------------------------------------------------------------------------------------------
1317 void le_msg_Send
1318 (
1319  le_msg_MessageRef_t msgRef
1320 );
1321 
1322 
1323 //--------------------------------------------------------------------------------------------------
1329 //--------------------------------------------------------------------------------------------------
1331 (
1332  le_msg_MessageRef_t msgRef
1333 );
1334 
1335 
1336 //--------------------------------------------------------------------------------------------------
1349 //--------------------------------------------------------------------------------------------------
1351 (
1352  le_msg_MessageRef_t msgRef,
1353  le_msg_ResponseCallback_t handlerFunc,
1354  void* contextPtr
1355 );
1356 
1357 
1358 //--------------------------------------------------------------------------------------------------
1385 //--------------------------------------------------------------------------------------------------
1387 (
1388  le_msg_MessageRef_t msgRef
1389 );
1390 
1391 
1392 //--------------------------------------------------------------------------------------------------
1404 //--------------------------------------------------------------------------------------------------
1405 void le_msg_Respond
1406 (
1407  le_msg_MessageRef_t msgRef
1408 );
1409 
1410 
1411 // =======================================
1412 // SERVICE FUNCTIONS
1413 // =======================================
1414 
1415 //--------------------------------------------------------------------------------------------------
1421 //--------------------------------------------------------------------------------------------------
1423 (
1424  le_msg_ProtocolRef_t protocolRef,
1425  const char* serviceName
1426 );
1427 
1428 
1429 //--------------------------------------------------------------------------------------------------
1435 //--------------------------------------------------------------------------------------------------
1437 (
1438  le_msg_ServiceRef_t serviceRef
1439 );
1440 
1441 //--------------------------------------------------------------------------------------------------
1447 //--------------------------------------------------------------------------------------------------
1449 (
1450  le_msg_ServiceRef_t serviceRef,
1451  le_msg_SessionEventHandler_t handlerFunc,
1452  void* contextPtr
1453 );
1454 
1455 //--------------------------------------------------------------------------------------------------
1462 //--------------------------------------------------------------------------------------------------
1464 (
1465  le_msg_ServiceRef_t serviceRef,
1466  le_msg_SessionEventHandler_t handlerFunc,
1467  void* contextPtr
1468 );
1469 
1470 //--------------------------------------------------------------------------------------------------
1477 //--------------------------------------------------------------------------------------------------
1479 (
1481 );
1483 
1484 //--------------------------------------------------------------------------------------------------
1491 //--------------------------------------------------------------------------------------------------
1493 (
1494  le_msg_ServiceRef_t serviceRef,
1495  le_msg_ReceiveHandler_t handlerFunc,
1496  void* contextPtr
1497 );
1498 
1499 
1500 //--------------------------------------------------------------------------------------------------
1507 //--------------------------------------------------------------------------------------------------
1509 (
1510  le_msg_ServiceRef_t serviceRef,
1511 
1512  void* contextPtr
1513 );
1515 
1516 
1517 //--------------------------------------------------------------------------------------------------
1527 //--------------------------------------------------------------------------------------------------
1529 (
1530  le_msg_ServiceRef_t serviceRef
1531 );
1532 
1533 
1534 //--------------------------------------------------------------------------------------------------
1540 //--------------------------------------------------------------------------------------------------
1542 (
1543  le_msg_ServiceRef_t serviceRef
1544 );
1545 
1546 
1547 //--------------------------------------------------------------------------------------------------
1554 //--------------------------------------------------------------------------------------------------
1555 void le_msg_HideService
1556 (
1557  le_msg_ServiceRef_t serviceRef
1558 );
1559 
1560 //--------------------------------------------------------------------------------------------------
1568 //--------------------------------------------------------------------------------------------------
1569 const char* le_msg_GetServiceName
1570 (
1571  le_msg_ServiceRef_t serviceRef
1572 );
1573 
1574 
1575 //--------------------------------------------------------------------------------------------------
1581 //--------------------------------------------------------------------------------------------------
1583 (
1584  le_msg_ServiceRef_t serviceRef
1585 );
1586 
1587 
1588 //--------------------------------------------------------------------------------------------------
1596 //--------------------------------------------------------------------------------------------------
1598 (
1599  void
1600 );
1601 
1602 
1603 //--------------------------------------------------------------------------------------------------
1610 //--------------------------------------------------------------------------------------------------
1611 #define LE_KILL_CLIENT(formatString, ...) \
1612 { \
1613  le_msg_MessageRef_t msgRef = le_msg_GetServiceRxMsg(); \
1614  LE_FATAL_IF(msgRef == NULL, formatString, ##__VA_ARGS__); \
1615  LE_EMERG(formatString, ##__VA_ARGS__); \
1616  le_msg_CloseSession(le_msg_GetSession(msgRef)); \
1617 }
1618 
1619 #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)
void(* le_msg_SessionEventHandler_t)(le_msg_SessionRef_t sessionRef, void *contextPtr)
Definition: le_messaging.h:855
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_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_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:840
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:826
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:812
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:833
le_msg_ServiceRef_t le_msg_CreateService(le_msg_ProtocolRef_t protocolRef, const char *serviceName)
void(* le_msg_ResponseCallback_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:894
void(* le_msg_ReceiveHandler_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:874
struct le_msg_Service * le_msg_ServiceRef_t
Definition: le_messaging.h:819
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)