OSC-internal-messages.h

Go to the documentation of this file.
00001 /*
00002 Copyright  1998. The Regents of the University of California (Regents). 
00003 All Rights Reserved.
00004 
00005 Written by Matt Wright, The Center for New Music and Audio Technologies,
00006 University of California, Berkeley.
00007 
00008 Permission to use, copy, modify, distribute, and distribute modified versions
00009 of this software and its documentation without fee and without a signed
00010 licensing agreement, is hereby granted, provided that the above copyright
00011 notice, this paragraph and the following two paragraphs appear in all copies,
00012 modifications, and distributions.
00013 
00014 IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
00015 SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING
00016 OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS
00017 BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00018 
00019 REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00020 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00021 PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
00022 HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
00023 MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
00024 
00025 The OpenSound Control WWW page is 
00026     http://www.cnmat.berkeley.edu/OpenSoundControl
00027 */
00028 
00029 
00030 /* OSC-internal-messages.h
00031 
00032    Interface for having an application send OSC messages to itself
00033    internally.
00034 
00035    All these procedures return FALSE if unable to deliver the message.
00036 
00037    Matt Wright, 3/17/98
00038 
00039 */
00040 
00041 /* Send a message immediately, with no return address.  This procedure
00042    returns after the message has been sent (or has failed to be sent),
00043    so the memory for address and args can be on the stack.  Returns FALSE
00044    if there's a problem; TRUE otherwise. */
00045 Boolean OSCSendInternalMessage(char *address, int arglen, void *args);
00046 
00047 
00048 /* Same thing, but with a return address supplied. */
00049 Boolean OSCSendInternalMessageWithRSVP(char *address, int arglen,  void *args, 
00050                        NetworkReturnAddressPtr returnAddr);
00051 
00052 
00053 /* Schedule some messages to occur at a given time.  This allocates one of the
00054    OSCPacketBuffer structures (see OSC-receive.h) to hold the addresses and argument
00055    data until the messages take effect, so if you're going to call this, you
00056    should take this use of packets into account in setting the
00057    numReceiveBuffers argument to OSCInitReceive().
00058 
00059    This provides an less general interface than OSC's bundle mechanism, because
00060    the bundle of messages you provide cannot include subbundles. 
00061 
00062    The addresses, arglens, and args arguments are arrays of size numMessages.
00063 
00064    There's no return address argument because you're not allowed to save a network
00065    return address for later use.
00066 */
00067 
00068 Boolean OSCScheduleInternalMessages(OSCTimeTag when, int numMessages, 
00069                     char **addresses, int *arglens,
00070                     void **args);

Generated on Thu Sep 17 23:14:15 2009 for CSL by  doxygen 1.5.8