timevalops.c revision 290001
1/*
2 * timevalops.c -- calculations on 'struct timeval' values
3 *
4 * Written by Juergen Perlinger (perlinger@ntp.org) for the NTP project.
5 * The contents of 'html/copyright.html' apply.
6 */
7
8#include <config.h>
9
10#include "timevalops.h"
11
12#ifdef USE_TSF_USEC_TABLES
13/*
14 * Tables to calculate time stamp fractions from usecs.  The entries
15 * in these tables are offset into using each of the two low order
16 * bytes plus the next 4 bits in a usec value (from a struct timeval).
17 * These are summed to produce the time stamp fraction.
18 *
19 * Note that these tables are rounded (not truncated) to the nearest
20 * low order bit in the fraction.  The timestamp computed should be
21 * +- 1.5 low order bits.
22 */
23
24const u_int32 ustotslo[256] = {
25	0x00000000, 0x000010c7, 0x0000218e, 0x00003255,
26	0x0000431c, 0x000053e3, 0x000064aa, 0x00007571,
27	0x00008638, 0x000096ff, 0x0000a7c6, 0x0000b88d,
28	0x0000c954, 0x0000da1b, 0x0000eae2, 0x0000fba9,
29	0x00010c6f, 0x00011d36, 0x00012dfd, 0x00013ec4,
30	0x00014f8b, 0x00016052, 0x00017119, 0x000181e0,
31	0x000192a7, 0x0001a36e, 0x0001b435, 0x0001c4fc,
32	0x0001d5c3, 0x0001e68a, 0x0001f751, 0x00020818,
33	0x000218df, 0x000229a6, 0x00023a6d, 0x00024b34,
34	0x00025bfb, 0x00026cc2, 0x00027d89, 0x00028e50,
35	0x00029f17, 0x0002afde, 0x0002c0a5, 0x0002d16c,
36	0x0002e233, 0x0002f2fa, 0x000303c0, 0x00031487,
37	0x0003254e, 0x00033615, 0x000346dc, 0x000357a3,
38	0x0003686a, 0x00037931, 0x000389f8, 0x00039abf,
39	0x0003ab86, 0x0003bc4d, 0x0003cd14, 0x0003dddb,
40	0x0003eea2, 0x0003ff69, 0x00041030, 0x000420f7,
41	0x000431be, 0x00044285, 0x0004534c, 0x00046413,
42	0x000474da, 0x000485a1, 0x00049668, 0x0004a72f,
43	0x0004b7f6, 0x0004c8bd, 0x0004d984, 0x0004ea4b,
44	0x0004fb12, 0x00050bd8, 0x00051c9f, 0x00052d66,
45	0x00053e2d, 0x00054ef4, 0x00055fbb, 0x00057082,
46	0x00058149, 0x00059210, 0x0005a2d7, 0x0005b39e,
47	0x0005c465, 0x0005d52c, 0x0005e5f3, 0x0005f6ba,
48	0x00060781, 0x00061848, 0x0006290f, 0x000639d6,
49	0x00064a9d, 0x00065b64, 0x00066c2b, 0x00067cf2,
50	0x00068db9, 0x00069e80, 0x0006af47, 0x0006c00e,
51	0x0006d0d5, 0x0006e19c, 0x0006f263, 0x0007032a,
52	0x000713f0, 0x000724b7, 0x0007357e, 0x00074645,
53	0x0007570c, 0x000767d3, 0x0007789a, 0x00078961,
54	0x00079a28, 0x0007aaef, 0x0007bbb6, 0x0007cc7d,
55	0x0007dd44, 0x0007ee0b, 0x0007fed2, 0x00080f99,
56	0x00082060, 0x00083127, 0x000841ee, 0x000852b5,
57	0x0008637c, 0x00087443, 0x0008850a, 0x000895d1,
58	0x0008a698, 0x0008b75f, 0x0008c826, 0x0008d8ed,
59	0x0008e9b4, 0x0008fa7b, 0x00090b41, 0x00091c08,
60	0x00092ccf, 0x00093d96, 0x00094e5d, 0x00095f24,
61	0x00096feb, 0x000980b2, 0x00099179, 0x0009a240,
62	0x0009b307, 0x0009c3ce, 0x0009d495, 0x0009e55c,
63	0x0009f623, 0x000a06ea, 0x000a17b1, 0x000a2878,
64	0x000a393f, 0x000a4a06, 0x000a5acd, 0x000a6b94,
65	0x000a7c5b, 0x000a8d22, 0x000a9de9, 0x000aaeb0,
66	0x000abf77, 0x000ad03e, 0x000ae105, 0x000af1cc,
67	0x000b0293, 0x000b1359, 0x000b2420, 0x000b34e7,
68	0x000b45ae, 0x000b5675, 0x000b673c, 0x000b7803,
69	0x000b88ca, 0x000b9991, 0x000baa58, 0x000bbb1f,
70	0x000bcbe6, 0x000bdcad, 0x000bed74, 0x000bfe3b,
71	0x000c0f02, 0x000c1fc9, 0x000c3090, 0x000c4157,
72	0x000c521e, 0x000c62e5, 0x000c73ac, 0x000c8473,
73	0x000c953a, 0x000ca601, 0x000cb6c8, 0x000cc78f,
74	0x000cd856, 0x000ce91d, 0x000cf9e4, 0x000d0aaa,
75	0x000d1b71, 0x000d2c38, 0x000d3cff, 0x000d4dc6,
76	0x000d5e8d, 0x000d6f54, 0x000d801b, 0x000d90e2,
77	0x000da1a9, 0x000db270, 0x000dc337, 0x000dd3fe,
78	0x000de4c5, 0x000df58c, 0x000e0653, 0x000e171a,
79	0x000e27e1, 0x000e38a8, 0x000e496f, 0x000e5a36,
80	0x000e6afd, 0x000e7bc4, 0x000e8c8b, 0x000e9d52,
81	0x000eae19, 0x000ebee0, 0x000ecfa7, 0x000ee06e,
82	0x000ef135, 0x000f01fc, 0x000f12c2, 0x000f2389,
83	0x000f3450, 0x000f4517, 0x000f55de, 0x000f66a5,
84	0x000f776c, 0x000f8833, 0x000f98fa, 0x000fa9c1,
85	0x000fba88, 0x000fcb4f, 0x000fdc16, 0x000fecdd,
86	0x000ffda4, 0x00100e6b, 0x00101f32, 0x00102ff9,
87	0x001040c0, 0x00105187, 0x0010624e, 0x00107315,
88	0x001083dc, 0x001094a3, 0x0010a56a, 0x0010b631
89};
90
91const u_int32 ustotsmid[256] = {
92	0x00000000, 0x0010c6f8, 0x00218def, 0x003254e7,
93	0x00431bdf, 0x0053e2d6, 0x0064a9ce, 0x007570c5,
94	0x008637bd, 0x0096feb5, 0x00a7c5ac, 0x00b88ca4,
95	0x00c9539c, 0x00da1a93, 0x00eae18b, 0x00fba882,
96	0x010c6f7a, 0x011d3672, 0x012dfd69, 0x013ec461,
97	0x014f8b59, 0x01605250, 0x01711948, 0x0181e03f,
98	0x0192a737, 0x01a36e2f, 0x01b43526, 0x01c4fc1e,
99	0x01d5c316, 0x01e68a0d, 0x01f75105, 0x020817fc,
100	0x0218def4, 0x0229a5ec, 0x023a6ce3, 0x024b33db,
101	0x025bfad3, 0x026cc1ca, 0x027d88c2, 0x028e4fb9,
102	0x029f16b1, 0x02afdda9, 0x02c0a4a0, 0x02d16b98,
103	0x02e23290, 0x02f2f987, 0x0303c07f, 0x03148777,
104	0x03254e6e, 0x03361566, 0x0346dc5d, 0x0357a355,
105	0x03686a4d, 0x03793144, 0x0389f83c, 0x039abf34,
106	0x03ab862b, 0x03bc4d23, 0x03cd141a, 0x03dddb12,
107	0x03eea20a, 0x03ff6901, 0x04102ff9, 0x0420f6f1,
108	0x0431bde8, 0x044284e0, 0x04534bd7, 0x046412cf,
109	0x0474d9c7, 0x0485a0be, 0x049667b6, 0x04a72eae,
110	0x04b7f5a5, 0x04c8bc9d, 0x04d98394, 0x04ea4a8c,
111	0x04fb1184, 0x050bd87b, 0x051c9f73, 0x052d666b,
112	0x053e2d62, 0x054ef45a, 0x055fbb51, 0x05708249,
113	0x05814941, 0x05921038, 0x05a2d730, 0x05b39e28,
114	0x05c4651f, 0x05d52c17, 0x05e5f30e, 0x05f6ba06,
115	0x060780fe, 0x061847f5, 0x06290eed, 0x0639d5e5,
116	0x064a9cdc, 0x065b63d4, 0x066c2acc, 0x067cf1c3,
117	0x068db8bb, 0x069e7fb2, 0x06af46aa, 0x06c00da2,
118	0x06d0d499, 0x06e19b91, 0x06f26289, 0x07032980,
119	0x0713f078, 0x0724b76f, 0x07357e67, 0x0746455f,
120	0x07570c56, 0x0767d34e, 0x07789a46, 0x0789613d,
121	0x079a2835, 0x07aaef2c, 0x07bbb624, 0x07cc7d1c,
122	0x07dd4413, 0x07ee0b0b, 0x07fed203, 0x080f98fa,
123	0x08205ff2, 0x083126e9, 0x0841ede1, 0x0852b4d9,
124	0x08637bd0, 0x087442c8, 0x088509c0, 0x0895d0b7,
125	0x08a697af, 0x08b75ea6, 0x08c8259e, 0x08d8ec96,
126	0x08e9b38d, 0x08fa7a85, 0x090b417d, 0x091c0874,
127	0x092ccf6c, 0x093d9664, 0x094e5d5b, 0x095f2453,
128	0x096feb4a, 0x0980b242, 0x0991793a, 0x09a24031,
129	0x09b30729, 0x09c3ce21, 0x09d49518, 0x09e55c10,
130	0x09f62307, 0x0a06e9ff, 0x0a17b0f7, 0x0a2877ee,
131	0x0a393ee6, 0x0a4a05de, 0x0a5accd5, 0x0a6b93cd,
132	0x0a7c5ac4, 0x0a8d21bc, 0x0a9de8b4, 0x0aaeafab,
133	0x0abf76a3, 0x0ad03d9b, 0x0ae10492, 0x0af1cb8a,
134	0x0b029281, 0x0b135979, 0x0b242071, 0x0b34e768,
135	0x0b45ae60, 0x0b567558, 0x0b673c4f, 0x0b780347,
136	0x0b88ca3e, 0x0b999136, 0x0baa582e, 0x0bbb1f25,
137	0x0bcbe61d, 0x0bdcad15, 0x0bed740c, 0x0bfe3b04,
138	0x0c0f01fc, 0x0c1fc8f3, 0x0c308feb, 0x0c4156e2,
139	0x0c521dda, 0x0c62e4d2, 0x0c73abc9, 0x0c8472c1,
140	0x0c9539b9, 0x0ca600b0, 0x0cb6c7a8, 0x0cc78e9f,
141	0x0cd85597, 0x0ce91c8f, 0x0cf9e386, 0x0d0aaa7e,
142	0x0d1b7176, 0x0d2c386d, 0x0d3cff65, 0x0d4dc65c,
143	0x0d5e8d54, 0x0d6f544c, 0x0d801b43, 0x0d90e23b,
144	0x0da1a933, 0x0db2702a, 0x0dc33722, 0x0dd3fe19,
145	0x0de4c511, 0x0df58c09, 0x0e065300, 0x0e1719f8,
146	0x0e27e0f0, 0x0e38a7e7, 0x0e496edf, 0x0e5a35d6,
147	0x0e6afcce, 0x0e7bc3c6, 0x0e8c8abd, 0x0e9d51b5,
148	0x0eae18ad, 0x0ebedfa4, 0x0ecfa69c, 0x0ee06d94,
149	0x0ef1348b, 0x0f01fb83, 0x0f12c27a, 0x0f238972,
150	0x0f34506a, 0x0f451761, 0x0f55de59, 0x0f66a551,
151	0x0f776c48, 0x0f883340, 0x0f98fa37, 0x0fa9c12f,
152	0x0fba8827, 0x0fcb4f1e, 0x0fdc1616, 0x0fecdd0e,
153	0x0ffda405, 0x100e6afd, 0x101f31f4, 0x102ff8ec,
154	0x1040bfe4, 0x105186db, 0x10624dd3, 0x107314cb,
155	0x1083dbc2, 0x1094a2ba, 0x10a569b1, 0x10b630a9
156};
157
158const u_int32 ustotshi[16] = {
159	0x00000000, 0x10c6f7a1, 0x218def41, 0x3254e6e2,
160	0x431bde83, 0x53e2d624, 0x64a9cdc4, 0x7570c565,
161	0x8637bd06, 0x96feb4a6, 0xa7c5ac47, 0xb88ca3e8,
162	0xc9539b89, 0xda1a9329, 0xeae18aca, 0xfba8826b
163};
164
165/*
166 * Tables to convert from a time stamp fraction to usecs.  Note that
167 * the units of these tables are actually (usec<<3).  We carry three
168 * guard bits so that the result can be properly truncated (or rounded)
169 * to be correct to the least significant bit.
170 *
171 * These tables are rounded.
172 */
173
174const u_int32 tstoushi[256] = {
175	0x000000, 0x007a12, 0x00f424, 0x016e36,
176	0x01e848, 0x02625a, 0x02dc6c, 0x03567e,
177	0x03d090, 0x044aa2, 0x04c4b4, 0x053ec6,
178	0x05b8d8, 0x0632ea, 0x06acfc, 0x07270e,
179	0x07a120, 0x081b32, 0x089544, 0x090f56,
180	0x098968, 0x0a037a, 0x0a7d8c, 0x0af79e,
181	0x0b71b0, 0x0bebc2, 0x0c65d4, 0x0cdfe6,
182	0x0d59f8, 0x0dd40a, 0x0e4e1c, 0x0ec82e,
183	0x0f4240, 0x0fbc52, 0x103664, 0x10b076,
184	0x112a88, 0x11a49a, 0x121eac, 0x1298be,
185	0x1312d0, 0x138ce2, 0x1406f4, 0x148106,
186	0x14fb18, 0x15752a, 0x15ef3c, 0x16694e,
187	0x16e360, 0x175d72, 0x17d784, 0x185196,
188	0x18cba8, 0x1945ba, 0x19bfcc, 0x1a39de,
189	0x1ab3f0, 0x1b2e02, 0x1ba814, 0x1c2226,
190	0x1c9c38, 0x1d164a, 0x1d905c, 0x1e0a6e,
191	0x1e8480, 0x1efe92, 0x1f78a4, 0x1ff2b6,
192	0x206cc8, 0x20e6da, 0x2160ec, 0x21dafe,
193	0x225510, 0x22cf22, 0x234934, 0x23c346,
194	0x243d58, 0x24b76a, 0x25317c, 0x25ab8e,
195	0x2625a0, 0x269fb2, 0x2719c4, 0x2793d6,
196	0x280de8, 0x2887fa, 0x29020c, 0x297c1e,
197	0x29f630, 0x2a7042, 0x2aea54, 0x2b6466,
198	0x2bde78, 0x2c588a, 0x2cd29c, 0x2d4cae,
199	0x2dc6c0, 0x2e40d2, 0x2ebae4, 0x2f34f6,
200	0x2faf08, 0x30291a, 0x30a32c, 0x311d3e,
201	0x319750, 0x321162, 0x328b74, 0x330586,
202	0x337f98, 0x33f9aa, 0x3473bc, 0x34edce,
203	0x3567e0, 0x35e1f2, 0x365c04, 0x36d616,
204	0x375028, 0x37ca3a, 0x38444c, 0x38be5e,
205	0x393870, 0x39b282, 0x3a2c94, 0x3aa6a6,
206	0x3b20b8, 0x3b9aca, 0x3c14dc, 0x3c8eee,
207	0x3d0900, 0x3d8312, 0x3dfd24, 0x3e7736,
208	0x3ef148, 0x3f6b5a, 0x3fe56c, 0x405f7e,
209	0x40d990, 0x4153a2, 0x41cdb4, 0x4247c6,
210	0x42c1d8, 0x433bea, 0x43b5fc, 0x44300e,
211	0x44aa20, 0x452432, 0x459e44, 0x461856,
212	0x469268, 0x470c7a, 0x47868c, 0x48009e,
213	0x487ab0, 0x48f4c2, 0x496ed4, 0x49e8e6,
214	0x4a62f8, 0x4add0a, 0x4b571c, 0x4bd12e,
215	0x4c4b40, 0x4cc552, 0x4d3f64, 0x4db976,
216	0x4e3388, 0x4ead9a, 0x4f27ac, 0x4fa1be,
217	0x501bd0, 0x5095e2, 0x510ff4, 0x518a06,
218	0x520418, 0x527e2a, 0x52f83c, 0x53724e,
219	0x53ec60, 0x546672, 0x54e084, 0x555a96,
220	0x55d4a8, 0x564eba, 0x56c8cc, 0x5742de,
221	0x57bcf0, 0x583702, 0x58b114, 0x592b26,
222	0x59a538, 0x5a1f4a, 0x5a995c, 0x5b136e,
223	0x5b8d80, 0x5c0792, 0x5c81a4, 0x5cfbb6,
224	0x5d75c8, 0x5defda, 0x5e69ec, 0x5ee3fe,
225	0x5f5e10, 0x5fd822, 0x605234, 0x60cc46,
226	0x614658, 0x61c06a, 0x623a7c, 0x62b48e,
227	0x632ea0, 0x63a8b2, 0x6422c4, 0x649cd6,
228	0x6516e8, 0x6590fa, 0x660b0c, 0x66851e,
229	0x66ff30, 0x677942, 0x67f354, 0x686d66,
230	0x68e778, 0x69618a, 0x69db9c, 0x6a55ae,
231	0x6acfc0, 0x6b49d2, 0x6bc3e4, 0x6c3df6,
232	0x6cb808, 0x6d321a, 0x6dac2c, 0x6e263e,
233	0x6ea050, 0x6f1a62, 0x6f9474, 0x700e86,
234	0x708898, 0x7102aa, 0x717cbc, 0x71f6ce,
235	0x7270e0, 0x72eaf2, 0x736504, 0x73df16,
236	0x745928, 0x74d33a, 0x754d4c, 0x75c75e,
237	0x764170, 0x76bb82, 0x773594, 0x77afa6,
238	0x7829b8, 0x78a3ca, 0x791ddc, 0x7997ee
239};
240
241const u_int32 tstousmid[256] = {
242	0x0000, 0x007a, 0x00f4, 0x016e, 0x01e8, 0x0262, 0x02dc, 0x0356,
243	0x03d1, 0x044b, 0x04c5, 0x053f, 0x05b9, 0x0633, 0x06ad, 0x0727,
244	0x07a1, 0x081b, 0x0895, 0x090f, 0x0989, 0x0a03, 0x0a7e, 0x0af8,
245	0x0b72, 0x0bec, 0x0c66, 0x0ce0, 0x0d5a, 0x0dd4, 0x0e4e, 0x0ec8,
246	0x0f42, 0x0fbc, 0x1036, 0x10b0, 0x112b, 0x11a5, 0x121f, 0x1299,
247	0x1313, 0x138d, 0x1407, 0x1481, 0x14fb, 0x1575, 0x15ef, 0x1669,
248	0x16e3, 0x175d, 0x17d8, 0x1852, 0x18cc, 0x1946, 0x19c0, 0x1a3a,
249	0x1ab4, 0x1b2e, 0x1ba8, 0x1c22, 0x1c9c, 0x1d16, 0x1d90, 0x1e0a,
250	0x1e84, 0x1eff, 0x1f79, 0x1ff3, 0x206d, 0x20e7, 0x2161, 0x21db,
251	0x2255, 0x22cf, 0x2349, 0x23c3, 0x243d, 0x24b7, 0x2531, 0x25ac,
252	0x2626, 0x26a0, 0x271a, 0x2794, 0x280e, 0x2888, 0x2902, 0x297c,
253	0x29f6, 0x2a70, 0x2aea, 0x2b64, 0x2bde, 0x2c59, 0x2cd3, 0x2d4d,
254	0x2dc7, 0x2e41, 0x2ebb, 0x2f35, 0x2faf, 0x3029, 0x30a3, 0x311d,
255	0x3197, 0x3211, 0x328b, 0x3306, 0x3380, 0x33fa, 0x3474, 0x34ee,
256	0x3568, 0x35e2, 0x365c, 0x36d6, 0x3750, 0x37ca, 0x3844, 0x38be,
257	0x3938, 0x39b3, 0x3a2d, 0x3aa7, 0x3b21, 0x3b9b, 0x3c15, 0x3c8f,
258	0x3d09, 0x3d83, 0x3dfd, 0x3e77, 0x3ef1, 0x3f6b, 0x3fe5, 0x405f,
259	0x40da, 0x4154, 0x41ce, 0x4248, 0x42c2, 0x433c, 0x43b6, 0x4430,
260	0x44aa, 0x4524, 0x459e, 0x4618, 0x4692, 0x470c, 0x4787, 0x4801,
261	0x487b, 0x48f5, 0x496f, 0x49e9, 0x4a63, 0x4add, 0x4b57, 0x4bd1,
262	0x4c4b, 0x4cc5, 0x4d3f, 0x4db9, 0x4e34, 0x4eae, 0x4f28, 0x4fa2,
263	0x501c, 0x5096, 0x5110, 0x518a, 0x5204, 0x527e, 0x52f8, 0x5372,
264	0x53ec, 0x5466, 0x54e1, 0x555b, 0x55d5, 0x564f, 0x56c9, 0x5743,
265	0x57bd, 0x5837, 0x58b1, 0x592b, 0x59a5, 0x5a1f, 0x5a99, 0x5b13,
266	0x5b8d, 0x5c08, 0x5c82, 0x5cfc, 0x5d76, 0x5df0, 0x5e6a, 0x5ee4,
267	0x5f5e, 0x5fd8, 0x6052, 0x60cc, 0x6146, 0x61c0, 0x623a, 0x62b5,
268	0x632f, 0x63a9, 0x6423, 0x649d, 0x6517, 0x6591, 0x660b, 0x6685,
269	0x66ff, 0x6779, 0x67f3, 0x686d, 0x68e7, 0x6962, 0x69dc, 0x6a56,
270	0x6ad0, 0x6b4a, 0x6bc4, 0x6c3e, 0x6cb8, 0x6d32, 0x6dac, 0x6e26,
271	0x6ea0, 0x6f1a, 0x6f94, 0x700f, 0x7089, 0x7103, 0x717d, 0x71f7,
272	0x7271, 0x72eb, 0x7365, 0x73df, 0x7459, 0x74d3, 0x754d, 0x75c7,
273	0x7641, 0x76bc, 0x7736, 0x77b0, 0x782a, 0x78a4, 0x791e, 0x7998
274};
275
276const u_int32 tstouslo[128] = {
277	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
278	0x08, 0x09, 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
279	0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
280	0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
281	0x1f, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
282	0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
283	0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x33, 0x34,
284	0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c,
285	0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44,
286	0x45, 0x46, 0x47, 0x48, 0x48, 0x49, 0x4a, 0x4b,
287	0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
288	0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b,
289	0x5c, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
290	0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a,
291	0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x71,
292	0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79
293};
294#else	/* !USE_TSF_USEC_TABLES follows */
295NONEMPTY_TRANSLATION_UNIT
296#endif	/* !USE_TSF_USEC_TABLES */
297/* -*- EOF -*- */
298