~ubuntu-branches/ubuntu/oneiric/isc-dhcp/oneiric-security

« back to all changes in this revision

Viewing changes to includes/isc-dhcp/print.h

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Pollock
  • Date: 2009-09-02 22:34:25 UTC
  • Revision ID: james.westby@ubuntu.com-20090902223425-nypo7bkftxffq41m
Tags: upstream-4.1.0
ImportĀ upstreamĀ versionĀ 4.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 */