IPC Home IPC Manual IPC Examples


ipcintro(3)

IPC Library Functions

ipcintro(3)


NAME

ipcintro - an introduction to the IPC library


SYNOPSIS

#include <ipc.h>

cc -o prog prog.c -lipc [ ( -lsocket -lnsl ) | -lxnet ]


DESCRIPTION

The inter-process communication library IPC provides a framework on which communication services can be easily built on top of TCP/IP. The IPC library implements an abstraction which is placed logically between the transport layer and the application layer of the TCP/IP protocol stack. The library does not define a new protocol or addressing scheme. Its only purpose is to reduce the complexity of network programming and to assist application programmers with various levels of expertise in programming correct and efficient network applications.

It is a well-known problem that the expenditure of implementing the communication part exceeds the implementation of the real application by far. The reduction of this often extrem disparity is a primary goal of the IPC library. Further properties and advantages of the IPC library are:

The IPC library functions provide a simple and convenient interface, hiding the details of network programming, and offer typical mechanisms and facilities to implement client/server applications in particular. The basic abstraction for offered or requested communication services is the IPC communication endpoint. Most of the following IPC library functions operate on this abstraction.


Communication endpoint management

IpcOpen(3)
Create and open an IPC communication endpoint.

IpcPipe(3)
Create and open an unnamed IPC communication channel.

IpcClose(3)
Close an IPC communication endpoint and free all resources.

IpcMaster(3)
Return the master's IPC communication endpoint.

IpcState(3)
Obtain state information from an IPC communication endpoint.


Scheduling

IpcSchedule(3)
Schedule a set of IPC communication endpoints in a fair way.

IpcSchedIns(3)
Add an IPC communication endpoint to the set of scheduled IPCs.

IpcSchedDel(3)
Remove an IPC communication endpoint from the set of scheduled IPCs.

IpcIsReadable(3)
Check an IPC communication endpoint for readability.

IpcIsWritable(3)
Check an IPC communication endpoint for writability.


Service and communication behaviour

IpcSetArg(3)
Compose an IPC argument list in a stylized manner.

IpcSetValues(3)
Modify IPC resources.

IpcVaSetValues(3)
Convenient wrapper for IpcSetValues()
with a varying number of arguments.

IpcGetValues(3)
Obtain IPC resources.

IpcVaGetValues(3)
Convenient wrapper for IpcGetValues()
with a varying number of arguments.


Callback management

IpcAddCallback(3)
Register a callback procedure with an event class.

IpcDelCallback(3)
Delete a registered callback procedure from an event class.

IpcHasCallback(3)
Check whether an event class has a callback procedure registered.

IpcCallCallback(3)
Call a callback procedure of an event class.


Data transmission

IpcSend(3)
Send data over an IPC communication channel.

IpcSendV(3)
Send data, gathered from multiple buffers,
over an IPC communication channel.

IpcRecv(3)
Receive data from an IPC communication endpoint.

IpcRecvV(3)
Receive data, scattered into multiple buffers,
from an IPC communication endpoint.


Advanced features

IpcSendIPC(3)
Send an IPC communication endpoint
over an IPC communication channel.

IpcRecvIPC(3)
Receive an IPC communication endpoint
over an IPC communication channel.

IpcSendFd(3)
Send a file descriptor over an IPC communication channel.

IpcRecvFd(3)
Receive a file descriptor over an IPC communication channel.

IpcClone(3)
Clone the current process.


Utilities

IpcDaemonize(3)
Daemonize a process.

IpcSignal(3)
Simplified secure signal facility.

IpcBlockEvents(3)
Block events from occurring in critical situations.

IpcUnblockEvents(3)
Unblock and process pending events.


Errors and error logging

IpcStrError(3)
IPC error codes and message strings.

IpcOpenLog(3)
Initialize IPC error logging.

IpcLog(3)
Control IPC error logging.


Address mapping

ipcpm(8)
IPC portmapper daemon mapping service names to addresses.

ipcpminfo(8)
IPC portmapper client.


SEE ALSO

socket(2),
inet(4), tcp(4), ttcp(4), ip(4).

The specified manual sections may vary on different operating systems.


NOTE

The IPC library itself is implemented in the C programming language and uses the Berkeley socket interface to communicate in the local and Internet domain.



IPC Home IPC Manual IPC Examples

Edited by: Mathias Etter; last change: Aug 05, 1999; revision: IPC Version 1.8.2; converted to HTML: Aug 10, 1999
Copyright © 1999 Mathias Etter, University of Ulm, Germany