openssl/crypto/asn1
Richard Levitte 62dc5aad06 Introduce the possibility to access global variables through
functions on platform were that's the best way to handle exporting
global variables in shared libraries.  To enable this functionality,
one must configure with "EXPORT_VAR_AS_FN" or defined the C macro
"OPENSSL_EXPORT_VAR_AS_FUNCTION" in crypto/opensslconf.h (the latter
is normally done by Configure or something similar).

To implement a global variable, use the macro OPENSSL_IMPLEMENT_GLOBAL
in the source file (foo.c) like this:

	OPENSSL_IMPLEMENT_GLOBAL(int,foo)=1;
	OPENSSL_IMPLEMENT_GLOBAL(double,bar);

To declare a global variable, use the macros OPENSSL_DECLARE_GLOBAL
and OPENSSL_GLOBAL_REF in the header file (foo.h) like this:

	OPENSSL_DECLARE_GLOBAL(int,foo);
	#define foo OPENSSL_GLOBAL_REF(foo)
	OPENSSL_DECLARE_GLOBAL(double,bar);
	#define bar OPENSSL_GLOBAL_REF(bar)

The #defines are very important, and therefore so is including the
header file everywere where the defined globals are used.

The macro OPENSSL_EXPORT_VAR_AS_FUNCTION also affects the definition
of ASN.1 items, but that structure is a bt different.

The largest change is in util/mkdef.pl which has been enhanced with
better and easier to understand logic to choose which symbols should
go into the Windows .def files as well as a number of fixes and code
cleanup (among others, algorithm keywords are now sorted
lexicographically to avoid constant rewrites).
2001-03-02 10:38:19 +00:00
..
.cvsignore Ignore Makefile.save 1999-04-29 16:04:54 +00:00
a_bitstr.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_bool.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_bytes.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_d2i_fp.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
a_digest.c Various function for commmon operations. 2001-02-02 00:45:54 +00:00
a_dup.c ASN1_ITEM version of ASN1_dup(). Might want 2000-12-28 22:41:46 +00:00
a_enum.c Fix typo in OCSP nonce extension. 2001-01-04 19:53:48 +00:00
a_gentm.c Use new-style system-id macros everywhere possible. I hope I haven't 2001-02-20 08:13:47 +00:00
a_hdr.c There have been a number of complaints from a number of sources that names 2000-06-01 22:19:21 +00:00
a_i2d_fp.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
a_int.c Fixes to various ASN1_INTEGER routines for negative case. 2001-01-19 14:21:48 +00:00
a_mbstr.c Marin Kraemer <Martin.Kraemer@MchP.Siemens.De> sent us patches to make 2000-09-10 14:45:19 +00:00
a_meth.c Don't include x509.h when we just need asn1.h 1999-07-24 03:09:01 +00:00
a_object.c Constification of the data of a hash table. This means the callback 2000-12-13 17:15:03 +00:00
a_octet.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_print.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_set.c Add NO_ASN1_OLD to remove some old style functions: 2000-12-28 22:24:50 +00:00
a_sign.c Add NO_ASN1_OLD to remove some old style functions: 2000-12-28 22:24:50 +00:00
a_strex.c Global DirectoryString mask fix. 2000-10-04 01:16:32 +00:00
a_strnid.c Global DirectoryString mask fix. 2000-10-04 01:16:32 +00:00
a_time.c Use new-style system-id macros everywhere possible. I hope I haven't 2001-02-20 08:13:47 +00:00
a_type.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_utctm.c Include OpenSSL header files earlier so macros like OPENSSL_SYS_VMS 2001-02-20 13:22:35 +00:00
a_utf8.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
a_verify.c Add NO_ASN1_OLD to remove some old style functions: 2000-12-28 22:24:50 +00:00
asn1_err.c Trap an invalid ASN1_ITEM construction and print out 2001-02-25 14:11:31 +00:00
asn1_lib.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
asn1_mac.h Constify the RSA parts of the ASN.1 library. Note some ugly casts 2000-11-06 23:04:15 +00:00
asn1_par.c Changes needed for Tandem NSK, supplied by Scott Uroff (scott@xypro.com). 2000-08-04 00:01:39 +00:00
asn1.h Introduce the possibility to access global variables through 2001-03-02 10:38:19 +00:00
asn1t.h Introduce the possibility to access global variables through 2001-03-02 10:38:19 +00:00
asn_pack.c Rewrite PKCS#12 code and remove some of the old 2000-12-31 01:13:04 +00:00
charmap.h New ASN1_STRING_print_ex() and X509_NAME_print_ex() 2000-07-28 01:58:15 +00:00
charmap.pl New ASN1_STRING_print_ex() and X509_NAME_print_ex() 2000-07-28 01:58:15 +00:00
d2i_pr.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
d2i_pu.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
evp_asn1.c Replace the macros in asn1.h with function equivalents. Also make UTF8Strings 1999-10-20 01:50:23 +00:00
f_enum.c There have been a number of complaints from a number of sources that names 2000-06-01 22:19:21 +00:00
f_int.c Fixes to various ASN1_INTEGER routines for negative case. 2001-01-19 14:21:48 +00:00
f_string.c There have been a number of complaints from a number of sources that names 2000-06-01 22:19:21 +00:00
f.c
i2d_pr.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
i2d_pu.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
Makefile.ssl make update 2001-02-26 10:54:08 +00:00
n_pkey.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
nsseq.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
p5_pbe.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
p5_pbev2.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
p8_key.c There have been a number of complaints from a number of sources that names 2000-06-01 22:19:21 +00:00
p8_pkey.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
t_bitst.c Allow additional information to be attached to a 1999-11-04 00:45:35 +00:00
t_crl.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
t_pkey.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
t_req.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
t_spki.c Make all configuration macros available for application by making 2001-02-19 16:06:34 +00:00
t_x509.c Print out OID of unknown signature or public key 2001-02-24 01:42:21 +00:00
t_x509a.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
tasn_dec.c Trap an invalid ASN1_ITEM construction and print out 2001-02-25 14:11:31 +00:00
tasn_enc.c Initial support for ASN1_ITEM_FUNCTION option to 2001-02-23 03:16:09 +00:00
tasn_fre.c Initial support for ASN1_ITEM_FUNCTION option to 2001-02-23 03:16:09 +00:00
tasn_new.c Initial support for ASN1_ITEM_FUNCTION option to 2001-02-23 03:16:09 +00:00
tasn_prn.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
tasn_typ.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
tasn_utl.c Initial support for ASN1_ITEM_FUNCTION option to 2001-02-23 03:16:09 +00:00
x_algor.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_attrib.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_bignum.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_cinf.c There have been a number of complaints from a number of sources that names 2000-06-01 22:19:21 +00:00
x_crl.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_exten.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_info.c Merge from the ASN1 branch of new ASN1 code 2000-12-08 19:09:35 +00:00
x_long.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_name.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_pkey.c There have been a number of complaints from a number of sources that names 2000-06-01 22:19:21 +00:00
x_pubkey.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_req.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_sig.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_spki.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_val.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_x509.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00
x_x509a.c Get rid of ASN1_ITEM_FUNCTIONS dummy function 2001-02-23 12:47:06 +00:00