Helixis 1.0
Task Programming API
Functions | Variables
sources/parallel/parallel_channels.c File Reference
#include "hlx/core.h"
#include "helixis_internal.h"

Go to the source code of this file.

Functions

static _hlx_channel_hlx_get_channel_by_hash (unsigned long id)
int __hlx_chan_write_short (unsigned long id, short value)
int __hlx_chan_read_short (unsigned long id, short *value)
int __hlx_chan_write_int (unsigned long id, int value)
int __hlx_chan_read_int (unsigned long id, int *value)
int __hlx_chan_write_char (unsigned long id, char value)
int __hlx_chan_read_char (unsigned long id, char *value)
int __hlx_chan_write_float (unsigned long id, float value)
int __hlx_chan_read_float (unsigned long id, float *value)
int __hlx_chan_write_ptr (unsigned long id, void *value)
int __hlx_chan_read_ptr (unsigned long id, void **value)
hlx_channel_errors hlx_chan_create (unsigned long id)
void _init_channel_manager (void)
void _destroy_channel_manager (void)

Variables

hlx_api gl_api
static _hlx_channel_manager gl_channel_manager

Function Documentation

int __hlx_chan_read_char ( unsigned long  id,
char *  value 
)

Definition at line 75 of file parallel_channels.c.

{
int __hlx_chan_read_float ( unsigned long  id,
float *  value 
)

Definition at line 78 of file parallel_channels.c.

{
int __hlx_chan_read_int ( unsigned long  id,
int *  value 
)

Definition at line 72 of file parallel_channels.c.

{
int __hlx_chan_read_ptr ( unsigned long  id,
void **  value 
)

Definition at line 81 of file parallel_channels.c.

{
int __hlx_chan_read_short ( unsigned long  id,
short *  value 
)

Definition at line 69 of file parallel_channels.c.

{
int __hlx_chan_write_char ( unsigned long  id,
char  value 
)

Definition at line 74 of file parallel_channels.c.

{
int __hlx_chan_write_float ( unsigned long  id,
float  value 
)

Definition at line 77 of file parallel_channels.c.

{
int __hlx_chan_write_int ( unsigned long  id,
int  value 
)

Definition at line 71 of file parallel_channels.c.

{
int __hlx_chan_write_ptr ( unsigned long  id,
void *  value 
)

Definition at line 80 of file parallel_channels.c.

{
int __hlx_chan_write_short ( unsigned long  id,
short  value 
)

Definition at line 68 of file parallel_channels.c.

{
void _destroy_channel_manager ( void  )
static _hlx_channel* _hlx_get_channel_by_hash ( unsigned long  id) [static]

Definition at line 56 of file parallel_channels.c.

References _hlx_channel_manager::channels, slist_get_head_and_then_next(), and slist_get_user_data_from_element().

Referenced by hlx_chan_create().

{
        _hlx_channel*           chan;
        struct slist_element*   it;

        it = 0;
        while (slist_get_head_and_then_next(gl_channel_manager.channels, &it))
                if (slist_get_user_data_from_element(it, (void **)&chan) && chan->hash_code == id)
                        return (chan);
        return (0);
}
void _init_channel_manager ( void  )

Definition at line 102 of file parallel_channels.c.

References _hlx_channel_manager::channels, and slist_new().

Referenced by hlx_core_init().

hlx_channel_errors hlx_chan_create ( unsigned long  id)

Variable Documentation

Definition at line 42 of file api.c.

Definition at line 50 of file parallel_channels.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines