libiio  1.0
Library for interfacing with IIO devices
 All Files Functions Groups
iio-compat.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 /*
3  * libiio - Library for interfacing industrial I/O (IIO) devices
4  *
5  * Libiio 0.x to 1.x compat library
6  *
7  * Copyright (C) 2021 Analog Devices, Inc.
8  * Author: Paul Cercueil <paul.cercueil@analog.com>
9  */
13 #ifndef __LIBIIO_COMPAT_H__
14 #define __LIBIIO_COMPAT_H__
15 
16 #include <iio/iio.h>
17 
18 #ifndef DOXYGEN
19 #ifdef LIBIIO_COMPAT_EXPORTS
20 #define __api __iio_api_export
21 #else
22 #define __api __iio_api_import
23 #endif
24 #endif
25 
26 struct iio_context_info;
27 struct iio_scan_block;
28 struct iio_scan_context;
29 
30 
31 /* ---------------------------------------------------------------------------*/
32 /* ------------------------- Libiio 0.x to 1.x compat API --------------------*/
44 __api __check_ret struct iio_context * iio_create_default_context(void);
45 
46 
50 __api __check_ret struct iio_context * iio_create_local_context(void);
51 
52 
57 __api __check_ret struct iio_context * iio_create_network_context(const char *host);
58 
59 
67 __api __check_ret struct iio_context * iio_create_xml_context(const char *xml_file);
68 
69 
100 __api __check_ret struct iio_context * iio_create_context_from_uri(const char *uri);
101 
102 
111 __api __check_ret struct iio_scan_context *
112 iio_create_scan_context(const char *backend, unsigned int flags);
113 
114 
119 __api void iio_scan_context_destroy(struct iio_scan_context *ctx);
120 
121 
129 __api __check_ret ssize_t
130 iio_scan_context_get_info_list(struct iio_scan_context *ctx,
131  struct iio_context_info ***info);
132 
133 
137 __api void iio_context_info_list_free(struct iio_context_info **info);
138 
139 
144 __api __check_ret __pure const char *
145 iio_context_info_get_description(const struct iio_context_info *info);
146 
147 
152 __api __check_ret __pure const char *
153 iio_context_info_get_uri(const struct iio_context_info *info);
154 
155 
164 __api struct iio_scan_block *
165 iio_create_scan_block(const char *backend, unsigned int flags);
166 
167 
174 __api void iio_scan_block_destroy(struct iio_scan_block *blk);
175 
176 
183 __api ssize_t iio_scan_block_scan(struct iio_scan_block *blk);
184 
185 
194 __api struct iio_context_info *
195 iio_scan_block_get_info(struct iio_scan_block *blk, unsigned int index);
196 
197 
202 __api void iio_library_get_version(unsigned int *major,
203  unsigned int *minor, char git_tag[8]);
204 
205 
213 __api __check_ret int iio_context_get_version(const struct iio_context *ctx,
214  unsigned int *major,
215  unsigned int *minor,
216  char git_tag[8]);
217 
218 
226 __api __check_ret int iio_device_set_kernel_buffers_count(const struct iio_device *dev,
227  unsigned int nb_buffers);
228 
229 
230 /* ------------------------------------------------------------------*/
232 
233 #undef __api
234 
235 #endif /* __LIBIIO_COMPAT_H__ */
__api __check_ret ssize_t iio_scan_context_get_info_list(struct iio_scan_context *ctx, struct iio_context_info ***info)
Enumerate available contexts.
void iio_context_info_list_free(struct iio_context_info **list)
Free a context info list.
Definition: compat.c:509
struct iio_scan * iio_create_scan_context(const char *backends, unsigned int flags)
Create a scan context.
Definition: compat.c:527
struct iio_scan_block * iio_create_scan_block(const char *backend, unsigned int flags)
Create a scan block.
Definition: compat.c:652
struct iio_context_info * iio_scan_block_get_info(struct iio_scan_block *blk, unsigned int index)
Get the iio_context_info for a particular context.
Definition: compat.c:641
struct iio_context * iio_create_default_context(void)
Create a context from local or remote IIO devices.
Definition: compat.c:504
struct iio_context * iio_create_context_from_uri(const char *uri)
Create a context from a URI description.
Definition: compat.c:383
__api void iio_scan_context_destroy(struct iio_scan_context *ctx)
Destroy the given scan context.
int iio_device_set_kernel_buffers_count(const struct iio_device *dev, unsigned int nb_buffers)
Configure the number of kernel buffers for a device.
Definition: compat.c:1631
const char * iio_context_info_get_description(const struct iio_context_info *info)
Get a description of a discovered context.
Definition: compat.c:621
struct iio_context * iio_create_local_context(void)
Create a context from local IIO devices (Linux only)
Definition: compat.c:499
struct iio_context * iio_create_network_context(const char *hostname)
Create a context from the network.
Definition: compat.c:494
struct iio_context * iio_create_xml_context(const char *xml_file)
Create a context from a XML file.
Definition: compat.c:467
ssize_t iio_scan_block_scan(struct iio_scan_block *blk)
Enumerate available contexts via scan block.
Definition: compat.c:631
int iio_context_get_version(const struct iio_context *ctx, unsigned int *major, unsigned int *minor, char git_tag[8])
Get the version of the backend in use.
Definition: compat.c:678
void iio_scan_block_destroy(struct iio_scan_block *blk)
Destroy the given scan block.
Definition: compat.c:671
const char * iio_context_info_get_uri(const struct iio_context_info *info)
Get the URI of a discovered context.
Definition: compat.c:626
void iio_library_get_version(unsigned int *major, unsigned int *minor, char git_tag[8])
Get the version of the libiio library.
Definition: compat.c:1983