All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
le_messaging.h
Go to the documentation of this file.
1 
840 #ifndef LE_MESSAGING_H_INCLUDE_GUARD
841 #define LE_MESSAGING_H_INCLUDE_GUARD
842 
843 // =======================================
844 // DATA TYPES
845 // =======================================
846 
847 //--------------------------------------------------------------------------------------------------
851 //--------------------------------------------------------------------------------------------------
852 typedef struct le_msg_Protocol* le_msg_ProtocolRef_t;
853 
854 //--------------------------------------------------------------------------------------------------
858 //--------------------------------------------------------------------------------------------------
859 typedef struct le_msg_Service* le_msg_ServiceRef_t;
860 
861 //--------------------------------------------------------------------------------------------------
865 //--------------------------------------------------------------------------------------------------
866 typedef struct le_msg_Session* le_msg_SessionRef_t;
867 
868 //--------------------------------------------------------------------------------------------------
872 //--------------------------------------------------------------------------------------------------
873 typedef struct le_msg_Message* le_msg_MessageRef_t;
874 
875 
876 //--------------------------------------------------------------------------------------------------
887 //--------------------------------------------------------------------------------------------------
888 typedef void (* le_msg_SessionEventHandler_t)
889 (
890  le_msg_SessionRef_t sessionRef,
891  void* contextPtr
892 );
893 
894 
895 //--------------------------------------------------------------------------------------------------
906 //--------------------------------------------------------------------------------------------------
907 typedef void (* le_msg_ReceiveHandler_t)
908 (
909  le_msg_MessageRef_t msgRef,
910  void* contextPtr
911 );
912 
913 
914 //--------------------------------------------------------------------------------------------------
926 //--------------------------------------------------------------------------------------------------
927 typedef void (* le_msg_ResponseCallback_t)
928 (
929  le_msg_MessageRef_t msgRef,
930  void* contextPtr
931 );
932 
933 
934 // =======================================
935 // PROTOCOL FUNCTIONS
936 // =======================================
937 
938 //--------------------------------------------------------------------------------------------------
946 //--------------------------------------------------------------------------------------------------
948 (
949  const char* protocolId,
950  size_t largestMsgSize
951 );
952 
953 
954 //--------------------------------------------------------------------------------------------------
960 //--------------------------------------------------------------------------------------------------
961 const char* le_msg_GetProtocolIdStr
962 (
963  le_msg_ProtocolRef_t protocolRef
964 );
965 
966 
967 //--------------------------------------------------------------------------------------------------
973 //--------------------------------------------------------------------------------------------------
975 (
976  le_msg_ProtocolRef_t protocolRef
977 );
978 
979 
980 // =======================================
981 // SESSION FUNCTIONS
982 // =======================================
983 
984 //--------------------------------------------------------------------------------------------------
994 //--------------------------------------------------------------------------------------------------
996 (
997  le_msg_ProtocolRef_t protocolRef,
998  const char* serviceName
999 );
1000 
1001 
1002 //--------------------------------------------------------------------------------------------------
1007 //--------------------------------------------------------------------------------------------------
1009 (
1010  le_msg_SessionRef_t sessionRef,
1011 
1012  void* contextPtr
1013 );
1015 
1016 //--------------------------------------------------------------------------------------------------
1024 //--------------------------------------------------------------------------------------------------
1026 (
1027  le_msg_SessionRef_t sessionRef
1028 );
1029 
1030 
1031 //--------------------------------------------------------------------------------------------------
1040 //--------------------------------------------------------------------------------------------------
1042 (
1043  le_msg_SessionRef_t sessionRef
1044 );
1045 
1046 
1047 //--------------------------------------------------------------------------------------------------
1060 //--------------------------------------------------------------------------------------------------
1062 (
1063  le_msg_SessionRef_t sessionRef,
1064  le_msg_ReceiveHandler_t handlerFunc,
1065  void* contextPtr
1066 );
1067 
1068 
1069 //--------------------------------------------------------------------------------------------------
1086 //--------------------------------------------------------------------------------------------------
1088 (
1089  le_msg_SessionRef_t sessionRef,
1090  le_msg_SessionEventHandler_t handlerFunc,
1091  void* contextPtr
1092 );
1093 
1094 
1095 //--------------------------------------------------------------------------------------------------
1107 //--------------------------------------------------------------------------------------------------
1108 void le_msg_OpenSession
1109 (
1110  le_msg_SessionRef_t sessionRef,
1111  le_msg_SessionEventHandler_t callbackFunc,
1112  void* contextPtr
1114 );
1115 
1116 
1117 //--------------------------------------------------------------------------------------------------
1133 //--------------------------------------------------------------------------------------------------
1135 (
1136  le_msg_SessionRef_t sessionRef
1137 );
1138 
1139 
1140 //--------------------------------------------------------------------------------------------------
1144 //--------------------------------------------------------------------------------------------------
1146 (
1147  le_msg_SessionRef_t sessionRef
1148 );
1149 
1150 
1151 //--------------------------------------------------------------------------------------------------
1157 //--------------------------------------------------------------------------------------------------
1159 (
1160  le_msg_SessionRef_t sessionRef
1161 );
1162 
1163 
1164 //--------------------------------------------------------------------------------------------------
1170 //--------------------------------------------------------------------------------------------------
1172 (
1173  le_msg_SessionRef_t sessionRef
1174 );
1175 
1176 //--------------------------------------------------------------------------------------------------
1185 //--------------------------------------------------------------------------------------------------
1187 (
1188  le_msg_SessionRef_t sessionRef,
1189  uid_t* userIdPtr
1190 );
1191 //--------------------------------------------------------------------------------------------------
1200 //--------------------------------------------------------------------------------------------------
1202 (
1203  le_msg_SessionRef_t sessionRef,
1204  pid_t* processIdPtr
1205 );
1206 
1207 //--------------------------------------------------------------------------------------------------
1216 //--------------------------------------------------------------------------------------------------
1218 (
1219  le_msg_SessionRef_t sessionRef,
1220  uid_t* userIdPtr,
1221  pid_t* processIdPtr
1222 );
1223 
1224 
1225 
1226 // =======================================
1227 // MESSAGE FUNCTIONS
1228 // =======================================
1229 
1230 //--------------------------------------------------------------------------------------------------
1241 //--------------------------------------------------------------------------------------------------
1243 (
1244  le_msg_SessionRef_t sessionRef
1245 );
1246 
1247 
1248 //--------------------------------------------------------------------------------------------------
1252 //--------------------------------------------------------------------------------------------------
1253 void le_msg_AddRef
1254 (
1255  le_msg_MessageRef_t msgRef
1256 );
1257 
1258 
1259 //--------------------------------------------------------------------------------------------------
1264 //--------------------------------------------------------------------------------------------------
1265 void le_msg_ReleaseMsg
1266 (
1267  le_msg_MessageRef_t msgRef
1268 );
1269 
1270 
1271 //--------------------------------------------------------------------------------------------------
1282 //--------------------------------------------------------------------------------------------------
1284 (
1285  le_msg_MessageRef_t msgRef
1286 );
1287 
1288 
1289 //--------------------------------------------------------------------------------------------------
1297 //--------------------------------------------------------------------------------------------------
1299 (
1300  le_msg_MessageRef_t msgRef
1301 );
1302 
1303 
1304 //--------------------------------------------------------------------------------------------------
1310 //--------------------------------------------------------------------------------------------------
1312 (
1313  le_msg_MessageRef_t msgRef
1314 );
1315 
1316 
1317 //--------------------------------------------------------------------------------------------------
1326 //--------------------------------------------------------------------------------------------------
1327 void le_msg_SetFd
1328 (
1329  le_msg_MessageRef_t msgRef,
1330  int fd
1331 );
1332 
1333 
1334 //--------------------------------------------------------------------------------------------------
1341 //--------------------------------------------------------------------------------------------------
1342 int le_msg_GetFd
1343 (
1344  le_msg_MessageRef_t msgRef
1345 );
1346 
1347 
1348 //--------------------------------------------------------------------------------------------------
1352 //--------------------------------------------------------------------------------------------------
1353 void le_msg_Send
1354 (
1355  le_msg_MessageRef_t msgRef
1356 );
1357 
1358 
1359 //--------------------------------------------------------------------------------------------------
1365 //--------------------------------------------------------------------------------------------------
1367 (
1368  le_msg_MessageRef_t msgRef
1369 );
1370 
1371 
1372 //--------------------------------------------------------------------------------------------------
1385 //--------------------------------------------------------------------------------------------------
1387 (
1388  le_msg_MessageRef_t msgRef,
1389  le_msg_ResponseCallback_t handlerFunc,
1390  void* contextPtr
1391 );
1392 
1393 
1394 //--------------------------------------------------------------------------------------------------
1421 //--------------------------------------------------------------------------------------------------
1423 (
1424  le_msg_MessageRef_t msgRef
1425 );
1426 
1427 
1428 //--------------------------------------------------------------------------------------------------
1440 //--------------------------------------------------------------------------------------------------
1441 void le_msg_Respond
1442 (
1443  le_msg_MessageRef_t msgRef
1444 );
1445 
1446 
1447 // =======================================
1448 // SERVICE FUNCTIONS
1449 // =======================================
1450 
1451 //--------------------------------------------------------------------------------------------------
1457 //--------------------------------------------------------------------------------------------------
1459 (
1460  le_msg_ProtocolRef_t protocolRef,
1461  const char* serviceName
1462 );
1463 
1464 
1465 //--------------------------------------------------------------------------------------------------
1471 //--------------------------------------------------------------------------------------------------
1473 (
1474  le_msg_ServiceRef_t serviceRef
1475 );
1476 
1477 
1478 //--------------------------------------------------------------------------------------------------
1484 //--------------------------------------------------------------------------------------------------
1486 (
1487  le_msg_ServiceRef_t serviceRef,
1488  le_msg_SessionEventHandler_t handlerFunc,
1489  void* contextPtr
1490 );
1491 
1492 
1493 //--------------------------------------------------------------------------------------------------
1500 //--------------------------------------------------------------------------------------------------
1502 (
1503  le_msg_ServiceRef_t serviceRef,
1504  le_msg_SessionEventHandler_t handlerFunc,
1505  void* contextPtr
1506 );
1507 
1508 
1509 //--------------------------------------------------------------------------------------------------
1516 //--------------------------------------------------------------------------------------------------
1518 (
1519  le_msg_ServiceRef_t serviceRef,
1520  le_msg_ReceiveHandler_t handlerFunc,
1521  void* contextPtr
1522 );
1523 
1524 
1525 //--------------------------------------------------------------------------------------------------
1532 //--------------------------------------------------------------------------------------------------
1534 (
1535  le_msg_ServiceRef_t serviceRef,
1536 
1537  void* contextPtr
1538 );
1540 
1541 
1542 //--------------------------------------------------------------------------------------------------
1552 //--------------------------------------------------------------------------------------------------
1554 (
1555  le_msg_ServiceRef_t serviceRef
1556 );
1557 
1558 
1559 //--------------------------------------------------------------------------------------------------
1565 //--------------------------------------------------------------------------------------------------
1567 (
1568  le_msg_ServiceRef_t serviceRef
1569 );
1570 
1571 
1572 //--------------------------------------------------------------------------------------------------
1579 //--------------------------------------------------------------------------------------------------
1580 void le_msg_HideService
1581 (
1582  le_msg_ServiceRef_t serviceRef
1583 );
1584 
1585 //--------------------------------------------------------------------------------------------------
1593 //--------------------------------------------------------------------------------------------------
1594 const char* le_msg_GetServiceName
1595 (
1596  le_msg_ServiceRef_t serviceRef
1597 );
1598 
1599 
1600 //--------------------------------------------------------------------------------------------------
1606 //--------------------------------------------------------------------------------------------------
1608 (
1609  le_msg_ServiceRef_t serviceRef
1610 );
1611 
1612 
1613 //--------------------------------------------------------------------------------------------------
1621 //--------------------------------------------------------------------------------------------------
1623 (
1624  void
1625 );
1626 
1627 
1628 //--------------------------------------------------------------------------------------------------
1635 //--------------------------------------------------------------------------------------------------
1636 #define LE_KILL_CLIENT(formatString, ...) \
1637 { \
1638  le_msg_MessageRef_t msgRef = le_msg_GetServiceRxMsg(); \
1639  LE_FATAL_IF(msgRef == NULL, formatString, ##__VA_ARGS__); \
1640  LE_EMERG(formatString, ##__VA_ARGS__); \
1641  le_msg_CloseSession(le_msg_GetSession(msgRef)); \
1642 }
1643 
1644 #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:889
le_result_t
Definition: le_basics.h:34
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)
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)
int le_msg_GetFd(le_msg_MessageRef_t msgRef)
struct le_msg_Session * le_msg_SessionRef_t
Definition: le_messaging.h:866
void le_msg_SetServiceCloseHandler(le_msg_ServiceRef_t serviceRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
void le_msg_RequestResponse(le_msg_MessageRef_t msgRef, le_msg_ResponseCallback_t handlerFunc, void *contextPtr)
le_result_t le_msg_OpenSessionSync(le_msg_SessionRef_t sessionRef)
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:852
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_SetServiceOpenHandler(le_msg_ServiceRef_t serviceRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
struct le_msg_Message * le_msg_MessageRef_t
Definition: le_messaging.h:873
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:928
void(* le_msg_ReceiveHandler_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:908
struct le_msg_Service * le_msg_ServiceRef_t
Definition: le_messaging.h:859
le_msg_ProtocolRef_t le_msg_GetServiceProtocol(le_msg_ServiceRef_t serviceRef)
void le_msg_SetSessionCloseHandler(le_msg_SessionRef_t sessionRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)