Jack2  1.9.10
uuid.h
00001 /*
00002     Copyright (C) 2013 Paul Davis
00003     
00004     This program is free software; you can redistribute it and/or modify
00005     it under the terms of the GNU Lesser General Public License as published by
00006     the Free Software Foundation; either version 2.1 of the License, or
00007     (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     You should have received a copy of the GNU Lesser General Public License
00015     along with this program; if not, write to the Free Software 
00016     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 #ifndef __jack_uuid_h__
00021 #define __jack_uuid_h__
00022 
00023 #include <jack/types.h>
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 #define JACK_UUID_SIZE 36
00030 #define JACK_UUID_STRING_SIZE (JACK_UUID_SIZE+1) /* includes trailing null */
00031 #define JACK_UUID_EMPTY_INITIALIZER 0
00032 
00033 extern jack_uuid_t jack_client_uuid_generate ();
00034 extern jack_uuid_t jack_port_uuid_generate (uint32_t port_id);
00035 
00036 extern uint32_t jack_uuid_to_index (jack_uuid_t);
00037 
00038 extern int  jack_uuid_compare (jack_uuid_t, jack_uuid_t);
00039 extern void jack_uuid_copy (jack_uuid_t* dst, jack_uuid_t src);
00040 extern void jack_uuid_clear (jack_uuid_t*);
00041 extern int  jack_uuid_parse (const char *buf, jack_uuid_t*);
00042 extern void jack_uuid_unparse (jack_uuid_t, char buf[JACK_UUID_STRING_SIZE]);
00043 extern int  jack_uuid_empty (jack_uuid_t);
00044 
00045 #ifdef __cplusplus
00046 } /* namespace */
00047 #endif
00048 
00049 #endif /* __jack_uuid_h__ */
00050