818 #ifndef LE_MESSAGING_H_INCLUDE_GUARD 819 #define LE_MESSAGING_H_INCLUDE_GUARD 910 le_msg_MessageRef_t msgRef,
930 le_msg_MessageRef_t msgRef,
989 #if LE_CONFIG_CUSTOM_OS && defined(LE_MSG_SERVICE_READY_FLAG) 990 LE_MSG_SERVICE_READY_FLAG;
1004 typedef struct le_msg_LocalMessage
1022 #define LE_MSG_LOCAL_HEADER_SIZE sizeof(le_msg_LocalMessage_t) 1038 const char* protocolId,
1039 size_t largestMsgSize
1088 const char* interfaceName
1413 le_msg_MessageRef_t msgRef
1425 le_msg_MessageRef_t msgRef
1443 le_msg_MessageRef_t msgRef
1458 le_msg_MessageRef_t msgRef
1471 le_msg_MessageRef_t msgRef
1487 le_msg_MessageRef_t msgRef,
1502 le_msg_MessageRef_t msgRef
1513 le_msg_MessageRef_t msgRef
1525 le_msg_MessageRef_t msgRef
1547 le_msg_MessageRef_t msgRef,
1583 le_msg_MessageRef_t msgRef
1602 le_msg_MessageRef_t msgRef
1622 const char* interfaceName
1637 const char* serviceNameStr,
1651 le_msg_ServiceRef_t serviceRef
1663 le_msg_ServiceRef_t serviceRef,
1678 le_msg_ServiceRef_t serviceRef,
1707 le_msg_ServiceRef_t serviceRef,
1723 le_msg_ServiceRef_t serviceRef,
1743 le_msg_ServiceRef_t serviceRef
1756 le_msg_ServiceRef_t serviceRef
1770 le_msg_ServiceRef_t serviceRef
1825 #define LE_KILL_CLIENT(formatString, ...) \ 1827 le_msg_MessageRef_t msgRef = le_msg_GetServiceRxMsg(); \ 1828 LE_FATAL_IF(msgRef == NULL, formatString, ##__VA_ARGS__); \ 1829 LE_EMERG(formatString, ##__VA_ARGS__); \ 1830 le_msg_CloseSession(le_msg_GetSession(msgRef)); \ 1833 #endif // LEGATO_MESSAGING_INCLUDE_GUARD le_result_t le_msg_GetClientUserId(le_msg_SessionRef_t sessionRef, uid_t *userIdPtr)
le_sem_Ref_t responseReady
Semaphore which will be set when response is ready.
Definition: le_messaging.h:1008
void le_msg_SetFd(le_msg_MessageRef_t msgRef, int fd)
struct le_thread * le_thread_Ref_t
Definition: le_thread.h:180
void * contextPtr
Opaque value to be passed to handler function.
Definition: le_messaging.h:1011
void le_msg_OpenSession(le_msg_SessionRef_t sessionRef, le_msg_SessionEventHandler_t callbackFunc, void *contextPtr)
void le_msg_Send(le_msg_MessageRef_t msgRef)
le_msg_MessageRef_t le_msg_GetServiceRxMsg(void)
struct le_msg_SessionEventHandler * le_msg_SessionEventHandlerRef_t
Definition: le_messaging.h:875
void(* le_msg_ResponseCallback_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:929
LE_FULL_API le_msg_ServiceRef_t le_msg_CreateService(le_msg_ProtocolRef_t protocolRef, const char *interfaceName)
LE_FULL_API le_msg_ProtocolRef_t le_msg_GetProtocolRef(const char *protocolId, size_t largestMsgSize)
Definition: le_messaging.h:957
le_msg_SessionRef_t le_msg_CreateLocalSession(le_msg_LocalService_t *servicePtr)
LE_FULL_API void le_msg_DeleteService(le_msg_ServiceRef_t serviceRef)
bool le_msg_NeedsResponse(le_msg_MessageRef_t msgRef)
void le_msg_GetSessionCloseHandler(le_msg_SessionRef_t sessionRef, le_msg_SessionEventHandler_t *handlerFunc, void **contextPtr)
LE_FULL_API const char * le_msg_GetProtocolIdStr(le_msg_ProtocolRef_t protocolRef)
void le_msg_ReleaseMsg(le_msg_MessageRef_t msgRef)
LE_FULL_API le_msg_SessionEventHandlerRef_t le_msg_AddServiceOpenHandler(le_msg_ServiceRef_t serviceRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
struct le_msg_Interface * le_msg_InterfaceRef_t
Definition: le_messaging.h:839
le_result_t le_msg_TryOpenSessionSync(le_msg_SessionRef_t sessionRef)
void * le_msg_GetPayloadPtr(le_msg_MessageRef_t msgRef)
size_t le_msg_GetMaxPayloadSize(le_msg_MessageRef_t msgRef)
void(* le_msg_SessionEventHandler_t)(le_msg_SessionRef_t sessionRef, void *contextPtr)
Definition: le_messaging.h:890
LE_FULL_API size_t le_msg_GetProtocolMaxMsgSize(le_msg_ProtocolRef_t protocolRef)
void le_msg_CloseSessionLocked(le_msg_SessionRef_t sessionRef)
LE_FULL_API void * le_msg_GetSessionContextPtr(le_msg_SessionRef_t sessionRef)
Definition: le_messaging.h:986
LE_FULL_API void le_msg_SetServiceContextPtr(le_msg_ServiceRef_t serviceRef, void *contextPtr)
le_msg_ResponseCallback_t completionCallback
Function to be called when transaction done.
Definition: le_messaging.h:1010
Definition: le_messaging.h:942
bool needsResponse
True if message needs a response.
Definition: le_messaging.h:1009
void(* le_msg_ReceiveHandler_t)(le_msg_MessageRef_t msgRef, void *contextPtr)
Definition: le_messaging.h:909
void le_msg_SetServiceRecvHandler(le_msg_ServiceRef_t serviceRef, le_msg_ReceiveHandler_t handlerFunc, void *contextPtr)
void le_msg_SetSessionRecvHandler(le_msg_SessionRef_t sessionRef, le_msg_ReceiveHandler_t handlerFunc, void *contextPtr)
void le_msg_AdvertiseService(le_msg_ServiceRef_t serviceRef)
Definition: le_messaging.h:968
le_msg_SessionEventHandlerRef_t le_msg_AddServiceCloseHandler(le_msg_ServiceRef_t serviceRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
struct le_msg_ClientInterface * le_msg_ClientInterfaceRef_t
Definition: le_messaging.h:853
enum le_msg_Service::@0 type
LE_FULL_API void le_msg_SetSessionCloseHandler(le_msg_SessionRef_t sessionRef, le_msg_SessionEventHandler_t handlerFunc, void *contextPtr)
__attribute__((weak)) LE_SHARED void *le_comm_Create(const int argc
< [IN] Communication channel.
Definition: le_appCtrl_commonclient.c:191
le_msg_LocalReceiver_t receiver
Server destination.
Definition: le_messaging.h:994
le_msg_SessionRef_t sessionRef
Session for this message.
Definition: le_messaging.h:959
le_comm_CallbackHandlerFunc_t handlerFunc
< [IN] Communication channel handle.
Definition: le_comm.h:66
le_msg_SessionRef_t le_msg_GetSession(le_msg_MessageRef_t msgRef)
Definition: le_messaging.h:1004
le_result_t le_msg_GetClientUserCreds(le_msg_SessionRef_t sessionRef, uid_t *userIdPtr, pid_t *processIdPtr)
le_msg_ReceiveHandler_t handler
Handler function which should be called on thread.
Definition: le_messaging.h:971
struct le_sem_t * le_sem_Ref_t
Definition: le_semaphore.h:68
LE_FULL_API const char * le_msg_GetInterfaceName(le_msg_InterfaceRef_t interfaceRef)
LE_FULL_API le_msg_ProtocolRef_t le_msg_GetInterfaceProtocol(le_msg_InterfaceRef_t interfaceRef)
void le_msg_DeleteSession(le_msg_SessionRef_t sessionRef)
LE_FULL_API void le_msg_SetSessionContextPtr(le_msg_SessionRef_t sessionRef, void *contextPtr)
struct le_msg_Protocol * le_msg_ProtocolRef_t
Definition: le_messaging.h:832
le_msg_MessageRef_t le_msg_RequestSyncResponse(le_msg_MessageRef_t msgRef)
struct le_mem_Pool * le_mem_PoolRef_t
Definition: le_mem.h:542
le_result_t le_msg_GetClientProcessId(le_msg_SessionRef_t sessionRef, pid_t *processIdPtr)
le_thread_Ref_t thread
Thread on which receive should be processes.
Definition: le_messaging.h:970
void * contextPtr
Context pointer to pass to the handler.
Definition: le_messaging.h:972
le_mem_PoolRef_t messagePool
Pool for messages on this service.
Definition: le_messaging.h:995
LE_FULL_API void * le_msg_GetServiceContextPtr(le_msg_ServiceRef_t serviceRef)
Definition: le_messaging.h:946
le_result_t
Definition: le_basics.h:45
LE_FULL_API void le_msg_HideService(le_msg_ServiceRef_t serviceRef)
void le_msg_OpenSessionSync(le_msg_SessionRef_t sessionRef)
void le_msg_Respond(le_msg_MessageRef_t msgRef)
LE_FULL_API void le_msg_RemoveServiceHandler(le_msg_SessionEventHandlerRef_t handlerRef)
LE_FULL_API le_msg_SessionRef_t le_msg_CreateSession(le_msg_ProtocolRef_t protocolRef, const char *interfaceName)
LE_FULL_API le_msg_ProtocolRef_t le_msg_GetSessionProtocol(le_msg_SessionRef_t sessionRef)
struct le_msg_Session * le_msg_SessionRef_t
Definition: le_messaging.h:860
Definition: le_messaging.h:947
#define LE_FULL_API
Definition: le_apiFeatures.h:42
void le_msg_CloseSession(le_msg_SessionRef_t sessionRef)
le_msg_ServiceRef_t le_msg_InitLocalService(le_msg_LocalService_t *servicePtr, const char *serviceNameStr, le_mem_PoolRef_t messagingPoolRef)
le_msg_MessageRef_t le_msg_CreateMsg(le_msg_SessionRef_t sessionRef)
bool serviceReady
Indicate if service is ready.
Definition: le_messaging.h:992
void le_msg_RequestResponse(le_msg_MessageRef_t msgRef, le_msg_ResponseCallback_t handlerFunc, void *contextPtr)
LE_FULL_API le_msg_InterfaceRef_t le_msg_GetSessionInterface(le_msg_SessionRef_t sessionRef)
int fd
File descriptor sent with message (via Get/SetFd)
Definition: le_messaging.h:1007
int le_msg_GetFd(le_msg_MessageRef_t msgRef)
void le_msg_AddRef(le_msg_MessageRef_t msgRef)