1 /* zxidnoswig.h  -  Prototypes that give indigestion to SWIG
2  * Copyright (c) 2010 Sampo Kellomaki (sampo@iki.fi), All Rights Reserved.
3  * Copyright (c) 2007 Symlabs (symlabs@symlabs.com), All Rights Reserved.
4  * Author: Sampo Kellomaki (sampo@iki.fi)
5  * This is confidential unpublished proprietary source code of the author.
6  * NO WARRANTY, not even implied warranties. Contains trade secrets.
7  * Distribution prohibited unless authorized in writing.
8  * Licensed under Apache License 2.0, see file COPYING.
9  * $Id: zxidnoswig.h,v 1.2 2007-10-12 13:51:47 sampo Exp $
10  *
11  * 3.10.2007, created --Sampo
12  *
13  * At least on Redhat (unknown version, but current as of 2007) there
14  * is mysterious problem that causes compilation error in SWIG generated
15  * code. The problem appears to be related to the way Redhat has configured
16  * their gcc or header files to implement va_list. SWIG assumes va_list is
17  * a pointer, but this is strictly speaking not a valid assumption according
18  * to K&R and the assumption seems to break on Redhat. Symptom is
19  * "incompatibe types in assignment" error message in SAML_wrap.c
20  *
21  * Since there is little, if any, value on providing the va_list APIs to
22  * scripting languages, we sidestep the problem by segregating these
23  * problematic APIs here.
24  */
25 
26 #ifndef _zxidnoswig_h
27 #define _zxidnoswig_h
28 
29 extern const char std_basis_64[64];
30 extern const char safe_basis_64[64];
31 extern const unsigned char zx_std_index_64[256];
32 extern const unsigned char const * hex_trans;
33 extern const unsigned char const * ykmodhex_trans;
34 
35 int vname_from_path(char* buf, int buf_len, const char* name_fmt, va_list ap);
36 char* zx_alloc_vasprintf(struct zx_ctx* c, int *retlen, const char* f, va_list ap);
37 
38 #endif
39