L4Re/departure

libext2fs/include/libuuid/uuid/uuid.h

617:2733e5770ee9
9 months ago Paul Boddie Made the run command wait for completion, introducing the spawn command to run programs in the background. Introduced conveniences for waiting for the last job to be initiated and for piping from the last job, also subscribing to signals from pipe-supplying jobs so that they may be transparently removed from the job list upon completion. Augmented the job listing with the "+" notation familiar from Unix. Prevented new jobs from being started when no job slots are available.
     1 /*     2  * Public include file for the UUID library     3  *     4  * Copyright (C) 1996, 1997, 1998 Theodore Ts'o.     5  *     6  * %Begin-Header%     7  * Redistribution and use in source and binary forms, with or without     8  * modification, are permitted provided that the following conditions     9  * are met:    10  * 1. Redistributions of source code must retain the above copyright    11  *    notice, and the entire permission notice in its entirety,    12  *    including the disclaimer of warranties.    13  * 2. Redistributions in binary form must reproduce the above copyright    14  *    notice, this list of conditions and the following disclaimer in the    15  *    documentation and/or other materials provided with the distribution.    16  * 3. The name of the author may not be used to endorse or promote    17  *    products derived from this software without specific prior    18  *    written permission.    19  *    20  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED    21  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES    22  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF    23  * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE    24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR    25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT    26  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR    27  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT    29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE    30  * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH    31  * DAMAGE.    32  * %End-Header%    33  */    34     35 #ifndef _UUID_UUID_H    36 #define _UUID_UUID_H    37     38 #include <sys/types.h>    39 #ifndef _WIN32    40 #include <sys/time.h>    41 #endif    42 #include <time.h>    43     44 typedef unsigned char uuid_t[16];    45     46 /* UUID Variant definitions */    47 #define UUID_VARIANT_NCS 	0    48 #define UUID_VARIANT_DCE 	1    49 #define UUID_VARIANT_MICROSOFT	2    50 #define UUID_VARIANT_OTHER	3    51     52 /* UUID Type definitions */    53 #define UUID_TYPE_DCE_TIME   1    54 #define UUID_TYPE_DCE_RANDOM 4    55     56 /* Allow UUID constants to be defined */    57 #ifdef __GNUC__    58 #define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \    59 	static const uuid_t name __attribute__ ((unused)) = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}    60 #else    61 #define UUID_DEFINE(name,u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15) \    62 	static const uuid_t name = {u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15}    63 #endif    64     65 #ifdef __cplusplus    66 extern "C" {    67 #endif    68     69 /* clear.c */    70 void uuid_clear(uuid_t uu);    71     72 /* compare.c */    73 int uuid_compare(const uuid_t uu1, const uuid_t uu2);    74     75 /* copy.c */    76 void uuid_copy(uuid_t dst, const uuid_t src);    77     78 /* gen_uuid.c */    79 void uuid_generate(uuid_t out);    80 void uuid_generate_random(uuid_t out);    81 void uuid_generate_time(uuid_t out);    82     83 /* isnull.c */    84 int uuid_is_null(const uuid_t uu);    85     86 /* parse.c */    87 int uuid_parse(const char *in, uuid_t uu);    88     89 /* unparse.c */    90 void uuid_unparse(const uuid_t uu, char *out);    91 void uuid_unparse_lower(const uuid_t uu, char *out);    92 void uuid_unparse_upper(const uuid_t uu, char *out);    93     94 /* uuid_time.c */    95 time_t uuid_time(const uuid_t uu, struct timeval *ret_tv);    96 int uuid_type(const uuid_t uu);    97 int uuid_variant(const uuid_t uu);    98     99 #ifdef __cplusplus   100 }   101 #endif   102    103 #endif /* _UUID_UUID_H */