VSF Documented
vsf_queue.h File Reference

Go to the source code of this file.

Macros

#define __PLOOC_CLASS_USE_STRICT_TEMPLATE__
 
#define __declare_vsf_rng_buf(__name)
 
#define declare_vsf_rng_buf(__name)
 
#define NO_RNG_BUF_PROTECT(__CODE)
 
#define no_rng_buf_protect(__code)
 
#define __def_vsf_rng_buf(__name, __type)
 
#define def_vsf_rng_buf(__name, __type)
 
#define __implement_vsf_rng_buf(__name, __type, __queue_protect)
 
#define implement_vsf_rng_buf(__name, __type, __queue_protect)
 
#define __vsf_rng_buf_init(__name, __type, __qaddr, __item_count)
 
#define vsf_rng_buf_init(__name, __type, __qaddr, __item_count)
 
#define __vsf_rng_buf_prepare(__name, __qaddr, __buffer, __size)
 
#define vsf_rng_buf_prepare(__name, __qaddr, __buffer, __size)
 
#define __vsf_rng_buf_send_1(__name, __qaddr, __item)
 
#define __vsf_rng_buf_send_2(__name, __qaddr, __buffer, __size)
 
#define __vsf_rng_buf_get_1(__name, __qaddr, __item)
 
#define __vsf_rng_buf_get_2(__name, __qaddr, __buffer, __size)
 
#define __vsf_rng_buf_peek_1(__name, __qaddr, __item)
 
#define __vsf_rng_buf_peek_2(__name, __qaddr, __buffer, __size)
 
#define vsf_rng_buf_send_one(__name, __qaddr, __item)
 
#define vsf_rng_buf_send_buf(__name, __qaddr, __buffer, __size)
 
#define vsf_rng_buf_get_one(__name, __qaddr, __item)
 
#define vsf_rng_buf_get_buf(__name, __qaddr, __buffer, __size)
 
#define __vsf_rng_buf_count(__name, __qaddr)
 
#define vsf_rng_buf_count(__name, __qaddr)
 
#define ____vsf_rng_buf_reset_peek(__name, __qaddr)
 
#define vsf_rng_buf_reset_peek(__name, __qaddr)
 
#define ____vsf_rng_buf_get_all_peeked(__name, __qaddr)
 
#define vsf_rng_buf_get_all_peeked(__name, __qaddr)
 
#define __vsf_rng_buf_peekable_count(__name, __qaddr)
 
#define vsf_rng_buf_peekable_count(__name, __qaddr)
 

Functions

 declare_class (vsf_rng_buf_t) def_class(vsf_rng_buf_t
 
 end_def_class (vsf_rng_buf_t) extern void __vsf_rng_buf_init_ex(vsf_rng_buf_t *obj_ptr
 
int32_t __vsf_rng_buf_send_one (vsf_rng_buf_t *obj_ptr)
 
int32_t __vsf_rng_buf_get_one (vsf_rng_buf_t *obj_ptr)
 
int32_t __vsf_rng_buf_send_multiple (vsf_rng_buf_t *obj_ptr, uint16_t *item_cnt_ptr)
 
int32_t __vsf_rng_buf_get_multiple (vsf_rng_buf_t *obj_ptr, uint16_t *item_cnt_ptr)
 
uint_fast16_t __vsf_rng_buf_item_count (vsf_rng_buf_t *obj_ptr)
 
int32_t __vsf_rng_buf_peek_one (vsf_rng_buf_t *obj_ptr)
 
void __vsf_rng_buf_get_all_peeked (vsf_rng_buf_t *obj_ptr)
 
void __vsf_rng_buf_reset_peek (vsf_rng_buf_t *obj_ptr)
 
uint_fast16_t __vsf_rng_buf_item_count_peekable (vsf_rng_buf_t *obj_ptr)
 
int32_t __vsf_rng_buf_peek_multiple (vsf_rng_buf_t *obj_ptr, uint16_t *item_cnt_ptr)
 

Variables

uint16_t buffer_item_cnt
 
uint16_t tail
 
uint16_t length
 
uint16_t head
 
uint16_t peek_cnt
 
uint16_t peek
 
uint_fast16_t bool is_init_as_full
 

Macro Definition Documentation

◆ __PLOOC_CLASS_USE_STRICT_TEMPLATE__

#define __PLOOC_CLASS_USE_STRICT_TEMPLATE__

\NOTE: Make sure #include "utilities/ooc_class.h" is close to the class ! definition and there is NO ANY OTHER module-interface-header file ! included in this file

◆ __declare_vsf_rng_buf

#define __declare_vsf_rng_buf ( __name)
Value:
typedef struct __name __name; \
typedef struct __name##_cfg_t __name##_cfg_t;
#define __name
Definition hci_transport_aic8800.c:555

◆ declare_vsf_rng_buf

#define declare_vsf_rng_buf ( __name)
Value:
#define __declare_vsf_rng_buf(__name)
Definition vsf_queue.h:172

◆ NO_RNG_BUF_PROTECT

#define NO_RNG_BUF_PROTECT ( __CODE)
Value:
__CODE

◆ no_rng_buf_protect

#define no_rng_buf_protect ( __code)
Value:
__code

◆ __def_vsf_rng_buf

#define __def_vsf_rng_buf ( __name,
__type )

◆ def_vsf_rng_buf

#define def_vsf_rng_buf ( __name,
__type )
Value:
#define __type
Definition hci_transport_aic8800.c:556
#define __def_vsf_rng_buf(__name, __type)
Definition vsf_queue.h:183

