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