24 #include <sys/types.h>    34 void error(
int num, 
const char *m, 
const char *path);
    36 int generic_handler(
const char *path, 
const char *types, 
lo_arg ** argv,
    37                     int argc, 
void *data, 
void *user_data);
    39 int foo_handler(
const char *path, 
const char *types, 
lo_arg ** argv,
    40                 int argc, 
void *data, 
void *user_data);
    42 int quit_handler(
const char *path, 
const char *types, 
lo_arg ** argv,
    43                  int argc, 
void *data, 
void *user_data);
    45 void read_stdin(
void);
    85             retval = select(lo_fd + 1, &rfds, NULL, NULL, NULL);        
    89                 printf(
"select() error\n");
    92             } 
else if (retval > 0) {
    94                 if (FD_ISSET(0, &rfds)) {
    99                 if (FD_ISSET(lo_fd, &rfds)) {
   114             (
"non-blocking input from stdin not supported under Windows\n");
   124             retval = select(1, &rfds, NULL, NULL, &tv); 
   128                 printf(
"select() error\n");
   131             } 
else if (retval > 0 && FD_ISSET(0, &rfds)) {
   146 void error(
int num, 
const char *msg, 
const char *path)
   148     printf(
"liblo server error %d in path %s: %s\n", num, path, msg);
   153 int generic_handler(
const char *path, 
const char *types, 
lo_arg ** argv,
   154                     int argc, 
void *data, 
void *user_data)
   158     printf(
"path: <%s>\n", path);
   159     for (i = 0; i < argc; i++) {
   160         printf(
"arg %d '%c' ", i, types[i]);
   170 int foo_handler(
const char *path, 
const char *types, 
lo_arg ** argv,
   171                 int argc, 
void *data, 
void *user_data)
   174     printf(
"%s <- f:%f, i:%d\n\n", path, argv[0]->f, argv[1]->i);
   180 int quit_handler(
const char *path, 
const char *types, 
lo_arg ** argv,
   181                  int argc, 
void *data, 
void *user_data)
   184     printf(
"quiting\n\n");
   189 void read_stdin(
void)
   195     int len = read(0, buf, 256);
   198         fwrite(buf, len, 1, stdout);
 
lo_server lo_server_new(const char *port, lo_err_handler err_h)
Create a new server instance. 
Union used to read values from incoming messages. 
void lo_arg_pp(lo_type type, void *data)
Pretty-print a set of typed arguments. 
int lo_server_recv_noblock(lo_server s, int timeout)
Look for an OSC message waiting to be received. 
int lo_server_get_socket_fd(lo_server s)
Return the file descriptor of the server socket. 
void * lo_server
An object representing an instance of an OSC server. 
lo_method lo_server_add_method(lo_server s, const char *path, const char *typespec, lo_method_handler h, const void *user_data)
Add an OSC method to the specifed server. 
lo_type
An enumeration of the OSC types liblo can send and receive.