xref: /freebsd/contrib/ntp/include/ieee754io.h (revision 416ba5c74546f32a993436a99516d35008e9f384)
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