◆ __implement_vsf_rng_buf

#define __implement_vsf_rng_buf ( __name,
__type,
__queue_protect )

◆ implement_vsf_rng_buf

#define implement_vsf_rng_buf ( __name,
__type,
__queue_protect )
Value:
#define __implement_vsf_rng_buf(__name, __type, __queue_protect)
Definition vsf_queue.h:314

◆ __vsf_rng_buf_init

#define __vsf_rng_buf_init ( __name,
__type,
__qaddr,
__item_count )
Value:
do { \
VSF_CAL_NO_INIT static uint16_t __buffer[(__item_count)]; \
__name##_cfg_t cfg = { \
__buffer, \
sizeof(__buffer), \
}; \
__name##_init((__qaddr), & cfg); \
} while(0)
void _init()
Definition init.c:12
unsigned short uint16_t
Definition stdint.h:7

◆ vsf_rng_buf_init

#define vsf_rng_buf_init ( __name,
__type,
__qaddr,
__item_count )
Value:
__vsf_rng_buf_init(__name, __type, (__qaddr), (__item_count))
#define __vsf_rng_buf_init(__name, __type, __qaddr, __item_count)
Definition vsf_queue.h:508

◆ __vsf_rng_buf_prepare

#define __vsf_rng_buf_prepare ( __name,
__qaddr,
__buffer,
__size )
Value:
do { \
__name##_cfg_t cfg = {0}; \
cfg.buffer_ptr = (__buffer); \
cfg.size = (__size); \
__name##_init((__qaddr), & cfg); \
} while(0)

◆ vsf_rng_buf_prepare

#define vsf_rng_buf_prepare ( __name,
__qaddr,
__buffer,
__size )
Value:
__vsf_rng_buf_prepare(__name, (__qaddr), (__buffer), (__size))
#define __vsf_rng_buf_prepare(__name, __qaddr, __buffer, __size)
Definition vsf_queue.h:525

◆ __vsf_rng_buf_send_1

#define __vsf_rng_buf_send_1 ( __name,
__qaddr,
__item )
Value:
__name##_send_one((__qaddr), __item)

◆ __vsf_rng_buf_send_2

#define __vsf_rng_buf_send_2 ( __name,
__qaddr,
__buffer,
__size )
Value:
__name##_send_multiple((__qaddr), (__buffer), (__size))

◆ __vsf_rng_buf_get_1

#define __vsf_rng_buf_get_1 ( __name,
__qaddr,
__item )
Value:
__name##_get_one((__qaddr), __item)

◆ __vsf_rng_buf_get_2

#define __vsf_rng_buf_get_2 ( __name,
__qaddr,
__buffer,
__size )
Value:
__name##_get_multiple((__qaddr), (__buffer), (__size))

◆ __vsf_rng_buf_peek_1

#define __vsf_rng_buf_peek_1 ( __name,
__qaddr,
__item )
Value:
__name##_peek_one((__qaddr), __item)

◆ __vsf_rng_buf_peek_2

#define __vsf_rng_buf_peek_2 ( __name,
__qaddr,
__buffer,
__size )
Value:
__name##_peek_multiple((__qaddr), (__buffer), (__size))

◆ vsf_rng_buf_send_one

#define vsf_rng_buf_send_one ( __name,
__qaddr,
__item )
Value:
__vsf_rng_buf_send_1(__name, (__qaddr), (__item))
#define __vsf_rng_buf_send_1(__name, __qaddr, __item)
Definition vsf_queue.h:555

◆ vsf_rng_buf_send_buf

#define vsf_rng_buf_send_buf ( __name,
__qaddr,
__buffer,
__size )
Value:
__vsf_rng_buf_send_2(__name, (__qaddr), (__buffer), (__size))
#define __vsf_rng_buf_send_2(__name, __qaddr, __buffer, __size)
Definition vsf_queue.h:558

◆ vsf_rng_buf_get_one

