3 .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4 .if !
\a\\$4
\a\a .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
7 .ie
\a\\$3
\a\a .ft \\$1
11 .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
16 .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
19 .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
22 .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
24 .de EX \" start example
41 tab \- simple table lookup routines
45 .L "int tabindex(const void* tab, int size, const char* name);"
46 .L "void* tablook(const void* tab, int size, const char* name);"
48 These routines do linear lookups in
50 tables (on the order of 32 elements).
51 Each table element has a size of
53 bytes and the beginning of the element points to a name that is
54 matched by the lookup routines.
57 returns the index of the table element in
61 If there is no match then
66 returns a pointer to the table element in
70 If there is no match then