lo_lowlevel.h File Reference


Typedefs

typedef long double lo_hires
 Type used to represent numerical values in conversions between OSC types.

Functions

int lo_send_message (lo_address targ, const char *path, lo_message msg)
 Send a lo_message object to target targ.
int lo_send_message_from (lo_address targ, lo_server serv, const char *path, lo_message msg)
 Send a lo_message object to target targ from address of serv.
int lo_send_bundle (lo_address targ, lo_bundle b)
 Send a lo_bundle object to address targ.
int lo_send_bundle_from (lo_address targ, lo_server serv, lo_bundle b)
 Send a lo_bundle object to address targ from address of serv.
lo_message lo_message_new ()
 Create a new lo_message object.
void lo_message_free (lo_message m)
 Free memory allocated by lo_message_new() and any subsequent lo_message_add_int32 lo_message_add*() calls.
int lo_message_add (lo_message m, const char *types,...)
 Append a number of arguments to a message.
int lo_message_add_varargs (lo_message m, const char *types, va_list ap)
 Append a varargs list to a message.
int lo_message_add_int32 (lo_message m, int32_t a)
 Append a data item and typechar of the specified type to a message.
int lo_message_add_float (lo_message m, float a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_string (lo_message m, const char *a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_blob (lo_message m, lo_blob a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_int64 (lo_message m, int64_t a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_timetag (lo_message m, lo_timetag a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_double (lo_message m, double a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_symbol (lo_message m, const char *a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_char (lo_message m, char a)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_midi (lo_message m, uint8_t a[4])
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_true (lo_message m)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_false (lo_message m)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_nil (lo_message m)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
int lo_message_add_infinitum (lo_message m)
 Append a data item and typechar of the specified type to a message. See lo_message_add_int32() for details.
lo_address lo_message_get_source (lo_message m)
 Returns the source (lo_address) of an incoming message.
lo_timetag lo_message_get_timestamp (lo_message m)
 Returns the timestamp (lo_timetag *) of a bundled incoming message.
char * lo_message_get_types (lo_message m)
 Return the message type tag string.
int lo_message_get_argc (lo_message m)
 Return the message argument count.
lo_arg ** lo_message_get_argv (lo_message m)
 Return the message arguments. Do not free the returned data.
size_t lo_message_length (lo_message m, const char *path)
 Return the length of a message in bytes.
void * lo_message_serialise (lo_message m, const char *path, void *to, size_t *size)
 Serialise the lo_message object to an area of memory and return a pointer to the serialised form. Opposite of lo_message_deserialise().
lo_message lo_message_deserialise (void *data, size_t size, int *result)
 Deserialise a raw OSC message and return a new lo_message object. Opposite of lo_message_serialise().
int lo_server_dispatch_data (lo_server s, void *data, size_t size)
 Dispatch a raw block of memory containing an OSC message.
const char * lo_address_get_hostname (lo_address a)
 Return the hostname of a lo_address object.
const char * lo_address_get_port (lo_address a)
 Return the port/service name of a lo_address object.
int lo_address_get_protocol (lo_address a)
 Return the protocol of a lo_address object.
char * lo_address_get_url (lo_address a)
 Return a URL representing an OSC address.
void lo_address_set_ttl (lo_address t, int ttl)
 Set the Time-to-Live value for a given target address.
int lo_address_get_ttl (lo_address t)
 Get the Time-to-Live value for a given target address.
lo_bundle lo_bundle_new (lo_timetag tt)
 Create a new bundle object.
int lo_bundle_add_message (lo_bundle b, const char *path, lo_message m)
 Adds an OSC message to an existing bundle.
size_t lo_bundle_length (lo_bundle b)
 Return the length of a bundle in bytes.
void * lo_bundle_serialise (lo_bundle b, void *to, size_t *size)
 Serialise the bundle object to an area of memory and return a pointer to the serialised form.
void lo_bundle_free (lo_bundle b)
 Frees the memory taken by a bundle object.
void lo_bundle_free_messages (lo_bundle b)
 Frees the memory taken by a bundle object and messages in the bundle.
int lo_is_numerical_type (lo_type a)
 Return true if the type specified has a numerical value, such as LO_INT32, LO_FLOAT etc.
int lo_is_string_type (lo_type a)
 Return true if the type specified has a textual value, such as LO_STRING or LO_SYMBOL.
int lo_coerce (lo_type type_to, lo_arg *to, lo_type type_from, lo_arg *from)
 Attempt to convert one OSC type to another.
lo_hires lo_hires_val (lo_type type, lo_arg *p)
 Return the numerical value of the given argument with the maximum native system precision.
lo_server lo_server_new (const char *port, lo_err_handler err_h)
 Create a new server instance.
lo_server lo_server_new_with_proto (const char *port, int proto, lo_err_handler err_h)
 Create a new server instance, specifying protocol.
lo_server lo_server_new_multicast (const char *group, const char *port, lo_err_handler err_h)
 Create a new server instance, and join a UDP multicast group.
void lo_server_free (lo_server s)
 Free up memory used by the lo_server object.
int lo_server_wait (lo_server s, int timeout)
 Wait for an OSC message to be received.
int lo_server_recv_noblock (lo_server s, int timeout)
 Look for an OSC message waiting to be received.
int lo_server_recv (lo_server s)
 Block, waiting for an OSC message to be received.
lo_method lo_server_add_method (lo_server s, const char *path, const char *typespec, lo_method_handler h, void *user_data)
 Add an OSC method to the specifed server.
void lo_server_del_method (lo_server s, const char *path, const char *typespec)
 Delete an OSC method from the specifed server.
int lo_server_get_socket_fd (lo_server s)
 Return the file descriptor of the server socket.
int lo_server_get_port (lo_server s)
 Return the port number that the server has bound to.
int lo_server_get_protocol (lo_server s)
 Return the protocol that the server is using.
char * lo_server_get_url (lo_server s)
 Return an OSC URL that can be used to contact the server.
int lo_server_events_pending (lo_server s)
 Return true if there are scheduled events (eg. from bundles) waiting to be dispatched by the server.
double lo_server_next_event_delay (lo_server s)
 Return the time in seconds until the next scheduled event.
char * lo_url_get_protocol (const char *url)
 Return the protocol portion of an OSC URL, eg. udp, tcp.
int lo_url_get_protocol_id (const char *url)
 Return the protocol ID of an OSC URL.
char * lo_url_get_hostname (const char *url)
 Return the hostname portion of an OSC URL.
char * lo_url_get_port (const char *url)
 Return the port portion of an OSC URL.
char * lo_url_get_path (const char *url)
 Return the path portion of an OSC URL.
int lo_strsize (const char *s)
 A function to calculate the amount of OSC message space required by a C char *.
uint32_t lo_blobsize (lo_blob b)
 A function to calculate the amount of OSC message space required by a lo_blob object.
int lo_pattern_match (const char *str, const char *p)
 Test a string against an OSC pattern glob.
double lo_timetag_diff (lo_timetag a, lo_timetag b)
 Find the time difference between two timetags.
void lo_timetag_now (lo_timetag *t)
 Return a timetag for the current time.
size_t lo_arg_size (lo_type type, void *data)
 Return the storage size, in bytes, of the given argument.
char * lo_get_path (void *data, ssize_t size)
 Given a raw OSC message, return the message path.
void lo_arg_host_endian (lo_type type, void *data)
 Convert the specified argument to host byte order where necessary.
void lo_arg_network_endian (lo_type type, void *data)
 Convert the specified argument to network byte order where necessary.
void lo_bundle_pp (lo_bundle b)
 Pretty-print a lo_bundle object.
void lo_message_pp (lo_message m)
 Pretty-print a lo_message object.
void lo_arg_pp (lo_type type, void *data)
 Pretty-print a set of typed arguments.
void lo_server_pp (lo_server s)
 Pretty-print a lo_server object.
void lo_method_pp (lo_method m)
 Pretty-print a lo_method object.
void lo_method_pp_prefix (lo_method m, const char *p)
 Pretty-print a lo_method object, but prepend a given prefix to all field names.
void lo_server_thread_pp (lo_server_thread st)
 Pretty-print a lo_server_thread object.

Detailed Description

The liblo headerfile defining the low-level API functions.
Generated on Mon Jan 25 21:37:22 2010 for liblo by  doxygen 1.5.1