Backport of password based CMS support from HEAD.
[openssl.git] / crypto / txt_db / txt_db.h
index c98e287703ca4ae845aee47f094a6bd362c49532..6abe435bc8faf7b88738bf52ebf32f2e1bd9c8e2 100644 (file)
 extern "C" {
 #endif
 
+typedef OPENSSL_STRING *OPENSSL_PSTRING;
+DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING)
+
 typedef struct txt_db_st
        {
        int num_fields;
-       STACK /* char ** */ *data;
-       LHASH **index;
-       int (**qual)();
+       STACK_OF(OPENSSL_PSTRING) *data;
+       LHASH_OF(OPENSSL_STRING) **index;
+       int (**qual)(OPENSSL_STRING *);
        long error;
        long arg1;
        long arg2;
-       char **arg_row;
+       OPENSSL_STRING *arg_row;
        } TXT_DB;
 
 #ifndef OPENSSL_NO_BIO
@@ -96,11 +99,11 @@ long TXT_DB_write(BIO *out, TXT_DB *db);
 TXT_DB *TXT_DB_read(char *in, int num);
 long TXT_DB_write(char *out, TXT_DB *db);
 #endif
-int TXT_DB_create_index(TXT_DB *db,int field,int (*qual)(),
-               LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp);
+int TXT_DB_create_index(TXT_DB *db,int field,int (*qual)(OPENSSL_STRING *),
+                       LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp);
 void TXT_DB_free(TXT_DB *db);
-char **TXT_DB_get_by_index(TXT_DB *db, int idx, char **value);
-int TXT_DB_insert(TXT_DB *db,char **value);
+OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING *value);
+int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value);
 
 #ifdef  __cplusplus
 }