The "dsxfr" Package

These routines are meant to provide high level transfer of the recursive, heirarchical data structure supported in Karma from and to files and connections.

Library: karma
Link With: -lkarma

Functions

dsxfr_register_connection_limitsRegister connection limits for "multi_array" protocol.
dsxfr_put_multiWrite a multi_array data structure.
dsxfr_get_multiRead a multi_array data structure.
dsxfr_register_read_funcRegister callback for new "multi_array" data.
dsxfr_register_close_funcRegister callback for closed "multi_array" connection.

Prototype Functions

DSXFR_PROTO_read_funcNew "multi_array" data callback.
DSXFR_PROTO_close_funcCallback for "multi_array" connection closures.


Functions


void dsxfr_register_connection_limits (int max_incoming, int max_outgoing)

This routine will register the maximum number of incoming (server) and outgoing (client) connections for the transfer of the general data structure. The protocol used is: "multi_array".

Parameters:

Returns: Nothing.
Multithreading Level: Unsafe
Note:


flag dsxfr_put_multi (CONST char *object, multi_array *multi_desc)

This routine will put (write to disc, transmit over connection) a multi_desc general data structure to a named object.

Parameters:

Returns: TRUE on success, else FALSE.
Multithreading Level: Unsafe


multi_array * dsxfr_get_multi (CONST char *object, flag cache, unsigned int mmap_option, flag writeable)

This routine will get (read from disc, read from connection) a multi_desc general data structure from a named object.

Parameters:

Returns: A pointer to the data structure on success, else NULL.
Multithreading Level: Unsafe
Note:


void dsxfr_register_read_func (void (*read_func) ())

This routine will register a function which is to be called when new data arrives on a "multi_array" connection.

Parameters:

Returns: Nothing.
Multithreading Level: Unsafe


void dsxfr_register_close_func ( void (*close_func) () )

This routine will register a function which is to be called when a "multi_array" connection closes.

Parameters:

Returns: Nothing.
Multithreading Level: Unsafe


Prototype Functions


void DSXFR_PROTO_read_func (flag first_time_data, unsigned int connection_num)

This routine is called when new data arrives on any "multi_array" connection.

Parameters:

Returns: Nothing.
Multithreading Level: Unsafe


void DSXFR_PROTO_close_func (flag data_deallocated)

This routine is called when any "multi_array" connection closes.

Parameters:

Returns: Nothing.
Multithreading Level: Unsafe


Contact: Richard Gooch
Web Development: Ariel Internet Services