server.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <float.h>
#include <sys/types.h>
#include <unistd.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <arpa/inet.h>
#include "lo_types_internal.h"
#include "lo_internal.h"
#include "lo/lo.h"
#include "lo/lo_throw.h"

Classes

struct  queued_msg_list

Defines

#define geterror()   errno
#define LO_HOST_SIZE   1024

Functions

static int lo_can_coerce_spec (const char *a, const char *b)
static int lo_can_coerce (char a, char b)
static void dispatch_method (lo_server s, const char *path, lo_message msg)
static int dispatch_queued (lo_server s)
static void queue_data (lo_server s, lo_timetag ts, const char *path, lo_message msg)
static lo_server lo_server_new_with_proto_internal (const char *group, const char *port, int proto, lo_err_handler err_h)
static int lo_server_add_socket (lo_server s, int socket)
static void lo_server_del_socket (lo_server s, int index, int socket)
static int lo_server_join_multicast_group (lo_server s, const char *group)
lo_server lo_server_new (const char *port, lo_err_handler err_h)
 Create a new server instance.
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.
lo_server lo_server_new_with_proto (const char *port, int proto, lo_err_handler err_h)
 Create a new server instance, specifying protocol.
void lo_server_free (lo_server s)
 Free up memory used by the lo_server object.
void * lo_server_recv_raw (lo_server s, size_t *size)
void * lo_server_recv_raw_stream (lo_server s, size_t *size)
 memcpy (data, buffer, ret)
 if (size)
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.
int lo_server_dispatch_data (lo_server s, void *data, size_t size)
 Dispatch a raw block of memory containing an OSC message.
double lo_server_next_event_delay (lo_server s)
 Return the time in seconds until the next scheduled event.
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.
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.
void lo_server_pp (lo_server s)
 Pretty-print a lo_server object.
void lo_throw (lo_server s, int errnum, const char *message, const char *path)

Variables

lo_cs lo_client_sockets = {-1, -1}
 data = malloc(ret)


Define Documentation

 
#define geterror  )     errno
 

#define LO_HOST_SIZE   1024
 


Function Documentation

static int lo_can_coerce_spec const char *  a,
const char *  b
[static]
 

static int lo_can_coerce char  a,
char  b
[static]
 

static void dispatch_method lo_server  s,
const char *  path,
lo_message  msg
[static]
 

static int dispatch_queued lo_server  s  )  [static]
 

static void queue_data lo_server  s,
lo_timetag  ts,
const char *  path,
lo_message  msg
[static]
 

lo_server lo_server_new_with_proto_internal const char *  group,
const char *  port,
int  proto,
lo_err_handler  err_h
[static]
 

int lo_server_add_socket lo_server  s,
int  socket
[static]
 

void lo_server_del_socket lo_server  s,
int  index,
int  socket
[static]
 

int lo_server_join_multicast_group lo_server  s,
const char *  group
[static]
 

void* lo_server_recv_raw lo_server  s,
size_t *  size
 

void* lo_server_recv_raw_stream lo_server  s,
size_t *  size
 

memcpy data  ,
buffer  ,
ret 
 

if size   ) 
 

void lo_throw lo_server  s,
int  errnum,
const char *  message,
const char *  path
 


Variable Documentation

struct lo_cs lo_client_sockets = {-1, -1}
 

data = malloc(ret)
 


Generated on Sat Oct 17 14:12:33 2009 for CSL by  doxygen 1.4.5-20051010