10 .TH unihash-mkstatic 1 "14 December 2003" "Straylight/Edgeware" "mLib utilities library"
12 unihash-mkstatic \- construct tables for universal hashing
31 program constructs tables for efficient universal hashing (see
33 It will produce the table as either an array defined in a C source file
34 or as an initializer macro defined in a C header file.
36 The program accepts no non-option arguments. The options are as
40 Print a help message to standard output and exit successfully.
43 Print the program's version number to standard output and exit
47 Print a one-line usage summary to standard output and exit successfully.
50 When producing C source (the
52 option), rather than a header, define the table to be
55 .B "\-c, \-\-c-source"
56 Produce a C source file which exports a symbol naming the array, instead
59 .BI "\-s, \-\-symbol=" symbol
62 This is the name of the macro defined by a header file, or the array
63 exported by a C source. The default macro name is
65 the default array name is
68 .BI "\-i, \-\-include=" header
69 Request that generated C source include the named
75 .BI " #include """ header """"
78 at the top of the generated C source. The default is not to include
79 .BR <mLib/unihash.h> ,
80 which is necessary to declare the
82 type. This option does nothing without the
86 .BI "\-g, \-\-guard=" macro
89 as a guard against multiple inclusion of the generated header file.
90 Inserts a pair of lines of the form
97 at the top of the generated header, and a line
103 at the end. The default guard macro name is built from the output file
106 by uppercasing all alphabetic characters in the name and replacing
107 nonalphanumeric characters by underscores
109 This option does nothing with the
113 .BI "\-k, \-\-key=" key
114 Specifies the hashing key as an integer. Note that if you want to
115 specify the key in hexadecimal, you must prefix it with
119 which is, as far as the author knows, as good as any other fixed value.
125 Mark Wooding, <mdw@distorted.org.uk>