PageRenderTime 25ms CodeModel.GetById 16ms app.highlight 4ms RepoModel.GetById 2ms app.codeStats 0ms

/contrib/ntp/include/isc/print.h

https://bitbucket.org/freebsd/freebsd-head/
C++ Header | 69 lines | 24 code | 13 blank | 32 comment | 1 complexity | dd5921709fd6792fb8579480d5f1ab8e MD5 | raw file
 1/*
 2 * Copyright (C) 1999-2001  Internet Software Consortium.
 3 *
 4 * Permission to use, copy, modify, and distribute this software for any
 5 * purpose with or without fee is hereby granted, provided that the above
 6 * copyright notice and this permission notice appear in all copies.
 7 *
 8 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
 9 * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
10 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
11 * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
13 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
15 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18/* $Id: print.h,v 1.17 2001/02/27 02:19:33 gson Exp $ */
19
20#ifndef ISC_PRINT_H
21#define ISC_PRINT_H 1
22
23/***
24 *** Imports
25 ***/
26
27#include <isc/formatcheck.h>    /* Required for ISC_FORMAT_PRINTF() macro. */
28#include <isc/lang.h>
29#include <isc/platform.h>
30
31/*
32 * This block allows lib/isc/print.c to be cleanly compiled even if
33 * the platform does not need it.  The standard Makefile will still
34 * not compile print.c or archive print.o, so this is just to make test
35 * compilation ("make print.o") easier.
36 */
37#if !defined(ISC_PLATFORM_NEEDVSNPRINTF) && defined(ISC__PRINT_SOURCE)
38#define ISC_PLATFORM_NEEDVSNPRINTF
39#endif
40
41/***
42 *** Macros
43 ***/
44#define ISC_PRINT_QUADFORMAT ISC_PLATFORM_QUADFORMAT
45
46/***
47 *** Functions
48 ***/
49
50#ifdef ISC_PLATFORM_NEEDVSNPRINTF
51#include <stdarg.h>
52#include <stddef.h>
53
54ISC_LANG_BEGINDECLS
55
56int
57isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap)
58     ISC_FORMAT_PRINTF(3, 0);
59#define vsnprintf isc_print_vsnprintf
60
61int
62isc_print_snprintf(char *str, size_t size, const char *format, ...)
63     ISC_FORMAT_PRINTF(3, 4);
64#define snprintf isc_print_snprintf
65
66ISC_LANG_ENDDECLS
67#endif /* ISC_PLATFORM_NEEDVSNPRINTF */
68
69#endif /* ISC_PRINT_H */