3 Safe copying of option values into and out of the option buffer, which
4 can't be assumed to be aligned. */
7 * Copyright (c) 1995, 1996 The Internet Software Consortium.
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
19 * 3. Neither the name of The Internet Software Consortium nor the names
20 * of its contributors may be used to endorse or promote products derived
21 * from this software without specific prior written permission.
23 * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
24 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
25 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
28 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
31 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
32 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
34 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * This software has been written for the Internet Software Consortium
38 * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
39 * Enterprises. To learn more about the Internet Software Consortium,
40 * see ``http://www.vix.com/isc''. To learn more about Vixie
41 * Enterprises, see ``http://www.vix.com''.
45 static char copyright[] =
46 "$Id: convert.c,v 1.4.2.1 1998/06/25 21:11:28 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
51 u_int32_t getULong (buf)
56 memcpy (&ibuf, buf, sizeof (u_int32_t));
65 memcpy (&ibuf, buf, sizeof (int32_t));
69 u_int16_t getUShort (buf)
74 memcpy (&ibuf, buf, sizeof (u_int16_t));
78 int16_t getShort (buf)
83 memcpy (&ibuf, buf, sizeof (int16_t));
87 void putULong (obuf, val)
91 u_int32_t tmp = htonl (val);
92 memcpy (obuf, &tmp, sizeof tmp);
95 void putLong (obuf, val)
99 int32_t tmp = htonl (val);
100 memcpy (obuf, &tmp, sizeof tmp);
103 void putUShort (obuf, val)
107 u_int16_t tmp = htons (val);
108 memcpy (obuf, &tmp, sizeof tmp);
111 void putShort (obuf, val)
115 int16_t tmp = htons (val);
116 memcpy (obuf, &tmp, sizeof tmp);