Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

ipc.h File Reference


Detailed Description

SDK Header File for ALP simple interprocess communication (IPC) API.

>

#include <glib.h>
#include <hiker/config.h>
#include <hiker/sysclass.h>
#include <hiker/types.h>

Go to the source code of this file.

Defines

#define ALP_IPC_H_   1
#define ALP_STATUS_IPC_ERROR   ((alp_status_t)ALP_CLASS_IPC | 0x00010000)
#define ALP_STATUS_IPC_TIMEOUT   ((alp_status_t)ALP_CLASS_IPC | 0x00020000)
#define ALP_STATUS_IPC_BROKEN_CONNECTION   ((alp_status_t)ALP_CLASS_IPC | 0x00030000)
#define ALP_STATUS_IPC_NOT_CONNECTED   ((alp_status_t)ALP_CLASS_IPC | 0x00040000)
#define ALP_STATUS_IPC_NO_SERVER   ((alp_status_t)ALP_CLASS_IPC | 0x00050000)
#define ALP_STATUS_IPC_INVALID_RESPONSE   ((alp_status_t)ALP_CLASS_IPC | 0x00060000)
#define ALP_IPC_RECEIVE_ANY   -1

Typedefs

typedef _AlpChannel AlpChannel
 Opaque type for representing a particular IPC channel (i.e. server).
typedef _AlpConnection AlpConnection
 Opaque type representing a connection between the server and a single client.
typedef _AlpMessage AlpMessage
 Opaque type used to contain the data for a message.
typedef void(* AlpChannelConnectCB )(AlpConnection *connection, gpointer cbData)
 Signature for connect callback function.
typedef void(* AlpChannelDisconnectCB )(AlpConnection *connection, gpointer cbData)
 Signature for disconnect callback function.
typedef void(* AlpMessageReceiveCB )(AlpConnection *connection, AlpMessage *message, gpointer cbData)
 Signature for message receive callback function.

Enumerations

enum  AlpIpcChannelAccessMode { ALP_IPC_CHANNEL_ACCESS_OWNER, ALP_IPC_CHANNEL_ACCESS_ALL }
 Settings for channel access mode. More...
enum  AlpConnectionUsageHint { ALP_IPC_CONNECTION_USAGE_HINT_NONE = 0x0, ALP_IPC_CONNECTION_USAGE_HINT_SYNCH_ONLY = 0x1 }
 Connection usage hints. More...

Functions

AlpChannelalp_ipc_channel_create (const gchar *channelName, AlpIpcChannelAccessMode accessMode)
 Creates an AlpChannel.
alp_status_t alp_ipc_channel_destroy (AlpChannel *channel)
 Destroys an AlpChannel.
alp_status_t alp_ipc_channel_register_connect_callback (AlpChannel *channel, AlpChannelConnectCB callback, gpointer cbData)
 Registers a callback for the server process whenever a client connects.
alp_status_t alp_ipc_channel_register_disconnect_callback (AlpChannel *channel, AlpChannelDisconnectCB callback, gpointer cbData)
 Registers a callback for the server process whenever a client disconnects or exits without disconnecting.
AlpConnectionalp_ipc_channel_connect (const gchar *channelName, AlpConnectionUsageHint hint, AlpChannelConnectCB callback, gpointer cbData)
 Requests a connection to a AlpChannel.
alp_status_t alp_ipc_channel_connect_synch (const gchar *channelName, AlpConnectionUsageHint usageHint, guint timeout, AlpConnection **connection)
 Requests a connection to a AlpChannel.
alp_status_t alp_ipc_channel_disconnect (AlpConnection *connection)
 Disconnects process from an AlpChannel.
void alp_ipc_channel_set_custom_data (AlpChannel *channel, gpointer customData)
 Assigns a pointer to a custom block of data to be stored with this AlpChannel.
gpointer alp_ipc_channel_get_custom_data (AlpChannel *channel)
 Retrieves the pointer to a custom block of data stored with this AlpChannel.
alp_status_t alp_ipc_connection_register_disconnect_callback (AlpConnection *connection, AlpChannelDisconnectCB callback, gpointer cbData)
 Registers to receive a callback when the server disconnects by destroying the channel or exiting.
gint alp_ipc_connection_get_peer_pid (const AlpConnection *connection)
 Returns the process ID of the peer process for this connection.
gint alp_ipc_connection_get_peer_uid (const AlpConnection *connection)
 Returns the user ID of the peer process for this connection.
gint alp_ipc_connection_get_peer_gid (const AlpConnection *connection)
 Returns the group ID of the peer process for this connection.
AlpMessagealp_ipc_message_create ()
 Allocates a AlpMessage structure.
