lo.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (C) 2004 Steve Harris
00003  *
00004  *  This program is free software; you can redistribute it and/or
00005  *  modify it under the terms of the GNU Lesser General Public License
00006  *  as published by the Free Software Foundation; either version 2.1
00007  *  of the License, or (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU Lesser General Public License for more details.
00013  *
00014  *  $Id$
00015  */
00016 
00017 #ifndef LO_H
00018 #define LO_H
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00028 #include "lo/lo_endian.h"
00029 #include "lo/lo_types.h"
00030 #include "lo/lo_osc_types.h"
00031 #include "lo/lo_errors.h"
00032 #include "lo/lo_lowlevel.h"
00033 
00056 lo_address lo_address_new(const char *host, const char *port);
00057 
00072 lo_address lo_address_new_with_proto(int proto, const char *host, const char *port);
00073 
00079 lo_address lo_address_new_from_url(const char *url);
00080 
00084 void lo_address_free(lo_address t);
00085 
00096 void lo_address_set_ttl(lo_address t, int ttl);
00097 
00104 int lo_address_get_ttl(lo_address t);
00105 
00123 int lo_send(lo_address targ, const char *path, const char *type, ...);
00124 
00148 int lo_send_from(lo_address targ, lo_server from, lo_timetag ts, 
00149                 const char *path, const char *type, ...);
00150 
00172 int lo_send_timestamped(lo_address targ, lo_timetag ts, const char *path,
00173                 const char *type, ...);
00174 
00179 int lo_address_errno(lo_address a);
00180 
00185 const char *lo_address_errstr(lo_address a);
00186 
00202 lo_server_thread lo_server_thread_new(const char *port, lo_err_handler err_h);
00203 
00221 lo_server_thread lo_server_thread_new_multicast(const char *group, const char *port,
00222                                                 lo_err_handler err_h);
00223 
00240 lo_server_thread lo_server_thread_new_with_proto(const char *port, int proto,
00241                    lo_err_handler err_h);
00242 
00248 void lo_server_thread_free(lo_server_thread st);
00249 
00264 lo_method lo_server_thread_add_method(lo_server_thread st, const char *path,
00265                                const char *typespec, lo_method_handler h,
00266                                void *user_data);
00275 void lo_server_thread_del_method(lo_server_thread st, const char *path,
00276                  const char *typespec);
00277 
00284 int lo_server_thread_start(lo_server_thread st);
00285 
00292 int lo_server_thread_stop(lo_server_thread st);
00293 
00297 int lo_server_thread_get_port(lo_server_thread st);
00298 
00304 char *lo_server_thread_get_url(lo_server_thread st);
00305 
00312 lo_server lo_server_thread_get_server(lo_server_thread st);
00313 
00316 int lo_server_thread_events_pending(lo_server_thread st);
00317 
00325 lo_blob lo_blob_new(int32_t size, const void *data);
00326 
00330 void lo_blob_free(lo_blob b);
00331 
00337 uint32_t lo_blob_datasize(lo_blob b);
00338 
00343 void *lo_blob_dataptr(lo_blob b);
00344 
00347 #include "lo/lo_macros.h"
00348 
00349 #ifdef __cplusplus
00350 }
00351 #endif
00352 
00353 #endif

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