Add file which includes new ASN1 NETSCAPE format for certificates.
[openssl.git] / crypto / asn1 / a_hdr.c
index b7de335fc1c39974a95984b5eaa96e652d231174..d1c2a7b9e3a0388a239f90064b7099912e747454 100644 (file)
@@ -1,5 +1,5 @@
 /* crypto/asn1/a_hdr.c */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
  * This package is an SSL implementation written
 
 #include <stdio.h>
 #include "cryptlib.h"
-#include "asn1_mac.h"
-#include "asn1.h"
+#include <openssl/asn1_mac.h>
+#include <openssl/asn1.h>
 
-/*
- * ASN1err(ASN1_F_D2I_ASN1_HEADER,ASN1_R_LENGTH_MISMATCH);
- * ASN1err(ASN1_F_I2D_ASN1_HEADER,ASN1_R_BAD_GET_OBJECT);
- * ASN1err(ASN1_F_I2D_ASN1_HEADER,ASN1_R_BAD_GET_OBJECT);
- * ASN1err(ASN1_F_ASN1_HEADER_NEW,ASN1_R_BAD_GET_OBJECT);
- */
-
-int i2d_ASN1_HEADER(a,pp)
-ASN1_HEADER *a;
-unsigned char **pp;
+int i2d_ASN1_HEADER(ASN1_HEADER *a, unsigned char **pp)
        {
        M_ASN1_I2D_vars(a);
 
@@ -85,19 +76,17 @@ unsigned char **pp;
        M_ASN1_I2D_finish();
        }
 
-ASN1_HEADER *d2i_ASN1_HEADER(a,pp,length)
-ASN1_HEADER **a;
-unsigned char **pp;
-long length;
+ASN1_HEADER *d2i_ASN1_HEADER(ASN1_HEADER **a, const unsigned char **pp,
+            long length)
        {
        M_ASN1_D2I_vars(a,ASN1_HEADER *,ASN1_HEADER_new);
 
        M_ASN1_D2I_Init();
         M_ASN1_D2I_start_sequence();
-        M_ASN1_D2I_get(ret->header,d2i_ASN1_OCTET_STRING);
+        M_ASN1_D2I_get_x(ASN1_OCTET_STRING,ret->header,d2i_ASN1_OCTET_STRING);
        if (ret->meth != NULL)
                {
-               M_ASN1_D2I_get(ret->data,ret->meth->d2i);
+               M_ASN1_D2I_get_x(void,ret->data,ret->meth->d2i);
                }
        else
                {
@@ -107,24 +96,24 @@ long length;
         M_ASN1_D2I_Finish(a,ASN1_HEADER_free,ASN1_F_D2I_ASN1_HEADER);
        }
 
-ASN1_HEADER *ASN1_HEADER_new()
+ASN1_HEADER *ASN1_HEADER_new(void)
        {
        ASN1_HEADER *ret=NULL;
+       ASN1_CTX c;
 
        M_ASN1_New_Malloc(ret,ASN1_HEADER);
-       M_ASN1_New(ret->header,ASN1_OCTET_STRING_new);
+       M_ASN1_New(ret->header,M_ASN1_OCTET_STRING_new);
        ret->meth=NULL;
        ret->data=NULL;
        return(ret);
         M_ASN1_New_Error(ASN1_F_ASN1_HEADER_NEW);
        }
 
-void ASN1_HEADER_free(a)
-ASN1_HEADER *a;
+void ASN1_HEADER_free(ASN1_HEADER *a)
        {
        if (a == NULL) return;
-       ASN1_OCTET_STRING_free(a->header);
+       M_ASN1_OCTET_STRING_free(a->header);
        if (a->meth != NULL)
                a->meth->destroy(a->data);
-       Free((char *)a);
+       OPENSSL_free(a);
        }