# ioutil.h File Reference

## Detailed Description

Interface for IO Utility Library libio_<board>.a.

Definition in file ioutil.h.

Go to the source code of this file.

## Data Structures
struct | buffer_pool_t
struct | buffer_stream_t
struct | buffer_t
## Defines
#define | BUFFER_ADVANCE(b, more) do{ b->istart += more;}while(0)
#define | BUFFER_ELSZ(x) (sizeof(buffer_t) + (x))
#define | BUFFER_FREE_AT_END(b) (b->len - b->iend)
#define | BUFFER_FREE_AT_START(b) (b->istart)
#define | BUFFER_GET_MEMBLOCK(b, pmem, size)
#define | BUFFER_IS_LOCKED(b) ((b->used&2)!=0)
#define | BUFFER_IS_USED(b) ((b->used&1)!=0)
#define | BUFFER_LAST_CHAR(b) (b->iend <= b->istart) ? EOF : (char)b->data[b->iend-1]
#define | BUFFER_PDATA(b) (b->data + b->istart)
#define | BUFFER_RESET(b, start) do{ b->iend = b->istart = start;}while(0)
#define | BUFFER_SEEK(b, offset) (b->data + (b->iend=offset))
#define | BUFFER_SET_LOCK(b) do{b->used|=2;}while(0)
#define | BUFFER_SET_UNLOCK(b) do{b->used&=~2;}while(0)
#define | BUFFER_SET_UNUSED(b) do{b->used&=~1;}while(0)
#define | BUFFER_SET_USED(b) do{b->used|=1;}while(0)
#define | BUFFER_SIZE(b) (b->iend - b->istart)
#define | BUFFER_UPDATE_MEMBLOCK(b, end)
#define | JUMP_BOOT_LOADER()
#define | KEY_GET() (0)
#define | KEY_INIT()
#define | LED_CLR(ln) do{}while(0)
#define | LED_GET_VALUE() 0
#define | LED_INIT() do{}while(0)
#define | LED_MAX_VALUE ((1<<LED_NUMBER)-1)
#define | LED_NUMBER (0)
#define | LED_SET(ln) do{}while(0)
#define | LED_SET_VALUE(x) do{}while(0)
#define | LED_TOGGLE(ln) do{}while(0)
#define | LED_VAL(msk, val) do{}while(0)
## Functions
buffer_t * | buffer_alloc (buffer_pool_t *ppool, uint8_t istart)
uint8_t | buffer_append_block (buffer_t *b, void *pdata, uint8_t size)
int | buffer_append_char (buffer_t *b, uint8_t c)
void | buffer_free (buffer_t *pbuf)
uint8_t | buffer_get_block (buffer_t *b, void *pdata, uint8_t size)
int | buffer_get_char (buffer_t *b)
buffer_t * | buffer_init (void *pmem, uint8_t size, uint8_t start)
buffer_pool_t * | buffer_pool_init (uint8_t *pmem, size_t memsz, uint8_t bsz)
uint8_t | buffer_prepend_block (buffer_t *b, void *pdata, uint8_t size)
int | buffer_prepend_char (buffer_t *b, int c)
int | buffer_stream_getchar (FILE *f)
int | buffer_stream_init (buffer_stream_t *pbs, void(*incb)(buffer_t *pbuf), void(*outcb)(buffer_t *pbuf))
int | buffer_stream_putchar (char c, FILE *f)
static uint8_t | keys_debounced (void)
| Debounce Key values, returned from the macro KEY_GET().
static void | trap_if_key_pressed (void)
| Debounce Key values, returned from the macro KEY_GET().

## Define Documentation

#define KEY_GET | ( |  | ) | (0)

Reading of the KEY port directly and return the value LSB aligbed.

Definition at line 215 of file ioutil.h.

#define LED_CLR | ( | ln |  | ) | do{}while(0)

Switch the LED with the number ln OFF.

Definition at line 170 of file ioutil.h.

#define LED_GET_VALUE | ( |  | ) | 0

Read back the current numeric value from the LED port.

Definition at line 146 of file ioutil.h.

#define LED_INIT | ( |  | ) | do{}while(0)

Initialisation of the LED port.

Definition at line 115 of file ioutil.h.

#define LED_MAX_VALUE ((1<<LED_NUMBER)-1)

Maximum value, that can be displayed on the LEDs

Definition at line 200 of file ioutil.h.

#define LED_SET | ( | ln |  | ) | do{}while(0)

Switch the LED with the number ln ON.

Definition at line 158 of file ioutil.h.

#define LED_SET_VALUE | ( | x |  | ) | do{}while(0)

Display a numeric value on the LED port. The value x is masked out according LED_MASK, so that depending on the number of LEDs of the board the maximum displayed value is LED_MAX_VALUE.

Definition at line 130 of file ioutil.h.

#define LED_TOGGLE | ( | ln |  | ) | do{}while(0)

Toggle the LED with the number n.

Definition at line 194 of file ioutil.h.

#define LED_VAL | ( | msk,
|  | val |  | ) | do{}while(0)

.....

Definition at line 181 of file ioutil.h.