# lo_types.h File Reference

## Typedefs
typedef void * | lo_address
| A reference to an OSC service.
typedef void * | lo_blob
| A object to store an opaque binary data object.
typedef void * | lo_message
| A low-level object used to represent messages passed over OSC.
typedef void * | lo_bundle
| A low-level object used to represent bundles of messages passed over OSC.
typedef void * | lo_method
| An object representing an method on a server.
typedef void * | lo_server
| An object representing an instance of an OSC server.
typedef void * | lo_server_thread
| An object representing a thread containing an OSC server.
typedef void(* | lo_err_handler )(int num, const char *msg, const char *where)
| A callback function to receive notifcation of an error in a server or server thread.
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 notifcation of matching message arriving in the server or server thread.

## Typedef Documentation

typedef void* lo_address

| A reference to an OSC service. Created by calls to lo_address_new() or lo_address_new_from_url().

typedef void* 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().

typedef void* 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().

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

  | A callback function to receive notifcation of an error in a server or server thread. On callback the paramters will be set to the following values: Parameters:
  | num | An error number that can be used to identify this condition.
  | msg | An error message describing the condidtion.
  | where | A string describing the place the error occured - typically either a function call or method path.

typedef void* 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_*().

typedef void* lo_method

| An object representing an method on a server. Returned by calls to lo_server_thread_add_method() and lo_server_add_method().

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 notifcation of matching message arriving in the server or server thread. On callback the paramters will be set to the following values: Parameters:
  | path | That path that the incoming message was sent to
  | types | If 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.
  | argv | An array of lo_arg types containing the values, e.g. if the first argument of the incoming message is of type 'f' then the vlaue will be found in argv[0]->f.
  | argc | The number of argumets received.
  | msg | A 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_data | This contains the user_data value passed in the call to lo_server_thread_add_method.

typedef void* lo_server

| An object representing an instance of an OSC server. Created by calls to lo_server_new(). If you with the library to take care of the threading as well you can just use server threads instead.

typedef void* lo_server_thread

| An object representing a thread containing an OSC server. Created by calls to lo_server_thread_new().