1*8b26181fSAndroid Build Coastguard Worker /* 2*8b26181fSAndroid Build Coastguard Worker * Copyright (c) 1994, 1995, 1996 3*8b26181fSAndroid Build Coastguard Worker * The Regents of the University of California. All rights reserved. 4*8b26181fSAndroid Build Coastguard Worker * 5*8b26181fSAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*8b26181fSAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions 7*8b26181fSAndroid Build Coastguard Worker * are met: 8*8b26181fSAndroid Build Coastguard Worker * 1. Redistributions of source code must retain the above copyright 9*8b26181fSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 10*8b26181fSAndroid Build Coastguard Worker * 2. Redistributions in binary form must reproduce the above copyright 11*8b26181fSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in the 12*8b26181fSAndroid Build Coastguard Worker * documentation and/or other materials provided with the distribution. 13*8b26181fSAndroid Build Coastguard Worker * 3. All advertising materials mentioning features or use of this software 14*8b26181fSAndroid Build Coastguard Worker * must display the following acknowledgement: 15*8b26181fSAndroid Build Coastguard Worker * This product includes software developed by the Computer Systems 16*8b26181fSAndroid Build Coastguard Worker * Engineering Group at Lawrence Berkeley Laboratory. 17*8b26181fSAndroid Build Coastguard Worker * 4. Neither the name of the University nor of the Laboratory may be used 18*8b26181fSAndroid Build Coastguard Worker * to endorse or promote products derived from this software without 19*8b26181fSAndroid Build Coastguard Worker * specific prior written permission. 20*8b26181fSAndroid Build Coastguard Worker * 21*8b26181fSAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22*8b26181fSAndroid Build Coastguard Worker * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23*8b26181fSAndroid Build Coastguard Worker * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24*8b26181fSAndroid Build Coastguard Worker * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25*8b26181fSAndroid Build Coastguard Worker * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26*8b26181fSAndroid Build Coastguard Worker * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27*8b26181fSAndroid Build Coastguard Worker * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28*8b26181fSAndroid Build Coastguard Worker * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29*8b26181fSAndroid Build Coastguard Worker * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30*8b26181fSAndroid Build Coastguard Worker * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31*8b26181fSAndroid Build Coastguard Worker * SUCH DAMAGE. 32*8b26181fSAndroid Build Coastguard Worker */ 33*8b26181fSAndroid Build Coastguard Worker 34*8b26181fSAndroid Build Coastguard Worker #ifndef fmtutils_h 35*8b26181fSAndroid Build Coastguard Worker #define fmtutils_h 36*8b26181fSAndroid Build Coastguard Worker 37*8b26181fSAndroid Build Coastguard Worker #include <stdarg.h> /* we declare varargs functions */ 38*8b26181fSAndroid Build Coastguard Worker 39*8b26181fSAndroid Build Coastguard Worker #include "pcap/funcattrs.h" 40*8b26181fSAndroid Build Coastguard Worker 41*8b26181fSAndroid Build Coastguard Worker #ifdef __cplusplus 42*8b26181fSAndroid Build Coastguard Worker extern "C" { 43*8b26181fSAndroid Build Coastguard Worker #endif 44*8b26181fSAndroid Build Coastguard Worker 45*8b26181fSAndroid Build Coastguard Worker void pcap_fmt_set_encoding(unsigned int); 46*8b26181fSAndroid Build Coastguard Worker 47*8b26181fSAndroid Build Coastguard Worker void pcap_fmt_errmsg_for_errno(char *, size_t, int, 48*8b26181fSAndroid Build Coastguard Worker PCAP_FORMAT_STRING(const char *), ...) PCAP_PRINTFLIKE(4, 5); 49*8b26181fSAndroid Build Coastguard Worker void pcap_vfmt_errmsg_for_errno(char *, size_t, int, 50*8b26181fSAndroid Build Coastguard Worker PCAP_FORMAT_STRING(const char *), va_list) PCAP_PRINTFLIKE(4, 0); 51*8b26181fSAndroid Build Coastguard Worker 52*8b26181fSAndroid Build Coastguard Worker #ifdef _WIN32 53*8b26181fSAndroid Build Coastguard Worker void pcap_fmt_errmsg_for_win32_err(char *, size_t, DWORD, 54*8b26181fSAndroid Build Coastguard Worker PCAP_FORMAT_STRING(const char *), ...) PCAP_PRINTFLIKE(4, 5); 55*8b26181fSAndroid Build Coastguard Worker void pcap_vfmt_errmsg_for_win32_err(char *, size_t, DWORD, 56*8b26181fSAndroid Build Coastguard Worker PCAP_FORMAT_STRING(const char *), va_list) PCAP_PRINTFLIKE(4, 0); 57*8b26181fSAndroid Build Coastguard Worker #endif 58*8b26181fSAndroid Build Coastguard Worker 59*8b26181fSAndroid Build Coastguard Worker #ifdef __cplusplus 60*8b26181fSAndroid Build Coastguard Worker } 61*8b26181fSAndroid Build Coastguard Worker #endif 62*8b26181fSAndroid Build Coastguard Worker 63*8b26181fSAndroid Build Coastguard Worker #endif 64