ixtools Documentation
current-ready-b1014-r28564
SYNOPSIS:
ix-tools is a api written in plain C providing an abstraction layer for
- Author:
- R. Huhmann
The structure of the API is influenced by QNX, MS-Windows and VMS system calls. It was designed as a service-API for VMS-System Wrapper functions.
GENERAL:
- ix-tools must be initialized by ix_init()
- ix-tools function and type names have the prefix ix_
- the macro names have the prefix IX_
- most of its api-structure follows an object-oriented approach
- functions with postfix _new allocate dynamically memory for objects and return a handle for the object (constructor)
- functions which manipulate the object require the object-handle
- functions with postfix _free deallocate the memory for the given object (destructor)
- the function header describes the usage (see below)
- functions are thematically grouped by the name of type the constructor returns (e.g. ix_list_, ix_event_, ix_timer_, ix_net_, ...)
ix-tools is designed as a utility tool for event-driven host and network distributed applications. An ix-application works with one dispatcher-thread which is most of the time waiting in one central select() system call. Due to timeout or file-descriptor activity other threads (e.g. the main application thread) are awakened by an event-listener model implemented with a pthread_cond_signal()/pthread_cond_wait() mechanism, see ix_evs_wait().
"Interprocess communication" uses an ip-based packet transfer, each ix-application works as an parallel-IP-server (the application accepts max. MAX_TCP_POOL client connections, not used TCP-connections are automatically closed after IX_CLIENT_TIMEOUT secs ) and has client functionality to send packets or events to an arbritary ix-server. Messages are queued in an internally defined queue, ix_init() returns the ID of an event which is triggered when something is to read from this queue with ix_receive()
Generated on 4 Mar 2014 for ixtools by
1.4.7