예제 #1
0
파일: modVar.c 프로젝트: guillep19/frob
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);

}
예제 #2
0
파일: reg.c 프로젝트: Evanglie/libipc
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;
}
예제 #3
0
파일: ipc.c 프로젝트: Paresh1693/carmen
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;
  }
}