1/*
2 * $Id: ossl_asn1.h 27437 2010-04-22 08:04:13Z nobu $
3 * 'OpenSSL for Ruby' team members
4 * Copyright (C) 2003
5 * All rights reserved.
6 */
7/*
8 * This program is licenced under the same licence as Ruby.
9 * (See the file 'LICENCE'.)
10 */
11#if !defined(_OSSL_ASN1_H_)
12#define _OSSL_ASN1_H_
13
14/*
15 * ASN1_DATE conversions
16 */
17VALUE asn1time_to_time(ASN1_TIME *);
18time_t time_to_time_t(VALUE);
19
20/*
21 * ASN1_STRING conversions
22 */
23VALUE asn1str_to_str(ASN1_STRING *);
24
25/*
26 * ASN1_INTEGER conversions
27 */
28VALUE asn1integer_to_num(ASN1_INTEGER *);
29ASN1_INTEGER *num_to_asn1integer(VALUE, ASN1_INTEGER *);
30
31/*
32 * ASN1 module
33 */
34extern VALUE mASN1;
35extern VALUE eASN1Error;
36
37extern VALUE cASN1Data;
38extern VALUE cASN1Primitive;
39extern VALUE cASN1Constructive;
40
41extern VALUE cASN1Boolean;                           /* BOOLEAN           */
42extern VALUE cASN1Integer, cASN1Enumerated;          /* INTEGER           */
43extern VALUE cASN1BitString;                         /* BIT STRING        */
44extern VALUE cASN1OctetString, cASN1UTF8String;      /* STRINGs           */
45extern VALUE cASN1NumericString, cASN1PrintableString;
46extern VALUE cASN1T61String, cASN1VideotexString;
47extern VALUE cASN1IA5String, cASN1GraphicString;
48extern VALUE cASN1ISO64String, cASN1GeneralString;
49extern VALUE cASN1UniversalString, cASN1BMPString;
50extern VALUE cASN1Null;                              /* NULL              */
51extern VALUE cASN1ObjectId;                          /* OBJECT IDENTIFIER */
52extern VALUE cASN1UTCTime, cASN1GeneralizedTime;     /* TIME              */
53extern VALUE cASN1Sequence, cASN1Set;                /* CONSTRUCTIVE      */
54
55ASN1_TYPE *ossl_asn1_get_asn1type(VALUE);
56
57void Init_ossl_asn1(void);
58
59#endif
60