Annotation of embedaddon/dhcp/includes/isc-dhcp/print.h, revision 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:
! 18: /* $Id: print.h,v 1.2 2007-11-16 11:04:11 shane Exp $ */
! 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>