pkix_pl_common.h (3893B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 /* 5 * pkix_pl_common.h 6 * 7 * Common central header file included by all PL source files 8 * 9 */ 10 11 #ifndef _PKIX_PL_COMMON_H 12 #define _PKIX_PL_COMMON_H 13 14 /* PKIX HEADERS */ 15 #include "pkix_tools.h" 16 17 /* NSS headers */ 18 #include "nss.h" 19 #include "secport.h" 20 #include "secasn1.h" 21 #include "secerr.h" 22 #include "base64.h" 23 #include "cert.h" 24 #include "certdb.h" 25 #include "genname.h" 26 #include "xconst.h" 27 #include "keyhi.h" 28 #include "ocsp.h" 29 #include "ocspt.h" 30 #include "pk11pub.h" 31 #include "pkcs11.h" 32 #include "pkcs11t.h" 33 #include "prio.h" 34 35 /* NSPR headers */ 36 #include "nspr.h" 37 38 /* private PKIX_PL_NSS system headers */ 39 #include "pkix_pl_object.h" 40 #include "pkix_pl_string.h" 41 #ifndef NSS_PKIX_NO_LDAP 42 #include "pkix_pl_ldapt.h" 43 #endif /* !NSS_PKIX_NO_LDAP */ 44 #include "pkix_pl_aiamgr.h" 45 #include "pkix_pl_bigint.h" 46 #include "pkix_pl_oid.h" 47 #include "pkix_pl_x500name.h" 48 #include "pkix_pl_generalname.h" 49 #include "pkix_pl_publickey.h" 50 #include "pkix_pl_bytearray.h" 51 #include "pkix_pl_date.h" 52 #include "pkix_pl_primhash.h" 53 #include "pkix_pl_basicconstraints.h" 54 #include "pkix_pl_bytearray.h" 55 #include "pkix_pl_cert.h" 56 #include "pkix_pl_certpolicyinfo.h" 57 #include "pkix_pl_certpolicymap.h" 58 #include "pkix_pl_certpolicyqualifier.h" 59 #include "pkix_pl_crldp.h" 60 #include "pkix_pl_crl.h" 61 #include "pkix_pl_crlentry.h" 62 #include "pkix_pl_nameconstraints.h" 63 #include "pkix_pl_ocsprequest.h" 64 #include "pkix_pl_ocspresponse.h" 65 #include "pkix_pl_pk11certstore.h" 66 #include "pkix_pl_socket.h" 67 #ifndef NSS_PKIX_NO_LDAP 68 #include "pkix_pl_ldapcertstore.h" 69 #include "pkix_pl_ldaprequest.h" 70 #include "pkix_pl_ldapresponse.h" 71 #endif /* !NSS_PKIX_NO_LDAP */ 72 #include "pkix_pl_nsscontext.h" 73 #include "pkix_pl_httpcertstore.h" 74 #include "pkix_pl_httpdefaultclient.h" 75 #include "pkix_pl_infoaccess.h" 76 #include "pkix_sample_modules.h" 77 78 #define MAX_DIGITS_32 (PKIX_UInt32) 10 79 80 #define PKIX_PL_NSSCALL(type, func, args) \ 81 PKIX_ ## type ## _DEBUG_ARG("( Calling %s).\n", #func); \ 82 (func args) 83 84 #define PKIX_PL_NSSCALLRV(type, lvalue, func, args) \ 85 PKIX_ ## type ## _DEBUG_ARG("( Calling %s).\n", #func); \ 86 lvalue = (func args) 87 88 /* see source file for function documentation */ 89 90 PKIX_Error * 91 pkix_LockObject( 92 PKIX_PL_Object *object, 93 void *plContext); 94 95 PKIX_Error * 96 pkix_UnlockObject( 97 PKIX_PL_Object *object, 98 void *plContext); 99 100 PKIX_Boolean 101 pkix_pl_UInt32_Overflows(char *string); 102 103 PKIX_Error * 104 pkix_pl_helperBytes2Ascii( 105 PKIX_UInt32 *tokens, 106 PKIX_UInt32 numTokens, 107 char **pAscii, 108 void *plContext); 109 110 PKIX_Error * 111 pkix_pl_ipAddrBytes2Ascii( 112 SECItem *secItem, 113 char **pAscii, 114 void *plContext); 115 116 PKIX_Error * 117 pkix_pl_oidBytes2Ascii( 118 SECItem *secItem, 119 char **pAscii, 120 void *plContext); 121 122 /* --String-Encoding-Conversion-Functions------------------------ */ 123 124 PKIX_Error * 125 pkix_UTF16_to_EscASCII( 126 const void *utf16String, 127 PKIX_UInt32 utf16Length, 128 PKIX_Boolean debug, 129 char **pDest, 130 PKIX_UInt32 *pLength, 131 void *plContext); 132 133 PKIX_Error * 134 pkix_EscASCII_to_UTF16( 135 const char *escAsciiString, 136 PKIX_UInt32 escAsciiLen, 137 PKIX_Boolean debug, 138 void **pDest, 139 PKIX_UInt32 *pLength, 140 void *plContext); 141 142 PKIX_Error * 143 pkix_UTF16_to_UTF8( 144 const void *utf16String, 145 PKIX_UInt32 utf16Length, 146 PKIX_Boolean null_Term, 147 void **pDest, 148 PKIX_UInt32 *pLength, 149 void *plContext); 150 151 PKIX_Error * 152 pkix_UTF8_to_UTF16( 153 const void *utf8Source, 154 PKIX_UInt32 utf8Length, 155 void **pDest, 156 PKIX_UInt32 *pLength, 157 void *plContext); 158 159 #endif /* _PKIX_PL_COMMON_H */