xref: /freebsd/contrib/ntp/include/ieee754io.h (revision b740c88bfb6453416926271c089262e7164dace3)
1 /*
2  * /src/NTP/ntp4-dev/include/ieee754io.h,v 4.3 2005/04/16 17:32:10 kardel RELEASE_20050508_A
3  *
4  * ieee754io.h,v 4.3 2005/04/16 17:32:10 kardel RELEASE_20050508_A
5  *
6  * $Created: Sun Jul 13 12:22:11 1997 $
7  *
8  * Copyright (c) 1997-2005 by Frank Kardel <kardel <AT> ntp.org>
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  * 3. Neither the name of the author nor the names of its contributors
19  *    may be used to endorse or promote products derived from this software
20  *    without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32  * SUCH DAMAGE.
33  *
34  */
35 #ifndef IEEE754IO_H
36 #define IEEE754IO_H
37 
38 #define IEEE_SINGLE 1
39 #define IEEE_DOUBLE 2
40 
41 #define IEEE_MSB 1
42 #define IEEE_LSB 2
43 
44 #define IEEE_OK          0	/* conversion ok */
45 #define IEEE_BADCALL     1	/* bad call parameters */
46 #define IEEE_NAN         2	/* found an NaN */
47 #define IEEE_POSINFINITY 3	/* positive infinity */
48 #define IEEE_NEGINFINITY 4	/* negative infinity */
49 #define IEEE_POSOVERFLOW 5	/* positive overflow */
50 #define IEEE_NEGOVERFLOW 6	/* negative overflow */
51 
52 #define IEEE_OFFSETS     8	/* number of byte positions */
53 typedef unsigned char offsets_t[IEEE_OFFSETS];
54 
55 int fetch_ieee754 (unsigned char **bufp, int size, l_fp *lfpp, offsets_t offsets);
56 int put_ieee754 (unsigned char **bufpp, int size, l_fp *lfpp, offsets_t offsets);
57 
58 #endif
59 /*
60  * History:
61  *
62  * ieee754io.h,v
63  * Revision 4.3  2005/04/16 17:32:10  kardel
64  * update copyright
65  *
66  * Revision 4.2  2004/11/14 15:29:41  kardel
67  * support PPSAPI, upgrade Copyright to Berkeley style
68  *
69  * Revision 4.0  1998/04/10 19:50:40  kardel
70  * Start 4.0 release version numbering
71  *
72  * Revision 1.1  1998/04/10 19:27:33  kardel
73  * initial NTP VERSION 4 integration of PARSE with GPS166 binary support
74  *
75  * Revision 1.1  1997/10/06 20:55:37  kardel
76  * new parse structure
77  *
78  */
79