"Inital commit to Gerrit"
[profile/ivi/dhcp.git] / includes / cdefs.h
1 /* cdefs.h
2
3    Standard C definitions... */
4
5 /*
6  * Copyright (c) 2011 by Internet Systems Consortium, Inc. ("ISC")
7  * Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
8  * Copyright (c) 1996-2003 by Internet Software Consortium
9  * Copyright (c) 1995 RadioMail Corporation.  All rights reserved.
10  *
11  * Permission to use, copy, modify, and distribute this software for any
12  * purpose with or without fee is hereby granted, provided that the above
13  * copyright notice and this permission notice appear in all copies.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
16  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
17  * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
18  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
20  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
21  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22  *
23  *   Internet Systems Consortium, Inc.
24  *   950 Charter Street
25  *   Redwood City, CA 94063
26  *   <info@isc.org>
27  *   https://www.isc.org/
28  *
29  * This software was written for RadioMail Corporation by Ted Lemon
30  * under a contract with Vixie Enterprises.   Further modifications have
31  * been made for Internet Systems Consortium under a contract
32  * with Vixie Laboratories.
33  */
34
35 #if !defined (__ISC_DHCP_CDEFS_H__)
36 #define __ISC_DHCP_CDEFS_H__
37 /* Delete attributes if not gcc or not the right version of gcc. */
38 #if !defined(__GNUC__) || __GNUC__ < 2 || \
39         (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || defined (darwin)
40 #define __attribute__(x)
41 #endif
42
43 /* The following macro handles the case of unwanted return values.  In
44  * GCC one can specify an attribute for a function to generate a warning
45  * if the return value of the function is ignored and one can't dispose of
46  * the warning by the use of void.  In conjunction with the use of -Werror
47  * these warnings prohibit the compilation of the package.  This macro
48  * allows us to assign the return value to a variable and then ignore it.
49  */
50 #if !defined(__GNUC__) || (__GNUC__ < 4)
51 #define IGNORE_RET(x) (void) x
52 #else
53 #define IGNORE_RET(x)                   \
54         do {                            \
55                 int ignore_return;      \
56                 ignore_return = x;      \
57         } while (0)
58 #endif
59
60 #endif /* __ISC_DHCP_CDEFS_H__ */