VSF Documented
Data Structures
vsf_simple_stream.h File Reference

vsf simple stream More...

#include "service/vsf_service_cfg.h"
#include "utilities/vsf_utilities.h"
#include "utilities/ooc_class.h"
#include "./fifo_stream/vsf_fifo_stream.h"
#include "./mem_stream/vsf_mem_stream.h"
#include "./block_stream/vsf_block_stream.h"
#include "./distbus_stream/vsf_distbus_stream.h"
#include "./queue_stream/vsf_queue_stream.h"

Go to the source code of this file.

Data Structures

class  vsf_stream_op_t
 
class  vsf_stream_terminal_t
 
class  vsf_stream_t
 
class  vsf_stream_adapter_t
 
#define VSF_STREAM_CFG_TICKTOCK   ENABLED
 
#define VSF_STREAM_CFG_THRESHOLD   ENABLED
 
#define __VSF_STREAM_ADAPTER_INIT(__STREAM_TX, __STREAM_RX, __THRESHOLD_TX, __THRESHOLD_RX)
 
#define VSF_STREAM_ADAPTER_INIT0(__STREAM_TX, __STREAM_RX)    __VSF_STREAM_ADAPTER_INIT((__STREAM_TX), (__STREAM_RX), 0, 0)
 
#define VSF_STREAM_ADAPTER_INIT1(__STREAM_TX, __STREAM_RX, __THRESHOLD_TX)    __VSF_STREAM_ADAPTER_INIT((__STREAM_TX), (__STREAM_RX), (__THRESHOLD_TX), 0)
 
#define VSF_STREAM_ADAPTER_INIT2(__STREAM_TX, __STREAM_RX, __THRESHOLD_TX, __THRESHOLD_RX)    __VSF_STREAM_ADAPTER_INIT((__STREAM_TX), (__STREAM_RX), (__THRESHOLD_TX), (__THRESHOLD_RX))
 
#define VSF_STREAM_ADAPTER_INIT(__STREAM_TX, __STREAM_RX, ...)    __PLOOC_EVAL(VSF_STREAM_ADAPTER_INIT, __VA_ARGS__)((__STREAM_TX), (__STREAM_RX), ##__VA_ARGS__)
 
#define __declare_stream_adapter(__name)    vsf_dcl_class(vsf_stream_adapter_t)
 
#define declare_stream_adapter(__name)    __declare_stream_adapter(__name)
 
#define dcl_stream_adapter(__name)    declare_stream_adapter(__name)
 
#define __describe_stream_adapter(__name, __stream_tx, __stream_rx, __threshold_tx, __threshold_rx)
 
#define describe_stream_adapter0(__name, __stream_tx, __stream_rx)    __describe_stream_adapter(__name, (__stream_tx), (__stream_rx), 0, 0)
 
#define describe_stream_adapter1(__name, __stream_tx, __stream_rx, __threshold_tx)    __describe_stream_adapter(__name, (__stream_tx), (__stream_rx), (__threshold_tx), 0)
 
#define describe_stream_adapter2(__name, __stream_tx, __stream_rx, __threshold_tx, __threshold_rx)    __describe_stream_adapter(__name, (__stream_tx), (__stream_rx), (__threshold_tx), __threshold_rx)
 
#define describe_stream_adapter(__name, __stream_tx, __stream_rx, ...)    __PLOOC_EVAL(describe_stream_adapter, __VA_ARGS__)(__name, (__stream_tx), (__stream_rx), ##__VA_ARGS__)
 
#define VSF_STREAM_INIT(__stream)   vsf_stream_init((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_FINI(__stream)   vsf_stream_fini((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_WRITE(__stream, __buf, __size)   vsf_stream_write((vsf_stream_t *)(__stream), (__buf), (__size))
 
#define VSF_STREAM_READ(__stream, __buf, __size)   vsf_stream_read((vsf_stream_t *)(__stream), (__buf), (__size))
 
