void x_ipcFreeVar(const char *varName, void *varData) { char *getMsgName; getMsgName = (char *)x_ipcMalloc(1+strlen(varName)+strlen(VAR_GET_PREFIX)); strcpy(getMsgName,VAR_GET_PREFIX); strcat(getMsgName,varName); x_ipcFreeReply(getMsgName, varData); x_ipcFree(getMsgName); }
int x_ipcMessageHandlerRegistered(const char *msgName) { MSG_ASK_TYPE ask, receive; int retVal=0; ask.msgName = msgName; ask.hndName = (const char *)NULL; receive.msgName = NULL; receive.hndName = (const char *)NULL; if (x_ipcQuery(X_IPC_HND_INFO_QUERY, (void *)&ask, (void *)&receive) == Success){ retVal = (receive.hndName != NULL); x_ipcFreeReply(X_IPC_HND_INFO_QUERY, (void *)&receive); } return retVal; }
int IPC_numHandlers (const char *msgName) { DIRECT_MSG_TYPE directInfo; X_IPC_RETURN_VALUE_TYPE status; int num; if (!msgName || strlen(msgName) == 0) { ipcSetError(IPC_Null_Argument); return -1; } else if (!X_IPC_CONNECTED()) { ipcSetError(IPC_Not_Connected); return -1; } else { status = x_ipcQueryCentral(X_IPC_DIRECT_MSG_QUERY, (void *)&msgName, (void *)&directInfo); if (status == Success) { num = directInfo.numHandlers; x_ipcFreeReply(X_IPC_DIRECT_MSG_QUERY, &directInfo); } else { num = 0; } return num; } }