Because there's chances we clash with the system's types.h, rename our
[openssl.git] / crypto / x509 / x509.h
index 50da59ce3c7a3deb1d058c6f81343210bf0e5f21..9a4b0db4356c4c31661a4da5127489621b13f403 100644 (file)
@@ -89,6 +89,7 @@
 #endif
 #include <openssl/evp.h>
 #include <openssl/e_os2.h>
+#include <openssl/ossl_typ.h>
 
 #ifdef  __cplusplus
 extern "C" {
@@ -99,10 +100,6 @@ extern "C" {
 #undef X509_NAME
 #endif
 
-  /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */
-#define DECLARE_PKCS12_STACK_OF(type) /* Nothing */
-#define IMPLEMENT_PKCS12_STACK_OF(type) /* Nothing */
-
 #define X509_FILETYPE_PEM      1
 #define X509_FILETYPE_ASN1     2
 #define X509_FILETYPE_DEFAULT  3
@@ -125,11 +122,11 @@ typedef struct X509_objects_st
        int (*i2a)();
        } X509_OBJECTS;
 
-typedef struct X509_algor_st
+struct X509_algor_st
        {
        ASN1_OBJECT *algorithm;
        ASN1_TYPE *parameter;
-       } X509_ALGOR;
+       } /* X509_ALGOR */;
 
 DECLARE_STACK_OF(X509_ALGOR)
 DECLARE_ASN1_SET_OF(X509_ALGOR)
@@ -165,7 +162,7 @@ DECLARE_STACK_OF(X509_NAME_ENTRY)
 DECLARE_ASN1_SET_OF(X509_NAME_ENTRY)
 
 /* we always keep X509_NAMEs in 2 forms. */
-typedef struct X509_name_st
+struct X509_name_st
        {
        STACK_OF(X509_NAME_ENTRY) *entries;
        int modified;   /* true if 'bytes' needs to be built */
@@ -175,7 +172,7 @@ typedef struct X509_name_st
        char *bytes;
 #endif
        unsigned long hash; /* Keep the hash around for lookups */
-       } X509_NAME;
+       } /* X509_NAME */;
 
 DECLARE_STACK_OF(X509_NAME)
 
@@ -254,7 +251,7 @@ typedef struct x509_cert_aux_st
        STACK_OF(X509_ALGOR) *other;            /* other unspecified info */
        } X509_CERT_AUX;
 
-typedef struct x509_st
+struct x509_st
        {
        X509_CINF *cert_info;
        X509_ALGOR *sig_alg;
@@ -275,7 +272,7 @@ typedef struct x509_st
        unsigned char sha1_hash[SHA_DIGEST_LENGTH];
 #endif
        X509_CERT_AUX *aux;
-       } X509;
+       } /* X509 */;
 
 DECLARE_STACK_OF(X509)
 DECLARE_ASN1_SET_OF(X509)
@@ -415,14 +412,14 @@ typedef struct X509_crl_info_st
        STACK_OF(X509_EXTENSION) /* [0] */ *extensions;
        } X509_CRL_INFO;
 
-typedef struct X509_crl_st
+struct X509_crl_st
        {
        /* actual signature */
        X509_CRL_INFO *crl;
        X509_ALGOR *sig_alg;
        ASN1_BIT_STRING *signature;
        int references;
-       } X509_CRL;
+       } /* X509_CRL */;
 
 DECLARE_STACK_OF(X509_CRL)
 DECLARE_ASN1_SET_OF(X509_CRL)
@@ -978,6 +975,15 @@ int X509_REQ_add1_attr_by_txt(X509_REQ *req,
                        const char *attrname, int type,
                        const unsigned char *bytes, int len);
 
+int X509_CRL_set_version(X509_CRL *x, long version);
+int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name);
+int X509_CRL_set_lastUpdate(X509_CRL *x, ASN1_TIME *tm);
+int X509_CRL_set_nextUpdate(X509_CRL *x, ASN1_TIME *tm);
+int X509_CRL_sort(X509_CRL *crl);
+
+int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial);
+int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm);
+
 int            X509_check_private_key(X509 *x509,EVP_PKEY *pkey);
 
 int            X509_issuer_and_serial_cmp(const X509 *a, const X509 *b);
@@ -1215,6 +1221,8 @@ void ERR_load_X509_strings(void);
 #define X509_F_X509_REQ_TO_X509                                 123
 #define X509_F_X509_STORE_ADD_CERT                      124
 #define X509_F_X509_STORE_ADD_CRL                       125
+#define X509_F_X509_STORE_CTX_INIT                      143
+#define X509_F_X509_STORE_CTX_NEW                       142
 #define X509_F_X509_STORE_CTX_PURPOSE_INHERIT           134
 #define X509_F_X509_TO_X509_REQ                                 126
 #define X509_F_X509_TRUST_ADD                           133