#define VSF_STREAM_GET_BUFF_SIZE(__stream)   vsf_stream_get_buff_size((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_GET_DATA_SIZE(__stream)   vsf_stream_get_data_size((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_GET_FREE_SIZE(__stream)   vsf_stream_get_free_size((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_GET_WBUF(__stream, p)   vsf_stream_get_wbuf((vsf_stream_t *)(__stream), (p))
 
#define VSF_STREAM_GET_RBUF(__stream, p)   vsf_stream_get_rbuf((vsf_stream_t *)(__stream), (p))
 
#define VSF_STREAM_CONNECT_RX(__stream)   vsf_stream_connect_rx((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_CONNECT_TX(__stream)   vsf_stream_connect_tx((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_DISCONNECT_RX(__stream)   vsf_stream_disconnect_rx((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_DISCONNECT_TX(__stream)   vsf_stream_disconnect_tx((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_IS_RX_CONNECTED(__stream)   vsf_stream_is_rx_connected((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_IS_TX_CONNECTED(__stream)   vsf_stream_is_tx_connected((vsf_stream_t *)(__stream))
 
#define VSF_STREAM_SET_RX_THRESHOLD(__stream, __thres)   vsf_stream_set_rx_threshold((vsf_stream_t *)(__stream), (__thres))
 
#define VSF_STREAM_SET_TX_THRESHOLD(__stream, __thres)   vsf_stream_set_tx_threshold((vsf_stream_t *)(__stream), (__thres))
 
enum  vsf_stream_evt_t {
  VSF_STREAM_ON_CONNECT ,
  VSF_STREAM_ON_DISCONNECT ,
  VSF_STREAM_ON_IN ,
  VSF_STREAM_ON_RX = VSF_STREAM_ON_IN ,
  VSF_STREAM_ON_OUT ,
  VSF_STREAM_ON_TX = VSF_STREAM_ON_OUT
}
 
typedef enum vsf_stream_evt_t vsf_stream_evt_t
 
vsf_err_t vsf_stream_init (vsf_stream_t *stream)
 
vsf_err_t vsf_stream_fini (vsf_stream_t *stream)
 
uint_fast32_t vsf_stream_write (vsf_stream_t *stream, uint8_t *buf, uint_fast32_t size)
 
uint_fast32_t vsf_stream_read (vsf_stream_t *stream, uint8_t *buf, uint_fast32_t size)
 
void vsf_stream_set_tx_threshold (vsf_stream_t *stream, uint_fast32_t threshold)
 
void vsf_stream_set_rx_threshold (vsf_stream_t *stream, uint_fast32_t threshold)
 
uint_fast32_t vsf_stream_get_buff_size (vsf_stream_t *stream)
 
uint_fast32_t vsf_stream_get_data_size (vsf_stream_t *stream)
 
uint_fast32_t vsf_stream_get_free_size (vsf_stream_t *stream)
 
uint_fast32_t vsf_stream_get_wbuf (vsf_stream_t *stream, uint8_t **ptr)
 
uint_fast32_t vsf_stream_get_rbuf (vsf_stream_t *stream, uint8_t **ptr)
 
void vsf_stream_connect_rx (vsf_stream_t *stream)
 
void vsf_stream_connect_tx (vsf_stream_t *stream)
 
void vsf_stream_disconnect_rx (vsf_stream_t *stream)
 
void vsf_stream_disconnect_tx (vsf_stream_t *stream)
 
bool vsf_stream_is_rx_connected (vsf_stream_t *stream)
 
bool vsf_stream_is_tx_connected (vsf_stream_t *stream)
 
uint_fast32_t vsf_stream_adapter_evthandler (vsf_stream_t *stream, void *param, vsf_stream_evt_t evt)
 
void vsf_stream_adapter_init (vsf_stream_adapter_t *adapter)
 

Detailed Description

vsf simple stream

provides a simple stream implementation