types.h File Reference

DROPS Stream Interface public types. More...

Go to the source code of this file.

Classes

struct  dsi_jcp_stream
 jitter constrained periodic stream More...
struct  dsi_stream_cfg
 low level stream configuration

for now it is specified explicitly, at some stage it should be calculated from jitter constrained periodic stream definition More...

struct  dsi_packet
 packet descriptor More...
struct  dsi_sg_elem
 scatter gather element More...
struct  dsi_ctrl_header
 control area header More...
struct  dsi_socket_ref
 socket reference

It is given to the application by the component to describe a socket More...

struct  dsi_event_client
 Event client descriptor. More...
struct  dsi_socket
 socket descriptor

It is the component-local socket reference. More...

struct  dsi_component
 component descriptor More...
struct  dsi_stream
 application stream descriptor

Used by in-the-middle-applications to store send- and receive-components. Used by dsi_stream_create(), dsi_stream_start(), dsi_stream_stop() and dsi_stream_close(). More...

struct  dsi_select_socket
 dsi_event_select socket list More...

Defines

#define DSI_PACKET_RELEASE_CALLBACK   0x0001
#define DSI_PACKET_MAP   0x0002
#define DSI_PACKET_COPY   0x0004
#define DSI_PACKET_TX_WAITING   0x8000
#define DSI_PACKET_TX_PENDING   0x4000
#define DSI_PACKET_RX_WAITING   0x2000
#define DSI_PACKET_RX_PENDING   0x1000
#define DSI_PACKETS_USER_MASK   0x0FFF
#define DSI_SG_ELEM_UNUSED   0x00000000
#define DSI_SG_ELEM_USED   0x80000000
#define DSI_SG_ELEM_USER_MASK   0x0FFFFFFF
#define DSI_DATA_AREA_GAP   0x00000001
#define DSI_DATA_AREA_MAP   0x00000002
#define DSI_DATA_AREA_EOS   0x00000004
#define DSI_DATA_AREA_PHYS   0x00000008
#define DSI_SG_ELEM_LAST   0xFFFFFFFF
#define DSI_SYNC_NO_SEND_PACKET   0x00000001
#define DSI_SYNC_NO_RECEIVE_PACKET   0x00000002
#define DSI_MAX_EVENTS   30
 Event handling max.
#define DSI_SOCKET_USED   0x00000000
#define DSI_SOCKET_UNUSED   0x80000000
#define DSI_SOCKET_FREE_SYNC   0x40000000
#define DSI_SOCKET_FREE_CTRL   0x20000000
#define DSI_SOCKET_FREE_DATA   0x10000000
#define DSI_SOCKET_SEND   0x01000000
#define DSI_SOCKET_RECEIVE   0x02000000
#define DSI_SOCKET_BLOCKING_IN_GET   0x00010000
#define DSI_SOCKET_BLOCK_ABORT   0x00020000
#define DSI_SOCKET_BLOCK   0x00000001
#define DSI_SOCKET_SYNC_CALLBACK   0x00000002
#define DSI_SOCKET_RELEASE_CALLBACK   0x00000004
#define DSI_SOCKET_MAP   0x00000010
#define DSI_SOCKET_COPY   0x00000020
#define DSI_SOCKET_USER_FLAGS   0x0000FFFF
#define DSI_STREAM_USED   0x00000000
#define DSI_STREAM_UNUSED   0x80000000
#define DSI_SEND_COMPONENT   0x00000001
 operation on sender
#define DSI_RECEIVE_COMPONENT   0x00000002
 operation on receiver
#define DSI_EVENT_EOS   0x00000001
 end of stream
#define DSI_EVENT_DROPPED   0x00000002
 dropped packet
#define DSI_EVENT_ERROR   0x00000004
 error in component

Typedefs

typedef struct dsi_jcp_stream dsi_jcp_stream_t
 jitter constrained periodic stream
typedef struct dsi_stream_cfg dsi_stream_cfg_t
 low level stream configuration

for now it is specified explicitly, at some stage it should be calculated from jitter constrained periodic stream definition

typedef volatile l4_int8_t dsi_semaphore_t
 packet semaphore type
typedef struct dsi_packet dsi_packet_t
 packet descriptor
typedef struct dsi_sg_elem dsi_sg_elem_t
 scatter gather element
typedef struct dsi_ctrl_header dsi_ctrl_header_t
 control area header
typedef l4_int32_t dsi_socketid_t
 socket id

It is used as a global reference to a socket e.g. in synchronisation messages between sender and receiver component

typedef struct dsi_socket_ref dsi_socket_ref_t
 socket reference

It is given to the application by the component to describe a socket

typedef struct dsi_socket dsi_socket_t
 socket type
typedef void(* dsi_sync_callback_fn_t )(dsi_socket_t *socket, l4_uint32_t packet_no, l4_uint32_t flags)
 prototype for synchronization callback function
typedef void(* dsi_release_callback_fn_t )(dsi_socket_t *socket, dsi_packet_t *packet)
 prototype for release packet callback function
typedef struct dsi_event_client dsi_event_client_t
 Event client descriptor.
typedef struct dsi_component dsi_component_t
 component descriptor
typedef struct dsi_stream dsi_stream_t
 application stream descriptor

Used by in-the-middle-applications to store send- and receive-components. Used by dsi_stream_create(), dsi_stream_start(), dsi_stream_stop() and dsi_stream_close().

typedef struct dsi_select_socket dsi_select_socket_t
 dsi_event_select socket list


Detailed Description

DROPS Stream Interface public types.

Date:
07/01/2000
Author:
Lars Reuther <reuther@os.inf.tu-dresden.de>

Definition in file types.h.


Define Documentation

#define DSI_MAX_EVENTS   30

Event handling max.

number of events, events are specified as a bit field, we need 2 bits in the IPC to the components signalling thread to encode the command, therefore we have 30 bits left to specify the event mask

Definition at line 204 of file types.h.

Referenced by __reset_event(), __set_event(), __wait_for_events(), and dsi_socket_create().


Generated on Wed Apr 11 06:40:14 2012 for DSI - Drops Streaming Interface by  doxygen 1.5.6