Add support for the noCheck OCSP extension. This is
[openssl.git] / crypto / objects / objects.h
index 2f11517a9a4a41c07b925217d4bdf8e57896018c..e98e92e99329cfe4bc7493f6625217389cffe840 100644 (file)
 #ifndef HEADER_OBJECTS_H
 #define HEADER_OBJECTS_H
 
+#define USE_OBJ_MAC
+
+#ifdef USE_OBJ_MAC
+#include <openssl/obj_mac.h>
+#else
 #define SN_undef                       "UNDEF"
 #define LN_undef                       "undefined"
 #define NID_undef                      0
 #define LN_OCSP_sign                   "OCSP Signing"
 #define NID_OCSP_sign                  180
 #define OBJ_OCSP_sign                  OBJ_id_kp,9L
+#endif /* USE_OBJ_MAC */
 
 #include <openssl/bio.h>
 #include <openssl/asn1.h>
@@ -979,31 +985,37 @@ typedef struct obj_name_st
 
 
 int OBJ_NAME_init(void);
-int OBJ_NAME_new_index(unsigned long (*hash_func)(),int (*cmp_func)(),
-       void (*free_func)());
+int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
+                      int (*cmp_func)(const char *, const char *),
+                      void (*free_func)(const char *, int, const char *));
 const char *OBJ_NAME_get(const char *name,int type);
 int OBJ_NAME_add(const char *name,int type,const char *data);
 int OBJ_NAME_remove(const char *name,int type);
 void OBJ_NAME_cleanup(int type); /* -1 for everything */
+void OBJ_NAME_do_all(int type,void (*fn)(const OBJ_NAME *,void *arg),
+                    void *arg);
+void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg),
+                           void *arg);
 
-ASN1_OBJECT *  OBJ_dup(ASN1_OBJECT *o);
+ASN1_OBJECT *  OBJ_dup(const ASN1_OBJECT *o);
 ASN1_OBJECT *  OBJ_nid2obj(int n);
 const char *   OBJ_nid2ln(int n);
 const char *   OBJ_nid2sn(int n);
-int            OBJ_obj2nid(ASN1_OBJECT *o);
+int            OBJ_obj2nid(const ASN1_OBJECT *o);
 ASN1_OBJECT *  OBJ_txt2obj(const char *s, int no_name);
-int    OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *a, int no_name);
-int            OBJ_txt2nid(char *s);
+int    OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);
+int            OBJ_txt2nid(const char *s);
 int            OBJ_ln2nid(const char *s);
 int            OBJ_sn2nid(const char *s);
-int            OBJ_cmp(ASN1_OBJECT *a,ASN1_OBJECT *b);
-char *         OBJ_bsearch(char *key,char *base,int num,int size,int (*cmp)());
+int            OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b);
+const char *   OBJ_bsearch(const char *key,const char *base,int num,int size,
+       int (*cmp)(const void *, const void *));
 
 void           ERR_load_OBJ_strings(void );
 
 int            OBJ_new_nid(int num);
-int            OBJ_add_object(ASN1_OBJECT *obj);
-int            OBJ_create(char *oid,char *sn,char *ln);
+int            OBJ_add_object(const ASN1_OBJECT *obj);
+int            OBJ_create(const char *oid,const char *sn,const char *ln);
 void           OBJ_cleanup(void );
 int            OBJ_create_objects(BIO *in);