heimdal_build: autogenerate table files in heimdal/lib/wind/
[tprouty/samba.git] / source4 / heimdal / lib / hx509 / hx509-private.h
index 2db3f4f9327130cf5e98ea8ca2e5e53e5787c3b2..de1fcfa7e65246a9a3221e9dfa86f83b7bdaebea 100644 (file)
@@ -4,6 +4,15 @@
 
 #include <stdarg.h>
 
+#if !defined(__GNUC__) && !defined(__attribute__)
+#define __attribute__(x)
+#endif
+
+int
+_hx509_AlgorithmIdentifier_cmp (
+       const AlgorithmIdentifier */*p*/,
+       const AlgorithmIdentifier */*q*/);
+
 int
 _hx509_Certificate_cmp (
        const Certificate */*p*/,
@@ -20,7 +29,8 @@ _hx509_Time2time_t (const Time */*t*/);
 void
 _hx509_abort (
        const char */*fmt*/,
-       ...);
+       ...)
+    __attribute__ ((noreturn, format (printf, 1, 2)));
 
 int
 _hx509_calculate_path (
@@ -38,6 +48,12 @@ _hx509_cert_assign_key (
        hx509_cert /*cert*/,
        hx509_private_key /*private_key*/);
 
+int
+_hx509_cert_get_eku (
+       hx509_context /*context*/,
+       hx509_cert /*cert*/,
+       ExtKeyUsage */*e*/);
+
 int
 _hx509_cert_get_keyusage (
        hx509_context /*context*/,
@@ -81,6 +97,12 @@ _hx509_cert_set_release (
        _hx509_cert_release_func /*release*/,
        void */*ctx*/);
 
+int
+_hx509_cert_to_env (
+       hx509_context /*context*/,
+       hx509_cert /*cert*/,
+       hx509_env */*env*/);
+
 int
 _hx509_certs_keys_add (
        hx509_context /*context*/,
@@ -98,6 +120,9 @@ _hx509_certs_keys_get (
        hx509_certs /*certs*/,
        hx509_private_key **/*keys*/);
 
+hx509_certs
+_hx509_certs_ref (hx509_certs /*certs*/);
+
 int
 _hx509_check_key_usage (
        hx509_context /*context*/,
@@ -105,10 +130,11 @@ _hx509_check_key_usage (
        unsigned /*flags*/,
        int /*req_present*/);
 
-struct hx509_collector *
+int
 _hx509_collector_alloc (
        hx509_context /*context*/,
-       hx509_lock /*lock*/);
+       hx509_lock /*lock*/,
+       struct hx509_collector **/*collector*/);
 
 int
 _hx509_collector_certs_add (
@@ -161,6 +187,18 @@ _hx509_create_signature_bitstring (
        AlgorithmIdentifier */*signatureAlgorithm*/,
        heim_bit_string */*sig*/);
 
+int
+_hx509_expr_eval (
+       hx509_context /*context*/,
+       hx509_env /*env*/,
+       struct hx_expr */*expr*/);
+
+void
+_hx509_expr_free (struct hx_expr */*expr*/);
+
+struct hx_expr *
+_hx509_expr_parse (const char */*buf*/);
+
 int
 _hx509_find_extension_subject_key_id (
        const Certificate */*issuer*/,
@@ -169,9 +207,29 @@ _hx509_find_extension_subject_key_id (
 int
 _hx509_generate_private_key (
        hx509_context /*context*/,
-       const heim_oid */*key_oid*/,
+       struct hx509_generate_private_context */*ctx*/,
        hx509_private_key */*private_key*/);
 
+int
+_hx509_generate_private_key_bits (
+       hx509_context /*context*/,
+       struct hx509_generate_private_context */*ctx*/,
+       unsigned long /*bits*/);
+
+void
+_hx509_generate_private_key_free (struct hx509_generate_private_context **/*ctx*/);
+
+int
+_hx509_generate_private_key_init (
+       hx509_context /*context*/,
+       const heim_oid */*oid*/,
+       struct hx509_generate_private_context **/*ctx*/);
+
+int
+_hx509_generate_private_key_is_ca (
+       hx509_context /*context*/,
+       struct hx509_generate_private_context */*ctx*/);
+
 Certificate *
 _hx509_get_cert (hx509_cert /*cert*/);
 
@@ -181,9 +239,15 @@ _hx509_ks_dir_register (hx509_context /*context*/);
 void
 _hx509_ks_file_register (hx509_context /*context*/);
 
+void
+_hx509_ks_keychain_register (hx509_context /*context*/);
+
 void
 _hx509_ks_mem_register (hx509_context /*context*/);
 
+void
+_hx509_ks_null_register (hx509_context /*context*/);
+
 void
 _hx509_ks_pkcs11_register (hx509_context /*context*/);
 
@@ -207,12 +271,16 @@ _hx509_lock_get_passwords (hx509_lock /*lock*/);
 hx509_certs
 _hx509_lock_unlock_certs (hx509_lock /*lock*/);
 
+struct hx_expr *
+_hx509_make_expr (
+       enum hx_expr_op /*op*/,
+       void */*arg1*/,
+       void */*arg2*/);
+
 int
-_hx509_map_file (
+_hx509_map_file_os (
        const char */*fn*/,
-       void **/*data*/,
-       size_t */*length*/,
-       struct stat */*rsb*/);
+       heim_octet_string */*os*/);
 
 int
 _hx509_match_keys (
@@ -222,12 +290,14 @@ _hx509_match_keys (
 int
 _hx509_name_cmp (
        const Name */*n1*/,
-       const Name */*n2*/);
+       const Name */*n2*/,
+       int */*c*/);
 
 int
 _hx509_name_ds_cmp (
        const DirectoryString */*ds1*/,
-       const DirectoryString */*ds2*/);
+       const DirectoryString */*ds2*/,
+       int */*diff*/);
 
 int
 _hx509_name_from_Name (
@@ -267,11 +337,19 @@ _hx509_pbe_decrypt (
        const heim_octet_string */*econtent*/,
        heim_octet_string */*content*/);
 
+int
+_hx509_pbe_encrypt (
+       hx509_context /*context*/,
+       hx509_lock /*lock*/,
+       const AlgorithmIdentifier */*ai*/,
+       const heim_octet_string */*content*/,
+       heim_octet_string */*econtent*/);
+
 void
 _hx509_pi_printf (
-       int (*/*func*/)(void *, char *),
+       int (*/*func*/)(void *, const char *),
        void */*ctx*/,
-       char */*fmt*/,
+       const char */*fmt*/,
        ...);
 
 int
@@ -297,6 +375,12 @@ _hx509_private_key_exportable (hx509_private_key /*key*/);
 int
 _hx509_private_key_free (hx509_private_key */*key*/);
 
+BIGNUM *
+_hx509_private_key_get_internal (
+       hx509_context /*context*/,
+       hx509_private_key /*key*/,
+       const char */*type*/);
+
 int
 _hx509_private_key_init (
        hx509_private_key */*key*/,
@@ -340,6 +424,12 @@ _hx509_query_match_cert (
        const hx509_query */*q*/,
        hx509_cert /*cert*/);
 
+void
+_hx509_query_statistic (
+       hx509_context /*context*/,
+       int /*type*/,
+       const hx509_query */*q*/);
+
 int
 _hx509_request_add_dns_name (
        hx509_context /*context*/,
@@ -361,11 +451,35 @@ _hx509_request_add_email (
 void
 _hx509_request_free (hx509_request */*req*/);
 
+int
+_hx509_request_get_SubjectPublicKeyInfo (
+       hx509_context /*context*/,
+       hx509_request /*req*/,
+       SubjectPublicKeyInfo */*key*/);
+
+int
+_hx509_request_get_name (
+       hx509_context /*context*/,
+       hx509_request /*req*/,
+       hx509_name */*name*/);
+
 int
 _hx509_request_init (
        hx509_context /*context*/,
        hx509_request */*req*/);
 
+int
+_hx509_request_parse (
+       hx509_context /*context*/,
+       const char */*path*/,
+       hx509_request */*req*/);
+
+int
+_hx509_request_print (
+       hx509_context /*context*/,
+       hx509_request /*req*/,
+       FILE */*f*/);
+
 int
 _hx509_request_set_SubjectPublicKeyInfo (
        hx509_context /*context*/,
@@ -385,6 +499,12 @@ _hx509_request_to_pkcs10 (
        const hx509_private_key /*signer*/,
        heim_octet_string */*request*/);
 
+hx509_revoke_ctx
+_hx509_revoke_ref (hx509_revoke_ctx /*ctx*/);
+
+void
+_hx509_sel_yyerror (char */*s*/);
+
 int
 _hx509_set_cert_attribute (
        hx509_context /*context*/,
@@ -392,23 +512,17 @@ _hx509_set_cert_attribute (
        const heim_oid */*oid*/,
        const heim_octet_string */*attr*/);
 
-int
-_hx509_set_digest_alg (
-       DigestAlgorithmIdentifier */*id*/,
-       const heim_oid */*oid*/,
-       void */*param*/,
-       size_t /*length*/);
-
 void
-_hx509_unmap_file (
-       void */*data*/,
-       size_t /*len*/);
+_hx509_unmap_file_os (heim_octet_string */*os*/);
 
 int
 _hx509_unparse_Name (
        const Name */*aname*/,
        char **/*str*/);
 
+time_t
+_hx509_verify_get_time (hx509_verify_ctx /*ctx*/);
+
 int
 _hx509_verify_signature (
        hx509_context /*context*/,