.\" nroff .ie t \{\ . ds ss \s8\u . ds se \d\s0 .\} .el \{\ . ds ss ^ . ds se .\} .TH unihash-mkstatic 1 "14 December 2003" "Straylight/Edgeware" "mLib utilities library" .SH NAME unihash-mkstatic \- construct tables for universal hashing .SH SYNOPSIS .B unihash-mkstatic .RB [ \-c ] .RB [ \-s .IR symbol ] .RB [ \-i .IR header ] .RB [ \-g .IR macro ] .br \c .RB [ \-k .IR key ] .RB [ \-o .IR filename ] .SH DESCRIPTION The .B unihash-mkstatic program constructs tables for efficient universal hashing (see .BR unihash (3)). It will produce the table as either an array defined in a C source file or as an initializer macro defined in a C header file. .SS "Options" The program accepts no non-option arguments. The options are as follows. .TP .B "\-h, \-\-help" Print a help message to standard output and exit successfully. .TP .B "\-v, \-\-version" Print the program's version number to standard output and exit successfully. .TP .B "\-u, \-\-usage" Print a one-line usage summary to standard output and exit successfully. .TP .B "\-c, \-\-c-source" Produce a C source file which exports a symbol naming the array, instead of a C header file. .TP .BI "\-s, \-\-symbol=" symbol Name the table .IR symbol . This is the name of the macro defined by a header file, or the array exported by a C source. The default macro name is .BR UHI_INIT ; the default array name is .BR uhi . .TP .BI "\-i, \-\-include=" header Request that generated C source include the named .I header file. Inserts a line of the form .PP .nf .BI " #include """ header """" .fi .IP at the top of the generated C source. The default is not to include .BR , which is necessary to declare the .B unihash_info type. This option does nothing without the .B \-c option. .TP .BI "\-g, \-\-guard=" macro Use the named .I macro as a guard against multiple inclusion of the generated header file. Inserts a pair of lines of the form .PP .nf .BI " #ifndef " macro .BI " #define " macro .fi .IP at the top of the generated header, and a line .PP .nf .BI " #endif" .fi .IP at the end. The default guard macro name is built from the output file name specified with .B \-o by uppercasing all alphabetic characters in the name and replacing nonalphanumeric characters by underscores .RB ` _ '. This option does nothing with the .B \-c option. .TP .BI "\-k, \-\-key=" key Specifies the hashing key as an integer. Note that if you want to specify the key in hexadecimal, you must prefix it with .BR 0x . The default key is .BR 0xe07e5bd1 , which is, as far as the author knows, as good as any other fixed value. .TP .SH "SEE ALSO" .BR crc-mktab (1), .BR unihash (3). .SH "AUTHOR" Mark Wooding,