1*00b67f09SDavid van Moolenbroek /* $NetBSD: wrapcommon.h,v 1.3 2014/12/10 04:37:56 christos Exp $ */ 2*00b67f09SDavid van Moolenbroek 3*00b67f09SDavid van Moolenbroek /* 4*00b67f09SDavid van Moolenbroek * wrapcommon.h 5*00b67f09SDavid van Moolenbroek */ 6*00b67f09SDavid van Moolenbroek 7*00b67f09SDavid van Moolenbroek /* 8*00b67f09SDavid van Moolenbroek * Copyright (c) 2000,2002 Japan Network Information Center. 9*00b67f09SDavid van Moolenbroek * All rights reserved. 10*00b67f09SDavid van Moolenbroek * 11*00b67f09SDavid van Moolenbroek * By using this file, you agree to the terms and conditions set forth bellow. 12*00b67f09SDavid van Moolenbroek * 13*00b67f09SDavid van Moolenbroek * LICENSE TERMS AND CONDITIONS 14*00b67f09SDavid van Moolenbroek * 15*00b67f09SDavid van Moolenbroek * The following License Terms and Conditions apply, unless a different 16*00b67f09SDavid van Moolenbroek * license is obtained from Japan Network Information Center ("JPNIC"), 17*00b67f09SDavid van Moolenbroek * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda, 18*00b67f09SDavid van Moolenbroek * Chiyoda-ku, Tokyo 101-0047, Japan. 19*00b67f09SDavid van Moolenbroek * 20*00b67f09SDavid van Moolenbroek * 1. Use, Modification and Redistribution (including distribution of any 21*00b67f09SDavid van Moolenbroek * modified or derived work) in source and/or binary forms is permitted 22*00b67f09SDavid van Moolenbroek * under this License Terms and Conditions. 23*00b67f09SDavid van Moolenbroek * 24*00b67f09SDavid van Moolenbroek * 2. Redistribution of source code must retain the copyright notices as they 25*00b67f09SDavid van Moolenbroek * appear in each source code file, this License Terms and Conditions. 26*00b67f09SDavid van Moolenbroek * 27*00b67f09SDavid van Moolenbroek * 3. Redistribution in binary form must reproduce the Copyright Notice, 28*00b67f09SDavid van Moolenbroek * this License Terms and Conditions, in the documentation and/or other 29*00b67f09SDavid van Moolenbroek * materials provided with the distribution. For the purposes of binary 30*00b67f09SDavid van Moolenbroek * distribution the "Copyright Notice" refers to the following language: 31*00b67f09SDavid van Moolenbroek * "Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved." 32*00b67f09SDavid van Moolenbroek * 33*00b67f09SDavid van Moolenbroek * 4. The name of JPNIC may not be used to endorse or promote products 34*00b67f09SDavid van Moolenbroek * derived from this Software without specific prior written approval of 35*00b67f09SDavid van Moolenbroek * JPNIC. 36*00b67f09SDavid van Moolenbroek * 37*00b67f09SDavid van Moolenbroek * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC 38*00b67f09SDavid van Moolenbroek * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 39*00b67f09SDavid van Moolenbroek * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 40*00b67f09SDavid van Moolenbroek * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE 41*00b67f09SDavid van Moolenbroek * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 42*00b67f09SDavid van Moolenbroek * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 43*00b67f09SDavid van Moolenbroek * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 44*00b67f09SDavid van Moolenbroek * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 45*00b67f09SDavid van Moolenbroek * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 46*00b67f09SDavid van Moolenbroek * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 47*00b67f09SDavid van Moolenbroek * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 48*00b67f09SDavid van Moolenbroek */ 49*00b67f09SDavid van Moolenbroek 50*00b67f09SDavid van Moolenbroek #ifndef _WRAPCOMMON_H 51*00b67f09SDavid van Moolenbroek #define _WRAPCOMMON_H 52*00b67f09SDavid van Moolenbroek 53*00b67f09SDavid van Moolenbroek #include <idn/res.h> 54*00b67f09SDavid van Moolenbroek #include <idn/log.h> 55*00b67f09SDavid van Moolenbroek #include <idn/version.h> 56*00b67f09SDavid van Moolenbroek 57*00b67f09SDavid van Moolenbroek #define WRAPPER_EXPORT extern __declspec(dllexport) 58*00b67f09SDavid van Moolenbroek 59*00b67f09SDavid van Moolenbroek extern void idnPrintf(char *fmt, ...); 60*00b67f09SDavid van Moolenbroek extern void idnLogPrintf(int level, char *fmt, ...); 61*00b67f09SDavid van Moolenbroek extern void idnLogInit(const char *title); 62*00b67f09SDavid van Moolenbroek extern void idnLogReset(void); 63*00b67f09SDavid van Moolenbroek extern void idnLogFinish(void); 64*00b67f09SDavid van Moolenbroek 65*00b67f09SDavid van Moolenbroek extern char *dumpAddr(const char FAR *addr, int len, char *buff, size_t size); 66*00b67f09SDavid van Moolenbroek extern char *dumpHost(const struct hostent FAR *hp, char *buff, size_t size); 67*00b67f09SDavid van Moolenbroek extern char *dumpName(const char *name, char *buff, size_t size); 68*00b67f09SDavid van Moolenbroek 69*00b67f09SDavid van Moolenbroek extern int idnEncodeWhere(void); 70*00b67f09SDavid van Moolenbroek 71*00b67f09SDavid van Moolenbroek #define IDN_ENCODE_ALWAYS 0 72*00b67f09SDavid van Moolenbroek #define IDN_ENCODE_CHECK 1 73*00b67f09SDavid van Moolenbroek #define IDN_ENCODE_ONLY11 2 74*00b67f09SDavid van Moolenbroek #define IDN_ENCODE_ONLY20 3 75*00b67f09SDavid van Moolenbroek 76*00b67f09SDavid van Moolenbroek extern BOOL idnGetPrgEncoding(char *enc, size_t len); 77*00b67f09SDavid van Moolenbroek extern BOOL idnGetLogFile(char *file, size_t len); 78*00b67f09SDavid van Moolenbroek 79*00b67f09SDavid van Moolenbroek extern int idnGetLogLevel(void); /* 0 : fatal */ 80*00b67f09SDavid van Moolenbroek /* 1 : error */ 81*00b67f09SDavid van Moolenbroek /* 2 : warning */ 82*00b67f09SDavid van Moolenbroek /* 3 : info */ 83*00b67f09SDavid van Moolenbroek /* 4 : trace */ 84*00b67f09SDavid van Moolenbroek /* 5 : dump */ 85*00b67f09SDavid van Moolenbroek extern int idnGetInstallDir(char *dir, size_t len); 86*00b67f09SDavid van Moolenbroek 87*00b67f09SDavid van Moolenbroek extern idn_resconf_t idnConvInit(void); 88*00b67f09SDavid van Moolenbroek extern void idnConvDone(idn_resconf_t ctx); 89*00b67f09SDavid van Moolenbroek 90*00b67f09SDavid van Moolenbroek extern BOOL idnWinsockVersion(const char *version); 91*00b67f09SDavid van Moolenbroek extern HINSTANCE idnWinsockHandle(void); 92*00b67f09SDavid van Moolenbroek extern idn_resconf_t idnGetContext(void); 93*00b67f09SDavid van Moolenbroek 94*00b67f09SDavid van Moolenbroek /* 95*00b67f09SDavid van Moolenbroek * Converting Request/Response 96*00b67f09SDavid van Moolenbroek */ 97*00b67f09SDavid van Moolenbroek 98*00b67f09SDavid van Moolenbroek extern BOOL idnConvReq(idn_resconf_t ctx, const char FAR *from, 99*00b67f09SDavid van Moolenbroek char FAR *to, size_t tolen); 100*00b67f09SDavid van Moolenbroek extern BOOL idnConvRsp(idn_resconf_t ctx, const char FAR *from, 101*00b67f09SDavid van Moolenbroek char FAR *to, size_t tolen); 102*00b67f09SDavid van Moolenbroek 103*00b67f09SDavid van Moolenbroek /* 104*00b67f09SDavid van Moolenbroek * Hook for Asynchronouse Query 105*00b67f09SDavid van Moolenbroek */ 106*00b67f09SDavid van Moolenbroek 107*00b67f09SDavid van Moolenbroek extern void idnHookInit(void); 108*00b67f09SDavid van Moolenbroek extern void idnHookDone(void); 109*00b67f09SDavid van Moolenbroek extern BOOL idnHook(HWND hWnd, u_int wMsg, char FAR *buf, idn_resconf_t ctx); 110*00b67f09SDavid van Moolenbroek 111*00b67f09SDavid van Moolenbroek #endif /* _WRAPCOMMON_H */ 112