Go to the documentation of this file.
50 #ifdef NO_OS_NETWORKING
51 #include "tcp_socket.h"
61 #ifdef NO_OS_NETWORKING
116 #ifdef NO_OS_NETWORKING
117 struct tcp_socket_init_param *tcp_socket_init_param;
148 int32_t *val, int32_t *val2);
150 int32_t size, int32_t *vals);
@ IIO_ACCEL
Definition: iio_types.h:77
int32_t(* read_dev)(void *dev, void *buff, uint32_t nb_samples)
Definition: iio_types.h:265
@ IIO_DIRECTION_INPUT
Definition: iio_types.h:202
@ IIO_VAL_INT_PLUS_MICRO_DB
Definition: iio_types.h:59
enum pysical_link_type phy_type
Definition: iio.h:113
int iio_remove(struct iio_desc *desc)
Free the resources allocated by "iio_init()".
Definition: iio.c:1988
int64_t no_os_div_s64_rem(int64_t dividend, int32_t divisor, int32_t *remainder)
@ IIO_ANGL_VEL
Definition: iio_types.h:74
@ IIO_VAL_INT
Definition: iio_types.h:56
Struct describing the scan type.
Definition: iio_types.h:170
@ IIO_VAL_INT_PLUS_NANO
Definition: iio_types.h:58
char sign
Definition: iio_types.h:155
int iio_buffer_pop_scan(struct iio_buffer *buffer, void *data)
Definition: iio.c:1416
int32_t no_os_uart_write(struct no_os_uart_desc *desc, const uint8_t *data, uint32_t bytes_number)
Write to UART.
Definition: no_os_uart.c:130
@ IIO_SHARED_BY_TYPE
Definition: iio_types.h:122
int iio_remove(struct iio_desc *desc)
Free the resources allocated by "iio_init()".
Definition: iio.c:1988
uint32_t nb_trigs
Definition: iio.h:126
@ IIO_SEPARATE
Definition: iio_types.h:121
struct iio_channel * channels
Definition: iio_types.h:254
int(* open)(struct iiod_ctx *ctx, const char *device, uint32_t samples, uint32_t mask, bool cyclic)
Definition: iiod.h:113
const char * name
Definition: iio.c:168
void * instance
Definition: iiod.h:77
@ IIO_VAL_FRACTIONAL_LOG2
Definition: iio_types.h:62
void * dev
Definition: iio_types.h:227
struct iio_ctx_attr * ctx_attrs
Definition: iio.c:207
int iio_init(struct iio_desc **desc, struct iio_init_param *init_param)
Set communication ops and read/write ops that will be called from "libtinyiiod".
Definition: iio.c:1850
#define no_os_bswap_constant_32(x)
Definition: no_os_util.h:93
uint32_t local_backend_buff_len
Definition: iio.h:109
struct iio_trigger * descriptor
Definition: iio.c:196
void * conn
Definition: iiod.h:84
Structure holding channel attributess.
Definition: iio_types.h:105
#define MAX_TRIG_ID
Definition: iiod.h:52
@ IIO_VAL_INT_PLUS_MICRO
Definition: iio_types.h:57
#define NO_OS_EOVERRUN
Definition: no_os_error.h:53
uint32_t bytes_per_scan
Definition: iio_types.h:217
int32_t no_os_uart_read(struct no_os_uart_desc *desc, uint8_t *data, uint32_t bytes_number)
Read data from UART.
Definition: no_os_uart.c:110
int(* show)(void *device, char *buf, uint32_t len, const struct iio_ch_info *channel, intptr_t priv)
Definition: iio_types.h:142
@ IIO_MOD_PITCH
Definition: iio_types.h:96
bool is_big_endian
Definition: iio_types.h:163
bool diferential
Definition: iio_types.h:198
Definition: iiod_private.h:167
@ IIO_MOD_Z
Definition: iio_types.h:94
uint8_t storagebits
Definition: iio_types.h:159
@ IIO_VAL_FRACTIONAL
Definition: iio_types.h:61
#define NO_OS_IS_ERR_VALUE(x)
Definition: no_os_error.h:56
struct iio_device * dev_descriptor
Definition: iio.c:176
const char * channel
Definition: iiod.h:72
Header file of Delay functions.
#define no_os_max(x, y)
Definition: no_os_util.h:68
int iio_buffer_push_scan(struct iio_buffer *buffer, void *data)
Definition: iio.c:1407
char * xml_desc
Definition: iio.c:205
int(* disable)(void *trig)
Definition: iio_types.h:240
struct iio_buffer public
Definition: iio.c:146
@ USE_LOCAL_BACKEND
Definition: iio.h:60
uint32_t xml_len
Definition: iiod.h:174
struct iiod_desc * iiod
Definition: iio.c:202
Definition: ad9361_util.h:75
@ IIO_RESISTANCE
Definition: iio_types.h:78
int8_t * raw_buf
Definition: iio.c:150
int32_t(* write_dev)(void *dev, void *buff, uint32_t nb_samples)
Definition: iio_types.h:270
Structure holding the local backend init parameters.
Definition: iio.h:105
@ IIO_ALTVOLTAGE
Definition: iio_types.h:73
enum iio_chan_type ch_type
Definition: iio_types.h:174
int8_t * buff
Definition: no_os_circular_buffer.h:77
void * no_os_calloc(size_t nitems, size_t size)
int iio_buffer_block_done(struct iio_buffer *buffer)
Definition: iio.c:1395
bool triggered
Definition: iio.c:198
int32_t no_os_cb_prepare_async_write(struct no_os_circular_buffer *desc, uint32_t raw_size_to_write, void **write_buff, uint32_t *raw_size_avilable)
int32_t(* post_disable)(void *dev)
Definition: iio_types.h:276
struct iio_ch_info * ch_info
Definition: iio.c:141
iio_attr_type
Definition: iiod.h:56
int iio_buffer_pop_scan(struct iio_buffer *buffer, void *data)
Definition: iio.c:1416
int channel2
Definition: iio_types.h:180
int(* close)(struct iiod_ctx *ctx, const char *device)
Definition: iiod.h:116
int32_t(* debug_reg_read)(void *dev, uint32_t reg, uint32_t *readval)
Definition: iio_types.h:283
int32_t iiod_conn_add(struct iiod_desc *desc, struct iiod_conn_data *data, uint32_t *new_conn_id)
Definition: iiod.c:399
void * instance
Definition: iiod.h:167
int iio_init(struct iio_desc **desc, struct iio_init_param *init_param)
Set communication ops and read/write ops that will be called from "libtinyiiod".
Definition: iio.c:1850
bool ch_out
Definition: iio_types.h:190
char * trigger_id
Definition: iio.h:81
struct iio_local_backend * local_backend
Definition: iio.h:120
int64_t no_os_div_s64(int64_t dividend, int32_t divisor)
void * trig
Definition: iio.h:86
int32_t no_os_cb_end_async_write(struct no_os_circular_buffer *desc)
#define IIOD_PORT
Definition: iio.c:71
@ IIO_SHARED_BY_ALL
Definition: iio_types.h:124
struct iio_ctx_attr * ctx_attrs
Definition: iio.h:121
#define no_os_min(x, y)
Definition: no_os_util.h:63
struct no_os_uart_desc * uart_desc
Definition: iio.h:115
int channel
Definition: iio_types.h:176
int32_t(* pre_enable)(void *dev, uint32_t mask)
Definition: iio_types.h:274
Stucture holding the UART descriptor.
Definition: no_os_uart.h:134
enum iio_attribute_shared shared
Definition: iio_types.h:140
Links a physical trigger instance "void *instance" with a "iio_trigger *descriptor" that describes ca...
Definition: iio.c:188
const char * value
Definition: iio.h:98
uint8_t shift
Definition: iio_types.h:161
#define IIOD_MAX_CONNECTIONS
Definition: iiod.h:47
int(* store)(void *device, char *buf, uint32_t len, const struct iio_ch_info *channel, intptr_t priv)
Definition: iio_types.h:145
@ IIO_MOD_Y
Definition: iio_types.h:93
const char * name
Definition: iio_types.h:133
bool allocated
Definition: iio.c:156
struct iio_dev_priv * devs
Definition: iio.c:209
int iio_buffer_block_done(struct iio_buffer *buffer)
Definition: iio.c:1395
char * xml
Definition: iiod.h:172
int(* refill_buffer)(struct iiod_ctx *ctx, const char *device)
Definition: iiod.h:122
const char * name
Definition: iio_types.h:172
struct iio_attribute * debug_attributes
Definition: iio_types.h:258
struct iiod_ops * ops
Definition: iiod.h:165
@ IIO_VAL_CHAR
Definition: iio_types.h:63
const char * name
Definition: iio.h:96
int32_t(* submit)(struct iio_device_data *dev)
Definition: iio_types.h:278
char * buf
Definition: iiod.h:86
int32_t iiod_init(struct iiod_desc **desc, struct iiod_init_param *param)
Definition: iiod.c:354
uint32_t size
Definition: iio_types.h:215
int(* write_buffer)(struct iiod_ctx *ctx, const char *device, const char *buf, uint32_t bytes)
Definition: iiod.h:125
struct iio_cyclic_buffer_info cyclic_info
Definition: iio_types.h:223
int iio_buffer_get_block(struct iio_buffer *buffer, void **addr)
Definition: iio.c:1362
struct iio_trigger * descriptor
Definition: iio.h:87
char * name
Definition: iio.h:69
@ IIO_ATTR_TYPE_DEVICE
Definition: iiod.h:61
int(* set_buffers_count)(struct iiod_ctx *ctx, const char *device, uint32_t buffers_count)
Definition: iiod.h:153
iio_buffer_direction
Definition: iio_types.h:201
Structure holding pointers to show and store functions.
Definition: iio_types.h:131
int(* get_trigger)(struct iiod_ctx *ctx, const char *device, char *trigger, uint32_t len)
Definition: iiod.h:140
void * conn
Definition: iiod.h:79
void iiod_remove(struct iiod_desc *desc)
Definition: iiod.c:382
uint32_t len
Definition: iio.c:140
struct no_os_uart_desc * uart_desc
Definition: iio.c:213
Definition: iio_types.h:211
#define REG_ACCESS_ATTRIBUTE
Definition: iio.c:73
bool initalized
Definition: iio.c:154
uint32_t active_mask
Definition: iio_types.h:213
int(* read_attr)(struct iiod_ctx *ctx, const char *device, struct iiod_attr *attr, char *buf, uint32_t len)
Definition: iiod.h:134
Circular buffer library header.
struct iio_device_init * devs
Definition: iio.h:123
struct no_os_circular_buffer * buf
Definition: iio_types.h:221
@ IIO_ATTR_TYPE_DEBUG
Definition: iiod.h:57
@ IIO_CURRENT
Definition: iio_types.h:72
int32_t iio_parse_value(char *buf, enum iio_val fmt, int32_t *val, int32_t *val2)
Definition: iio.c:607
@ IIO_MOD_YAW
Definition: iio_types.h:97
int(* recv)(void *conn, uint8_t *buf, uint32_t len)
Definition: iio.c:214
@ IIO_VOLTAGE
Definition: iio_types.h:71
uint32_t nb_ctx_attr
Definition: iio.h:122
@ IIO_ANGL
Definition: iio_types.h:82
#define IIOD_CONN_BUFFER_SIZE
Definition: iio.c:74
@ IIO_MOD_TEMP_AMBIENT
Definition: iio_types.h:95
struct iio_device_data dev_data
Definition: iio.c:172
#define NO_OS_TOSTRING(x)
Definition: iio.c:78
Links a physical device instance "void *dev_instance" with a "iio_device *iio" that describes capabil...
Definition: iio.c:164
char dev_id[MAX_DEV_ID]
Definition: iio.c:166
#define MAX_DEV_ID
Definition: iiod.h:51
uint32_t nb_ctx_attr
Definition: iio.c:208
struct iio_buffer * buffer
Definition: iio_types.h:228
iio_val
Definition: iio_types.h:55
struct iio_buffer_priv buffer
Definition: iio.c:178
uint32_t buff_index
Definition: iio_types.h:208
@ IIO_CAPACITANCE
Definition: iio_types.h:76
char * name
Definition: iio.h:85
@ IIO_DIRECTION_OUTPUT
Definition: iio_types.h:203
struct no_os_circular_buffer cb
Definition: iio.c:148
const char * name
Definition: iiod.h:71
int32_t no_os_cb_prepare_async_read(struct no_os_circular_buffer *desc, uint32_t raw_size_to_read, void **read_buff, uint32_t *raw_size_avilable)
#define MAX_CHN_ID
Definition: iiod.h:53
int(* set_trigger)(struct iiod_ctx *ctx, const char *device, const char *trigger, uint32_t len)
Definition: iiod.h:146
struct iio_trigger_init * trigs
Definition: iio.h:125
int iio_format_value(char *buf, uint32_t len, enum iio_val fmt, int32_t size, int32_t *vals)
Definition: iio.c:658
int(* send)(void *conn, uint8_t *buf, uint32_t len)
Definition: iio.c:215
int32_t no_os_cb_init(struct no_os_circular_buffer **desc, uint32_t size)
int32_t no_os_cb_remove(struct no_os_circular_buffer *desc)
struct iio_attribute * buffer_attributes
Definition: iio_types.h:260
int(* read_buffer)(struct iiod_ctx *ctx, const char *device, char *buf, uint32_t bytes)
Definition: iiod.h:119
uint32_t nb_devs
Definition: iio.h:124
void * dev_instance
Definition: iio.c:170
int iio_process_trigger_type(struct iio_desc *desc, char *trigger_name)
Searches for trigger name and processes the trigger based on its type (sync or async with the interru...
Definition: iio.c:1053
char * buf
Definition: iio.c:139
struct iio_attribute * attributes
Definition: iio_types.h:188
Header file for iio_types.
uint16_t num_ch
Definition: iio_types.h:252
struct scan_type * scan_type
Definition: iio_types.h:186
@ USE_UART
Definition: iio.h:59
void no_os_free(void *ptr)
@ IIO_MOD_X
Definition: iio_types.h:92
struct iio_device * dev_descriptor
Definition: iio.h:71
@ IIO_TEMP
Definition: iio_types.h:75
uint32_t active_reg_addr
Definition: iio.c:174
@ IIO_MOD_ROLL
Definition: iio_types.h:98
int iio_process_trigger_type(struct iio_desc *desc, char *trigger_name)
Searches for trigger name and processes the trigger based on its type (sync or async with the interru...
Definition: iio.c:1053
int32_t(* trigger_handler)(struct iio_device_data *dev)
Definition: iio_types.h:280
void * phy_desc
Definition: iio.c:204
enum iio_buffer_direction dir
Definition: iio_types.h:219
@ IIO_ATTR_TYPE_CH_IN
Definition: iiod.h:60
void * dev
Definition: iio.h:70
#define NULL
Definition: wrapper.h:64
Definition: iio_types.h:231
enum iio_attr_type type
Definition: iiod.h:65
int32_t no_os_cb_cfg(struct no_os_circular_buffer *desc, int8_t *buf, uint32_t size)
bool modified
Definition: iio_types.h:193
uint32_t nb_devs
Definition: iio.c:210
int scan_index
Definition: iio_types.h:184
uint32_t trig_idx
Definition: iio.c:180
@ IIO_ATTR_TYPE_CH_OUT
Definition: iiod.h:59
@ IIO_MAGN
Definition: iio_types.h:79
#define no_os_shift_right(x, s)
Definition: no_os_util.h:117
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
struct iio_trig_priv * trigs
Definition: iio.c:211
Structure holding channels and attributes of a device.
Definition: iio_types.h:247
int32_t no_os_cb_write(struct no_os_circular_buffer *desc, const void *data, uint32_t nb_elements)
uint32_t raw_buf_len
Definition: iio.h:79
@ IIO_INCLI
Definition: iio_types.h:80
int(* send)(struct iiod_ctx *ctx, uint8_t *buf, uint32_t len)
Definition: iiod.h:102
int(* write_attr)(struct iiod_ctx *ctx, const char *device, struct iiod_attr *attr, char *buf, uint32_t len)
Definition: iiod.h:137
bool is_cyclic
Definition: iio_types.h:207
Circular buffer descriptor.
Definition: no_os_circular_buffer.h:73
int(* push_buffer)(struct iiod_ctx *ctx, const char *device)
Definition: iiod.h:128
struct iio_attribute * attributes
Definition: iio_types.h:236
char id[MAX_TRIG_ID]
Definition: iio.c:190
int iio_step(struct iio_desc *desc)
Execute an iio step.
Definition: iio.c:1470
char * name
Definition: iio.c:192
uint32_t nb_trigs
Definition: iio.c:212
@ IIO_ROT
Definition: iio_types.h:83
int(* enable)(void *trig)
Definition: iio_types.h:238
#define NO_TRIGGER
Definition: iio.c:75
int32_t iiod_conn_step(struct iiod_desc *desc, uint32_t conn_id)
Definition: iiod.c:873
void * dev_instance
Definition: iio.c:138
@ IIO_ATTR_TYPE_BUFFER
Definition: iiod.h:58
Structure holding the context attribute members.
Definition: iio.h:94
struct no_os_circular_buffer * conns
Definition: iio.c:217
char * local_backend_buff
Definition: iio.h:108
Header file of UART interface.
bool is_synchronous
Definition: iio_types.h:234
void * instance
Definition: iio.c:194
int(* local_backend_event_read)(void *conn, uint8_t *buf, uint32_t len)
Definition: iio.h:106
int(* local_backend_event_write)(void *conn, uint8_t *buf, uint32_t len)
Definition: iio.h:107
pysical_link_type
Definition: iio.h:58
int iio_buffer_get_block(struct iio_buffer *buffer, void **addr)
Definition: iio.c:1362
Header file of utility functions.
int iio_format_value(char *buf, uint32_t len, enum iio_val fmt, int32_t size, int32_t *vals)
Definition: iio.c:658
Definition: iio_types.h:226
int32_t(* debug_reg_write)(void *dev, uint32_t reg, uint32_t writeval)
Definition: iio_types.h:285
@ IIO_VELOCITY
Definition: iio_types.h:81
uint32_t xml_size
Definition: iio.c:206
int32_t no_os_cb_size(struct no_os_circular_buffer *desc, uint32_t *size)
int8_t * raw_buf
Definition: iio.h:77
dev_id
Definition: ad9361.h:3334
int32_t no_os_cb_end_async_read(struct no_os_circular_buffer *desc)
int32_t iiod_conn_remove(struct iiod_desc *desc, uint32_t conn_id, struct iiod_conn_data *data)
Definition: iiod.c:429
int(* recv)(struct iiod_ctx *ctx, uint8_t *buf, uint32_t len)
Definition: iiod.h:103
@ IIO_SHARED_BY_DIR
Definition: iio_types.h:123
uint32_t raw_buf_len
Definition: iio.c:152
int iio_step(struct iio_desc *desc)
Execute an iio step.
Definition: iio.c:1470
unsigned long address
Definition: iio_types.h:182
int iio_buffer_push_scan(struct iio_buffer *buffer, void *data)
Definition: iio.c:1407
struct iio_attribute * attributes
Definition: iio_types.h:256
@ IIO_VAL_INT_MULTIPLE
Definition: iio_types.h:60
int32_t iio_parse_value(char *buf, enum iio_val fmt, int32_t *val, int32_t *val2)
Definition: iio.c:607
bool indexed
Definition: iio_types.h:196
int32_t no_os_cb_read(struct no_os_circular_buffer *desc, void *data, uint32_t nb_elements)
struct iiod_ops iiod_ops
Definition: iio.c:203
uint8_t realbits
Definition: iio_types.h:157