CSL  5.2
lo_internal.h
Go to the documentation of this file.
1 #ifndef LO_INTERNAL_H
2 #define LO_INTERNAL_H
3 
4 #ifdef HAVE_CONFIG_H
5 #include "config.h"
6 #endif
7 
8 #include <lo/lo_osc_types.h>
9 
10 /**
11  * \brief Validate raw OSC string data. Where applicable, data should be
12  * in network byte order.
13  *
14  * This function is used internally to parse and validate raw OSC data.
15  *
16  * Returns length of string or < 0 if data is invalid.
17  *
18  * \param data A pointer to the data.
19  * \param size The size of data in bytes (total bytes remaining).
20  */
21 ssize_t lo_validate_string(void *data, ssize_t size);
22 
23 /**
24  * \brief Validate raw OSC blob data. Where applicable, data should be
25  * in network byte order.
26  *
27  * This function is used internally to parse and validate raw OSC data.
28  *
29  * Returns length of blob or < 0 if data is invalid.
30  *
31  * \param data A pointer to the data.
32  * \param size The size of data in bytes (total bytes remaining).
33  */
34 ssize_t lo_validate_blob(void *data, ssize_t size);
35 
36 /**
37  * \brief Validate raw OSC bundle data. Where applicable, data should be
38  * in network byte order.
39  *
40  * This function is used internally to parse and validate raw OSC data.
41  *
42  * Returns length of bundle or < 0 if data is invalid.
43  *
44  * \param data A pointer to the data.
45  * \param size The size of data in bytes (total bytes remaining).
46  */
47 ssize_t lo_validate_bundle(void *data, ssize_t size);
48 
49 /**
50  * \brief Validate raw OSC argument data. Where applicable, data should be
51  * in network byte order.
52  *
53  * This function is used internally to parse and validate raw OSC data.
54  *
55  * Returns length of argument data or < 0 if data is invalid.
56  *
57  * \param type The OSC type of the data item (eg. LO_FLOAT).
58  * \param data A pointer to the data.
59  * \param size The size of data in bytes (total bytes remaining).
60  */
61 ssize_t lo_validate_arg(lo_type type, void *data, ssize_t size);
62 
63 #endif