uuidgen.c revision d9c56d3ca0bee11e3446ff7e12e3124d28e298a7
1/* 2 * gen_uuid.c --- generate a DCE-compatible uuid 3 * 4 * Copyright (C) 1999, Andreas Dilger and Theodore Ts'o 5 * 6 * %Begin-Header% 7 * This file may be redistributed under the terms of the GNU Public 8 * License. 9 * %End-Header% 10 */ 11 12#include <stdio.h> 13#ifdef HAVE_GETOPT_H 14#include <getopt.h> 15#endif 16#include "uuid/uuid.h" 17#include "nls-enable.h" 18 19#define DO_TYPE_TIME 1 20#define DO_TYPE_RANDOM 2 21 22void usage(const char *progname) 23{ 24 fprintf(stderr, _("Usage: %s [-r] [-t]\n"), progname); 25 exit(1); 26} 27 28int 29main (int argc, char *argv[]) 30{ 31 int c; 32 int do_type = 0; 33 char str[37]; 34 uuid_t uu; 35 36 while ((c = getopt (argc, argv, "tr")) != EOF) 37 switch (c) { 38 case 't': 39 do_type = DO_TYPE_TIME; 40 break; 41 case 'r': 42 do_type = DO_TYPE_RANDOM; 43 break; 44 default: 45 usage(argv[0]); 46 } 47 48 switch (do_type) { 49 case DO_TYPE_TIME: 50 uuid_generate_time(uu); 51 break; 52 case DO_TYPE_RANDOM: 53 uuid_generate_random(uu); 54 break; 55 default: 56 uuid_generate(uu); 57 break; 58 } 59 60 uuid_unparse(uu, str); 61 62 printf("%s\n", str); 63 64 return 0; 65} 66