ipc_wrapper.h File Reference

Definition of the wrapped IPC functions for CARMEN in libglobal. More...

#include <carmen/carmen.h>

Go to the source code of this file.

Defines

#define carmen_test_ipc_return(ERR, ERR_MSG, IPC_MSG)   do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return; } while (0)
#define carmen_test_ipc_return_int(ERR, ERR_MSG, IPC_MSG)   do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return -1; } while (0)
#define carmen_test_ipc_return_null(ERR, ERR_MSG, IPC_MSG)   do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) return NULL; } while (0)
#define carmen_test_ipc_exit(ERR, ERR_MSG, IPC_MSG)   do {carmen_test_ipc((ERR), (ERR_MSG), (IPC_MSG)); if ((ERR) != IPC_OK) {fprintf(stderr, "This is a fatal error. Exiting.\n"); exit(-1);} } while (0)
#define carmen_ipc_define_test_exit(name, fmt)   { IPC_RETURN_TYPE err; err = IPC_defineMsg(name, IPC_VARIABLE_LENGTH, fmt); carmen_test_ipc_exit(err, "Could not define", name); }
#define carmen_ipc_publish_exit(name, msg)   { IPC_RETURN_TYPE err; err = IPC_publishData(name, &msg); carmen_test_ipc_exit(err, "Could not publish", name); }

Typedefs

typedef void(* carmen_handler_t )(void *)

Enumerations

enum  carmen_subscribe_t { CARMEN_UNSUBSCRIBE, CARMEN_SUBSCRIBE_LATEST, CARMEN_SUBSCRIBE_ALL }

Functions

void carmen_subscribe_message (char *message_name, char *message_fmt, void *message_mem, int message_size, carmen_handler_t handler, carmen_subscribe_t subscribe_how)
void carmen_unsubscribe_message (char *message_name, carmen_handler_t handler)
void carmen_ipc_subscribe_fd (int fd, carmen_handler_t handler)
void carmen_ipc_unsubscribe_fd (int fd, carmen_handler_t handler)
int carmen_ipc_connect_locked (char *module_name)
int carmen_ipc_connect (char *module_name)
void carmen_ipc_initialize_locked (int argc, char **argv)
void carmen_ipc_initialize_locked_with_name (int argc, char **argv, char *name)
void carmen_ipc_initialize (int argc, char **argv)
void carmen_ipc_dispatch (void)
void carmen_ipc_sleep (double timeout)
void carmen_ipc_disconnect (void)
void carmen_ipc_addPeriodicTimer (double interval, TIMER_HANDLER_TYPE handler, void *clientData)

Variables

MSG_INSTANCE current_msgRef


Detailed Description

Definition of the wrapped IPC functions for CARMEN in libglobal.

This file specifies the wrapped IPC functions for CARMEN. IPC is the communication infrastructure used to communicate messages in CARMEN.

Definition in file ipc_wrapper.h.


Generated on Wed Apr 5 18:34:18 2006 for CARMEN by  doxygen 1.4.4