00001 /* 00002 * Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation 00003 * 00004 * Author: Nikos Mavrogiannopoulos 00005 * 00006 * This file is part of GNUTLS. 00007 * 00008 * The GNUTLS library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public License 00010 * as published by the Free Software Foundation; either version 2.1 of 00011 * the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, but 00014 * WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 00021 * USA 00022 * 00023 */ 00024 00025 #ifndef GNUTLS_GLOBAL_H 00026 #define GNUTLS_GLOBAL_H 00027 00028 #include "MHD_config.h" 00029 #include <libtasn1.h> 00030 00031 /* this mutex is used to synchronize threads attempting to call MHD__gnutls_global_init / MHD__gnutls_global_deinit */ 00032 extern pthread_mutex_t MHD_gnutls_init_mutex; 00033 00034 int MHD_gnutls_is_secure_memory (const void *mem); 00035 00036 extern ASN1_TYPE MHD__gnutls_pkix1_asn; 00037 extern ASN1_TYPE MHD__gnutlsMHD__gnutls_asn; 00038 00039 #if !HAVE_MEMMEM 00040 extern void *memmem (void const *__haystack, size_t __haystack_len, 00041 void const *__needle, size_t __needle_len); 00042 #endif 00043 00044 /* removed const from node_asn* to 00045 * prevent warnings, since libtasn1 doesn't 00046 * use the const keywork in its functions. 00047 */ 00048 #define MHD__gnutls_getMHD__gnutls_asn() ((node_asn*) MHD__gnutlsMHD__gnutls_asn) 00049 #define MHD__gnutls_get_pkix() ((node_asn*) MHD__gnutls_pkix1_asn) 00050 00051 #endif