5 #include <krb5-types.h>
7 #ifndef __asn1_common_definitions__
8 #define __asn1_common_definitions__
10 #ifndef __HEIM_BASE_DATA__
11 #define __HEIM_BASE_DATA__ 1
12 struct heim_base_data
{
18 typedef struct heim_integer
{
24 typedef struct heim_base_data heim_octet_string
;
26 typedef char *heim_general_string
;
27 typedef char *heim_utf8_string
;
28 typedef struct heim_base_data heim_printable_string
;
29 typedef struct heim_base_data heim_ia5_string
;
31 typedef struct heim_bmp_string
{
36 typedef struct heim_universal_string
{
39 } heim_universal_string
;
41 typedef char *heim_visible_string
;
43 typedef struct heim_oid
{
48 typedef struct heim_bit_string
{
53 typedef struct heim_base_data heim_any
;
54 typedef struct heim_base_data heim_any_set
;
55 typedef struct heim_base_data HEIM_ANY
;
56 typedef struct heim_base_data HEIM_ANY_SET
;
58 enum asn1_print_flags
{
59 ASN1_PRINT_INDENT
= 1,
62 #define ASN1_MALLOC_ENCODE(T, B, BL, S, L, R) \
64 (BL) = length_##T((S)); \
69 (R) = encode_##T(((unsigned char*)(B)) + (BL) - 1, (BL), \
80 #define ASN1EXP __declspec(dllimport)
84 #define ASN1CALL __stdcall