Annotation of embedaddon/dhcp/includes/isc-dhcp/print.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
3: * Copyright (C) 1999-2001, 2003 Internet Software Consortium.
4: *
5: * Permission to use, copy, modify, and/or distribute this software for any
6: * purpose with or without fee is hereby granted, provided that the above
7: * copyright notice and this permission notice appear in all copies.
8: *
9: * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10: * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11: * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12: * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13: * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14: * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15: * PERFORMANCE OF THIS SOFTWARE.
16: */
17:
1.1.1.1 ! misho 18: /* $Id: print.h,v 1.2 2007/11/16 11:04:11 shane Exp $ */
1.1 misho 19:
20: #ifndef ISC_PRINT_H
21: #define ISC_PRINT_H 1
22:
23: /*! \file isc/print.h */
24:
25: /***
26: *** Imports
27: ***/
28:
29: #include <isc-dhcp/formatcheck.h> /* Required for ISC_FORMAT_PRINTF() macro. */
30: #include <isc-dhcp/lang.h>
31: /*#include <isc-dhcp/platform.h>*/
32:
33: /*!
34: * This block allows lib/isc/print.c to be cleanly compiled even if
35: * the platform does not need it. The standard Makefile will still
36: * not compile print.c or archive print.o, so this is just to make test
37: * compilation ("make print.o") easier.
38: */
39: #if !defined(ISC_PLATFORM_NEEDVSNPRINTF) && defined(ISC__PRINT_SOURCE)
40: #define ISC_PLATFORM_NEEDVSNPRINTF
41: #endif
42:
43: #if !defined(ISC_PLATFORM_NEEDSPRINTF) && defined(ISC__PRINT_SOURCE)
44: #define ISC_PLATFORM_NEEDSPRINTF
45: #endif
46:
47: /***
48: *** Macros
49: ***/
50: #define ISC_PRINT_QUADFORMAT ISC_PLATFORM_QUADFORMAT
51:
52: /***
53: *** Functions
54: ***/
55:
56: #ifdef ISC_PLATFORM_NEEDVSNPRINTF
57: #include <stdarg.h>
58: #include <stddef.h>
59: #endif
60: #ifdef ISC_PLATFORM_NEEDSPRINTF
61: #include <stdio.h>
62: #endif
63:
64:
65: ISC_LANG_BEGINDECLS
66:
67: #ifdef ISC_PLATFORM_NEEDVSNPRINTF
68: int
69: isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap)
70: ISC_FORMAT_PRINTF(3, 0);
71: #define vsnprintf isc_print_vsnprintf
72:
73: int
74: isc_print_snprintf(char *str, size_t size, const char *format, ...)
75: ISC_FORMAT_PRINTF(3, 4);
76: #define snprintf isc_print_snprintf
77: #endif /* ISC_PLATFORM_NEEDVSNPRINTF */
78:
79: #ifdef ISC_PLATFORM_NEEDSPRINTF
80: int
81: isc_print_sprintf(char *str, const char *format, ...) ISC_FORMAT_PRINTF(2, 3);
82: #define sprintf isc_print_sprintf
83: #endif
84:
85: ISC_LANG_ENDDECLS
86:
87: #endif /* ISC_PRINT_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>