#define vsf_rng_buf_get_one ( __name,
__qaddr,
__item )
Value:
__vsf_rng_buf_get_1(__name, (__qaddr), (__item))
#define __vsf_rng_buf_get_1(__name, __qaddr, __item)
Definition vsf_queue.h:561

◆ vsf_rng_buf_get_buf

#define vsf_rng_buf_get_buf ( __name,
__qaddr,
__buffer,
__size )
Value:
__vsf_rng_buf_get_2(__name, (__qaddr), (__buffer), (__size))
#define __vsf_rng_buf_get_2(__name, __qaddr, __buffer, __size)
Definition vsf_queue.h:564

◆ __vsf_rng_buf_count

#define __vsf_rng_buf_count ( __name,
__qaddr )
Value:
__name##_item_count((__qaddr))

◆ vsf_rng_buf_count

#define vsf_rng_buf_count ( __name,
__qaddr )
Value:
#define __vsf_rng_buf_count(__name, __qaddr)
Definition vsf_queue.h:599

◆ ____vsf_rng_buf_reset_peek

#define ____vsf_rng_buf_reset_peek ( __name,
__qaddr )
Value:
__name##_reset_peek((__qaddr))

◆ vsf_rng_buf_reset_peek

#define vsf_rng_buf_reset_peek ( __name,
__qaddr )
Value:
#define ____vsf_rng_buf_reset_peek(__name, __qaddr)
Definition vsf_queue.h:604

◆ ____vsf_rng_buf_get_all_peeked

#define ____vsf_rng_buf_get_all_peeked ( __name,
__qaddr )
Value:
__name##_get_all_peeked((__qaddr))

◆ vsf_rng_buf_get_all_peeked

#define vsf_rng_buf_get_all_peeked ( __name,
__qaddr )
Value:
#define ____vsf_rng_buf_get_all_peeked(__name, __qaddr)
Definition vsf_queue.h:609

◆ __vsf_rng_buf_peekable_count

#define __vsf_rng_buf_peekable_count ( __name,
__qaddr )
Value:
__name##_item_count_peekable((__qaddr))

◆ vsf_rng_buf_peekable_count

#define vsf_rng_buf_peekable_count ( __name,
__qaddr )
Value:
#define __vsf_rng_buf_peekable_count(__name, __qaddr)
Definition vsf_queue.h:614

Function Documentation

◆ declare_class()

declare_class ( vsf_rng_buf_t )

◆ end_def_class()

end_def_class ( vsf_rng_buf_t )

◆ __vsf_rng_buf_send_one()

int32_t __vsf_rng_buf_send_one ( vsf_rng_buf_t * obj_ptr)
extern

this queue is full

◆ __vsf_rng_buf_get_one()

int32_t __vsf_rng_buf_get_one ( vsf_rng_buf_t * obj_ptr)
extern

this queue is empty

◆ __vsf_rng_buf_send_multiple()

int32_t __vsf_rng_buf_send_multiple ( vsf_rng_buf_t * obj_ptr,
uint16_t * item_cnt_ptr )
extern

this queue is full

< update actual written number

◆ __vsf_rng_buf_get_multiple()

int32_t __vsf_rng_buf_get_multiple ( vsf_rng_buf_t * obj_ptr,
uint16_t * item_cnt_ptr )
extern

this queue is empty

< update actual written number

◆ __vsf_rng_buf_item_count()

uint_fast16_t __vsf_rng_buf_item_count ( vsf_rng_buf_t * obj_ptr)
extern

◆ __vsf_rng_buf_peek_one()

int32_t __vsf_rng_buf_peek_one ( vsf_rng_buf_t * obj_ptr)
extern

all items have been peeked

◆ __vsf_rng_buf_get_all_peeked()

void __vsf_rng_buf_get_all_peeked ( vsf_rng_buf_t * obj_ptr)
extern

◆ __vsf_rng_buf_reset_peek()

void __vsf_rng_buf_reset_peek ( vsf_rng_buf_t * obj_ptr)
extern

◆ __vsf_rng_buf_item_count_peekable()

uint_fast16_t __vsf_rng_buf_item_count_peekable ( vsf_rng_buf_t * obj_ptr)
extern

◆ __vsf_rng_buf_peek_multiple()

int32_t __vsf_rng_buf_peek_multiple ( vsf_rng_buf_t * obj_ptr,
uint16_t * item_cnt_ptr )
extern

this queue is empty

< update actual written number

Variable Documentation

◆ buffer_item_cnt

uint_fast16_t buffer_item_cnt

◆ tail

uint16_t tail

◆ length

uint16_t length

◆ head

uint16_t head

◆ peek_cnt

uint16_t peek_cnt

◆ peek

uint16_t peek

◆ is_init_as_full

uint_fast16_t bool is_init_as_full
Generated from commit: vsfteam/vsf@ceb53fd