alp_status_t alp_ipc_message_destroy (AlpMessage *message)
 Cleans up and frees all memory associated with the message.
gint alp_ipc_message_get_message_ID (AlpMessage *message)
 Returns the message ID of the message.
alp_status_t alp_ipc_connection_send (AlpConnection *connection, AlpMessage *message)
 Sends a message to the other end of a connection.
alp_status_t alp_ipc_connection_send_with_response (AlpConnection *connection, AlpMessage *message, guint timeout, AlpMessage **response)
 Sends a message to the other end of a connection, then waits for a response message.
alp_status_t alp_ipc_connection_receive (AlpConnection *connection, gint messageID, guint timeout, AlpMessage **message)
 Synchronously receive a message from the other end of a connection.
alp_status_t alp_ipc_connection_register_receive_callback (AlpConnection *connection, AlpMessageReceiveCB callback, gpointer cbData)
 Registers to receive an asynchronous callback when a message is received by the connection.
void alp_ipc_connection_set_custom_data (AlpConnection *connection, gpointer customData)
 Assigns a pointer to a custom block of data to be stored with this AlpConnection.
gpointer alp_ipc_connection_get_custom_data (AlpConnection *connection)
 Retrieves the pointer to a custom block of data stored with this AlpConnection.
alp_status_t alp_ipc_message_pack_start (AlpMessage *message, gint messageID)
 Call to begin to pack a message into an existing AlpMessage struct.
alp_status_t alp_ipc_message_response_pack_start (AlpMessage *message, gint messageID, AlpMessage *messageToRespondTo)
 Call to begin to pack a response message into an existing AlpMessage struct.
alp_status_t alp_ipc_message_pack_end (AlpMessage *message)
 Call to finish packing a message into an existing AlpMessage struct.
alp_status_t alp_ipc_message_pack_int32 (AlpMessage *message, gint32 val)
 Adds an int32 value to the message.
alp_status_t alp_ipc_message_pack_uint32 (AlpMessage *message, guint32 val)
 Adds an uint32 value to the message.
alp_status_t alp_ipc_message_pack_float (AlpMessage *message, gfloat val)
 Adds a float value to the message.
alp_status_t alp_ipc_message_pack_string (AlpMessage *message, const gchar *val)
 Adds a null-terminated string value to the message.
alp_status_t alp_ipc_message_pack_byte_array (AlpMessage *message, guchar *byteArray, guint numElements)
 Adds a array of bytes (i.e. unsigned chars) to the message.
alp_status_t alp_ipc_message_unpack_start (AlpMessage *message)
 Call to begin unpacking a message from an AlpMessage struct.
alp_status_t alp_ipc_message_unpack_end (AlpMessage *message)
 Call to finish unpacking a message from an AlpMessage struct.
alp_status_t alp_ipc_message_unpack_int32 (AlpMessage *message, gint32 *val)
 Unpacks an int32 value from the message.
alp_status_t alp_ipc_message_unpack_uint32 (AlpMessage *message, guint32 *val)
 Unpacks an uint32 value from the message.
alp_status_t alp_ipc_message_unpack_float (AlpMessage *message, gfloat *val)
 Unpacks a float value from the message.
alp_status_t alp_ipc_message_unpack_string (AlpMessage *message, gchar **val)
 Unpacks a null-terminated string from the message.
alp_status_t alp_ipc_message_unpack_byte_array (AlpMessage *message, guchar **array, guint *numElements)
 Unpacks an array of bytes (i.e. unsigned chars) from the message.


Define Documentation

#define ALP_IPC_H_   1
 

#define ALP_IPC_RECEIVE_ANY   -1
 

#define ALP_STATUS_IPC_BROKEN_CONNECTION   ((alp_status_t)ALP_CLASS_IPC | 0x00030000)
 

#define ALP_STATUS_IPC_ERROR   ((alp_status_t)ALP_CLASS_IPC | 0x00010000)
 

#define ALP_STATUS_IPC_INVALID_RESPONSE   ((alp_status_t)ALP_CLASS_IPC | 0x00060000)
 

#define ALP_STATUS_IPC_NO_SERVER   ((alp_status_t)ALP_CLASS_IPC | 0x00050000)
 

#define ALP_STATUS_IPC_NOT_CONNECTED   ((alp_status_t)ALP_CLASS_IPC | 0x00040000)
 

#define ALP_STATUS_IPC_TIMEOUT   ((alp_status_t)ALP_CLASS_IPC | 0x00020000)
 


Generated on Sat Dec 16 20:29:48 2006 for hiker-0.9 by  doxygen 1.4.4