liblo  0.32
lo_types.h File Reference

Go to the source code of this file.

Macros

#define LO_DISABLE   0
 Disable a boolean option. More...
 
#define LO_ENABLE   1
 Enable a boolean option. More...
 

Typedefs

typedef struct lo_address_ * lo_address
 A reference to an OSC service. More...
 
typedef struct lo_blob_ * lo_blob
 A object to store an opaque binary data object. More...
 
typedef struct lo_message_ * lo_message
 A low-level object used to represent messages passed over OSC. More...
 
typedef struct lo_bundle_ * lo_bundle
 A low-level object used to represent bundles of messages passed over OSC. More...
 
typedef struct lo_method_ * lo_method
 An object representing an method on a server. More...
 
typedef struct lo_server_ * lo_server
 An object representing an instance of an OSC server. More...
 
typedef struct lo_server_thread_ * lo_server_thread
 An object representing a thread containing an OSC server. More...
 
typedef void(* lo_err_handler) (int num, const char *msg, const char *where)
 A callback function to receive notification of an error in a server or server thread. More...
 
typedef int(* lo_method_handler) (const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data)
 A callback function to receive notification of matching message arriving in the server or server thread. More...
 
typedef int(* lo_bundle_start_handler) (lo_timetag time, void *user_data)
 A callback function to receive notification of a bundle being dispatched by the server or server thread. More...
 
typedef int(* lo_bundle_end_handler) (void *user_data)
 A callback function to receive notification of a bundle dispatch being completed by the server or server thread. More...
 
typedef int(* lo_server_thread_init_callback) (lo_server_thread s, void *user_data)
 A callback function to perform initialization when the server thread is started. More...
 
typedef void(* lo_server_thread_cleanup_callback) (lo_server_thread s, void *user_data)
 A callback function to perform cleanup when the server thread is started. More...
 

Detailed Description

The liblo headerfile defining types used by this API.

Definition in file lo_types.h.

Macro Definition Documentation

◆ LO_DISABLE

#define LO_DISABLE   0

Disable a boolean option.

Definition at line 37 of file lo_types.h.

◆ LO_ENABLE

#define LO_ENABLE   1

Enable a boolean option.

Definition at line 38 of file lo_types.h.

Typedef Documentation

◆ lo_address

typedef struct lo_address_* lo_address

A reference to an OSC service.

Created by calls to lo_address_new() or lo_address_new_from_url().

Definition at line 45 of file lo_types.h.

◆ lo_blob

typedef struct lo_blob_* lo_blob

A object to store an opaque binary data object.

Can be passed over OSC using the 'b' type. Created by calls to lo_blob_new().

Definition at line 52 of file lo_types.h.

◆ lo_bundle

typedef struct lo_bundle_* lo_bundle

A low-level object used to represent bundles of messages passed over OSC.

Created by calls to lo_bundle_new(), messages can be added with calls to lo_bundle_add_message().

Definition at line 69 of file lo_types.h.

◆ lo_bundle_end_handler

typedef int(* lo_bundle_end_handler) (void *user_data)

A callback function to receive notification of a bundle dispatch being completed by the server or server thread.

If installed with lo_server_add_bundle_handlers, this callback will be called after all the messages of a bundle have been dispatched with user_data set to the user_data parameter passed to lo_server_add_bundle_handlers.

Definition at line 166 of file lo_types.h.

◆ lo_bundle_start_handler

typedef int(* lo_bundle_start_handler) (lo_timetag time, void *user_data)

A callback function to receive notification of a bundle being dispatched by the server or server thread.

This callback allows applications to be aware of incoming bundles and preserve ordering and atomicity of messages in bundles.

If installed with lo_server_add_bundle_handlers, this callback will be called with time set to the time tag of the bundle, and user_data set to the user_data parameter passed to lo_server_add_bundle_handlers.

Note that bundles may be nested, in which case calls to the bundle start and end handlers will also be nested. The application can keep track of nested bundles in a stack-like manner by treating the start handler as "push" and the end handler as "pop". For example, a bundle containing two bundles would fire 6 callbacks: begin, begin, end, begin, end, end.

Definition at line 155 of file lo_types.h.

◆ lo_err_handler

typedef void(* lo_err_handler) (int num, const char *msg, const char *where)

A callback function to receive notification of an error in a server or server thread.

On callback the parameters will be set to the following values:

Parameters
numAn error number that can be used to identify this condition.
msgAn error message describing the condidtion.
whereA string describing the place the error occured - typically either a function call or method path.

Definition at line 105 of file lo_types.h.

◆ lo_message

typedef struct lo_message_* lo_message

A low-level object used to represent messages passed over OSC.

Created by calls to lo_message_new(), arguments can be added with calls to lo_message_add_*().

Definition at line 60 of file lo_types.h.

◆ lo_method

typedef struct lo_method_* lo_method

An object representing an method on a server.

Returned by calls to lo_server_thread_add_method() and lo_server_add_method().

Definition at line 77 of file lo_types.h.

◆ lo_method_handler

typedef int(* lo_method_handler) (const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data)

A callback function to receive notification of matching message arriving in the server or server thread.

The return value tells the method dispatcher whether this handler has dealt with the message correctly: a return value of 0 indicates that it has been handled, and it should not attempt to pass it on to any other handlers, non-0 means that it has not been handled and the dispatcher will attempt to find more handlers that match the path and types of the incoming message.

On callback the paramters will be set to the following values:

Parameters
pathThat path that the incoming message was sent to
typesIf you specided types in your method creation call then this will match those and the incoming types will have been coerced to match, otherwise it will be the types of the arguments of the incoming message.
argvAn array of lo_arg types containing the values, e.g. if the first argument of the incoming message is of type 'f' then the value will be found in argv[0]->f.
argcThe number of arguments received.
msgA structure containing the original raw message as received. No type coercion will have occured and the data will be in OSC byte order (bigendian).
user_dataThis contains the user_data value passed in the call to lo_server_thread_add_method.

Definition at line 134 of file lo_types.h.

◆ lo_server

typedef struct lo_server_* lo_server

An object representing an instance of an OSC server.

Created by calls to lo_server_new(). If you wish to have the server operate in a background thread, use lo_server_thread instead.

Definition at line 85 of file lo_types.h.

◆ lo_server_thread

typedef struct lo_server_thread_* lo_server_thread

An object representing a thread containing an OSC server.

Created by calls to lo_server_thread_new().

Definition at line 92 of file lo_types.h.

◆ lo_server_thread_cleanup_callback

typedef void(* lo_server_thread_cleanup_callback) (lo_server_thread s, void *user_data)

A callback function to perform cleanup when the server thread is started.

If installed with lo_server_thread_set_callbacks, this callback will be called in the server thread, after the server have stopped listening and processing events, before it quits. user_data is set to the user_data parameter passed to lo_server_thread_add_functions.

Definition at line 192 of file lo_types.h.

◆ lo_server_thread_init_callback

typedef int(* lo_server_thread_init_callback) (lo_server_thread s, void *user_data)

A callback function to perform initialization when the server thread is started.

If installed with lo_server_thread_set_callbacks, this callback will be called in the server thread, just before the server starts listening for events. user_data is set to the user_data parameter passed to lo_server_thread_add_functions.

If the return value is non-zero, the thread start will be aborted.

Definition at line 179 of file lo_types.h.