ISC DHCP 4.4.3-P1
A reference DHCPv4 and DHCPv6 implementation
 
Loading...
Searching...
No Matches
cdefs.h
Go to the documentation of this file.
1/* cdefs.h
2
3 Standard C definitions... */
4
5/*
6 * Copyright (c) 1995 RadioMail Corporation. All rights reserved.
7 * Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC")
8 * Copyright (c) 1996-2003 by Internet Software Consortium
9 *
10 * This Source Code Form is subject to the terms of the Mozilla Public
11 * License, v. 2.0. If a copy of the MPL was not distributed with this
12 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
15 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
16 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
17 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
19 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
20 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21 *
22 * Internet Systems Consortium, Inc.
23 * PO Box 360
24 * Newmarket, NH 03857 USA
25 * <info@isc.org>
26 * https://www.isc.org/
27 *
28 * This software was written for RadioMail Corporation by Ted Lemon
29 * under a contract with Vixie Enterprises. Further modifications have
30 * been made for Internet Systems Consortium under a contract
31 * with Vixie Laboratories.
32 */
33
34#if !defined (__ISC_DHCP_CDEFS_H__)
35#define __ISC_DHCP_CDEFS_H__
36/* Delete attributes if not gcc or not the right version of gcc. */
37#if !defined(__GNUC__) || __GNUC__ < 2 || \
38 (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || defined (darwin)
39#define __attribute__(x)
40#endif
41
42/* The following macro handles the case of unwanted return values. In
43 * GCC one can specify an attribute for a function to generate a warning
44 * if the return value of the function is ignored and one can't dispose of
45 * the warning by the use of void. In conjunction with the use of -Werror
46 * these warnings prohibit the compilation of the package. This macro
47 * allows us to assign the return value to a variable and then ignore it.
48 *
49 * __attribute__((unused)) is added for avoiding another warning about set,
50 * but unused variable. This is produced by unused-but-set-variable switch
51 * that is enabled by default in gcc 4.6.
52 */
53#if !defined(__GNUC__) || (__GNUC__ < 4)
54#define IGNORE_RET(x) (void) x
55#else
56#define IGNORE_RET(x) \
57 do { \
58 int __attribute__((unused)) ignore_return ;\
59 ignore_return = x; \
60 } while (0)
61#endif
62
63/* This macro is defined to avoid unused-but-set-variable warning
64 * that is enabled in gcc 4.6
65 */
66
67#define IGNORE_UNUSED(x) { x = x; }
68
69#endif /* __ISC_DHCP_CDEFS_H__ */