Classes | Macros | Typedefs
asn1t.h File Reference
#include <openssl/base.h>
#include <openssl/asn1.h>
Include dependency graph for asn1t.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ASN1_ADB_st
 
struct  ASN1_ADB_TABLE_st
 
struct  ASN1_AUX_st
 
struct  ASN1_EXTERN_FUNCS_st
 
struct  ASN1_ITEM_st
 
struct  ASN1_TEMPLATE_st
 
struct  ASN1_TLC_st
 

Macros

#define ADB_ENTRY(val, template)   {val, template}
 
#define ASN1_ADB(name)   static const ASN1_ADB_TABLE name##_adbtbl[]
 
#define ASN1_ADB_END(name, flags, field, app_table, def, none)
 
#define ASN1_ADB_INTEGER(tblname)   { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }
 
#define ASN1_ADB_OBJECT(tblname)   { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }
 
#define ASN1_ADB_ptr(iptr)   ((const ASN1_ADB *)(iptr))
 
#define ASN1_ADB_TEMPLATE(name)   static const ASN1_TEMPLATE name##_tt
 
#define ASN1_AFLG_ENCODING   2
 
#define ASN1_AFLG_REFCOUNT   1
 
#define ASN1_CHOICE(tname)   static const ASN1_TEMPLATE tname##_ch_tt[]
 
#define ASN1_CHOICE_cb(tname, cb)
 
#define ASN1_CHOICE_END(stname)   ASN1_CHOICE_END_name(stname, stname)
 
#define ASN1_CHOICE_END_cb(stname, tname, selname)
 
#define ASN1_CHOICE_END_name(stname, tname)   ASN1_CHOICE_END_selector(stname, tname, type)
 
#define ASN1_CHOICE_END_selector(stname, tname, selname)
 
#define ASN1_EX_COMBINE(flags, tag, type)
 
#define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type)
 
#define ASN1_EX_TYPE(flags, tag, stname, field, type)
 
#define ASN1_EXP(stname, field, type, tag)   ASN1_EXP_EX(stname, field, type, tag, 0)
 
#define ASN1_EXP_EX(stname, field, type, tag, ex)   ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type)
 
#define ASN1_EXP_OPT(stname, field, type, tag)   ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL)
 
#define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag)   ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF)
 
#define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag)   ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL)
 
#define ASN1_EXP_SET_OF(stname, field, type, tag)   ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF)
 
#define ASN1_EXP_SET_OF_OPT(stname, field, type, tag)   ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL)
 
#define ASN1_IMP(stname, field, type, tag)   ASN1_IMP_EX(stname, field, type, tag, 0)
 
#define ASN1_IMP_EX(stname, field, type, tag, ex)   ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type)
 
#define ASN1_IMP_OPT(stname, field, type, tag)   ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL)
 
#define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag)   ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF)
 
#define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag)   ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL)
 
#define ASN1_IMP_SET_OF(stname, field, type, tag)   ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF)
 
#define ASN1_IMP_SET_OF_OPT(stname, field, type, tag)   ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL)
 
#define ASN1_ITEM_end(itname)   };
 
#define ASN1_ITEM_start(itname)   const ASN1_ITEM itname##_it = {
 
#define ASN1_ITEM_TEMPLATE(tname)   static const ASN1_TEMPLATE tname##_item_tt
 
#define ASN1_ITEM_TEMPLATE_END(tname)
 
#define ASN1_ITYPE_CHOICE   0x2
 
#define ASN1_ITYPE_EXTERN   0x4
 
#define ASN1_ITYPE_MSTRING   0x5
 
#define ASN1_ITYPE_PRIMITIVE   0x0
 
#define ASN1_ITYPE_SEQUENCE   0x1
 
#define ASN1_OP_D2I_POST   5
 
#define ASN1_OP_D2I_PRE   4
 
#define ASN1_OP_DETACHED_POST   13
 
#define ASN1_OP_DETACHED_PRE   12
 
#define ASN1_OP_FREE_POST   3
 
#define ASN1_OP_FREE_PRE   2
 
#define ASN1_OP_NEW_POST   1
 
#define ASN1_OP_NEW_PRE   0
 
#define ASN1_OP_PRINT_POST   9
 
#define ASN1_OP_PRINT_PRE   8
 
#define ASN1_OP_STREAM_POST   11
 
#define ASN1_OP_STREAM_PRE   10
 
#define ASN1_OPT(stname, field, type)   ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type)
 
#define ASN1_SEQUENCE(tname)   static const ASN1_TEMPLATE tname##_seq_tt[]
 
#define ASN1_SEQUENCE_cb(tname, cb)
 
#define ASN1_SEQUENCE_enc(tname, enc, cb)
 
#define ASN1_SEQUENCE_END(stname)   ASN1_SEQUENCE_END_name(stname, stname)
 
#define ASN1_SEQUENCE_END_cb(stname, tname)   ASN1_SEQUENCE_END_ref(stname, tname)
 
#define ASN1_SEQUENCE_END_enc(stname, tname)   ASN1_SEQUENCE_END_ref(stname, tname)
 
#define ASN1_SEQUENCE_END_name(stname, tname)
 
#define ASN1_SEQUENCE_END_ref(stname, tname)
 
#define ASN1_SEQUENCE_OF(stname, field, type)   ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type)
 
#define ASN1_SEQUENCE_OF_OPT(stname, field, type)   ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type)
 
#define ASN1_SEQUENCE_ref(tname, cb)
 
#define ASN1_SET_OF(stname, field, type)   ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type)
 
#define ASN1_SET_OF_OPT(stname, field, type)   ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type)
 
#define ASN1_SIMPLE(stname, field, type)   ASN1_EX_TYPE(0,0, stname, field, type)
 
#define ASN1_TEMPLATE_adb(t)   (t->item_ptr)
 
#define ASN1_TEMPLATE_item(t)   (t->item_ptr)
 
#define ASN1_TFLG_ADB_INT   (0x1<<9)
 
#define ASN1_TFLG_ADB_MASK   (0x3<<8)
 
#define ASN1_TFLG_ADB_OID   (0x1<<8)
 
#define ASN1_TFLG_APPLICATION   (0x1<<6)
 
#define ASN1_TFLG_COMBINE   (0x1<<10)
 
#define ASN1_TFLG_CONTEXT   (0x2<<6)
 
#define ASN1_TFLG_EXPLICIT   ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT
 
#define ASN1_TFLG_EXPTAG   (0x2 << 3)
 
#define ASN1_TFLG_IMPLICIT   ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT
 
#define ASN1_TFLG_IMPTAG   (0x1 << 3)
 
#define ASN1_TFLG_OPTIONAL   (0x1)
 
#define ASN1_TFLG_PRIVATE   (0x3<<6)
 
#define ASN1_TFLG_SEQUENCE_OF   (0x2 << 1)
 
#define ASN1_TFLG_SET_OF   (0x1 << 1)
 
#define ASN1_TFLG_SK_MASK   (0x3 << 1)
 
#define ASN1_TFLG_TAG_CLASS   (0x3<<6)
 
#define ASN1_TFLG_TAG_MASK   (0x3 << 3)
 
#define ASN1_TFLG_UNIVERSAL   (0x0<<6)
 
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname)   IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname)
 
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname)
 
#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname)
 
#define IMPLEMENT_ASN1_DUP_FUNCTION(stname)
 
#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname)
 
#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname)
 
#define IMPLEMENT_ASN1_FUNCTIONS(stname)   IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname)
 
#define IMPLEMENT_ASN1_FUNCTIONS_const(name)   IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name)
 
#define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname)
 
#define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname)   IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname)
 
#define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname)
 
#define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname)   IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname)
 
#define IMPLEMENT_ASN1_MSTRING(itname, mask)
 
#define IMPLEMENT_ASN1_TYPE(stname)   IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0)
 
#define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex)
 
#define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs)
 
#define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname)   IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname)
 

Typedefs

typedef struct ASN1_ADB_st ASN1_ADB
 
typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE
 
typedef struct ASN1_AUX_st ASN1_AUX
 
typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, void *exarg)
 
typedef ASN1_VALUEASN1_d2i_func(ASN1_VALUE **a, const unsigned char **in, long length)
 
typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx)
 
typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it)
 
typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass)
 
typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it)
 
typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, int indent, const char *fname, const ASN1_PCTX *pctx)
 
typedef struct ASN1_EXTERN_FUNCS_st ASN1_EXTERN_FUNCS
 
typedef void ASN1_free_func(ASN1_VALUE *a)
 
typedef int ASN1_i2d_func(ASN1_VALUE *a, unsigned char **in)
 
typedef struct asn1_must_be_null_st ASN1_MUST_BE_NULL
 
typedef ASN1_VALUEASN1_new_func(void)
 
typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE
 
typedef struct ASN1_TLC_st ASN1_TLC
 

Macro Definition Documentation

◆ ADB_ENTRY

#define ADB_ENTRY (   val,
  template 
)    {val, template}

Definition at line 340 of file asn1t.h.

◆ ASN1_ADB

#define ASN1_ADB (   name)    static const ASN1_ADB_TABLE name##_adbtbl[]

Definition at line 325 of file asn1t.h.

◆ ASN1_ADB_END

#define ASN1_ADB_END (   name,
  flags,
  field,
  app_table,
  def,
  none 
)
Value:
;\
static const ASN1_ADB name##_adb = {\
flags,\
offsetof(name, field),\
app_table,\
name##_adbtbl,\
sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\
def,\
none\
}

Definition at line 328 of file asn1t.h.

◆ ASN1_ADB_INTEGER

#define ASN1_ADB_INTEGER (   tblname)    { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }

Definition at line 263 of file asn1t.h.

◆ ASN1_ADB_OBJECT

#define ASN1_ADB_OBJECT (   tblname)    { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }

Definition at line 262 of file asn1t.h.

◆ ASN1_ADB_ptr

#define ASN1_ADB_ptr (   iptr)    ((const ASN1_ADB *)(iptr))

Definition at line 79 of file asn1t.h.

◆ ASN1_ADB_TEMPLATE

#define ASN1_ADB_TEMPLATE (   name)    static const ASN1_TEMPLATE name##_tt

Definition at line 342 of file asn1t.h.

◆ ASN1_AFLG_ENCODING

#define ASN1_AFLG_ENCODING   2

Definition at line 591 of file asn1t.h.

◆ ASN1_AFLG_REFCOUNT

#define ASN1_AFLG_REFCOUNT   1

Definition at line 589 of file asn1t.h.

◆ ASN1_CHOICE

#define ASN1_CHOICE (   tname)    static const ASN1_TEMPLATE tname##_ch_tt[]

Definition at line 198 of file asn1t.h.

◆ ASN1_CHOICE_cb

#define ASN1_CHOICE_cb (   tname,
  cb 
)
Value:
static const ASN1_AUX tname##_aux = {NULL, 0, 0, cb, 0}; \
ASN1_CHOICE(tname)

Definition at line 201 of file asn1t.h.

◆ ASN1_CHOICE_END

#define ASN1_CHOICE_END (   stname)    ASN1_CHOICE_END_name(stname, stname)

Definition at line 205 of file asn1t.h.

◆ ASN1_CHOICE_END_cb

#define ASN1_CHOICE_END_cb (   stname,
  tname,
  selname 
)
Value:
;\
ASN1_ITEM_start(tname) \
ASN1_ITYPE_CHOICE,\
offsetof(stname,selname) ,\
tname##_ch_tt,\
sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\
&tname##_aux,\
sizeof(stname),\
#stname \
ASN1_ITEM_end(tname)

Definition at line 221 of file asn1t.h.

◆ ASN1_CHOICE_END_name

#define ASN1_CHOICE_END_name (   stname,
  tname 
)    ASN1_CHOICE_END_selector(stname, tname, type)

Definition at line 207 of file asn1t.h.

◆ ASN1_CHOICE_END_selector

#define ASN1_CHOICE_END_selector (   stname,
  tname,
  selname 
)
Value:
;\
ASN1_ITEM_start(tname) \
ASN1_ITYPE_CHOICE,\
offsetof(stname,selname) ,\
tname##_ch_tt,\
sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\
NULL,\
sizeof(stname),\
#stname \
ASN1_ITEM_end(tname)

Definition at line 209 of file asn1t.h.

◆ ASN1_EX_COMBINE

#define ASN1_EX_COMBINE (   flags,
  tag,
  type 
)
Value:
{ \

Definition at line 249 of file asn1t.h.

◆ ASN1_EX_TEMPLATE_TYPE

#define ASN1_EX_TEMPLATE_TYPE (   flags,
  tag,
  name,
  type 
)
Value:
{ \
(flags), (tag), 0,\
#name, ASN1_ITEM_ref(type) }

Definition at line 235 of file asn1t.h.

◆ ASN1_EX_TYPE

#define ASN1_EX_TYPE (   flags,
  tag,
  stname,
  field,
  type 
)
Value:
{ \
(flags), (tag), offsetof(stname, field),\
#field, ASN1_ITEM_ref(type) }

Definition at line 243 of file asn1t.h.

◆ ASN1_EXP

#define ASN1_EXP (   stname,
  field,
  type,
  tag 
)    ASN1_EXP_EX(stname, field, type, tag, 0)

Definition at line 278 of file asn1t.h.

◆ ASN1_EXP_EX

#define ASN1_EXP_EX (   stname,
  field,
  type,
  tag,
  ex 
)    ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type)

Definition at line 257 of file asn1t.h.

◆ ASN1_EXP_OPT

#define ASN1_EXP_OPT (   stname,
  field,
  type,
  tag 
)    ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL)

Definition at line 279 of file asn1t.h.

◆ ASN1_EXP_SEQUENCE_OF

#define ASN1_EXP_SEQUENCE_OF (   stname,
  field,
  type,
  tag 
)    ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF)

Definition at line 317 of file asn1t.h.

◆ ASN1_EXP_SEQUENCE_OF_OPT

#define ASN1_EXP_SEQUENCE_OF_OPT (   stname,
  field,
  type,
  tag 
)    ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL)

Definition at line 320 of file asn1t.h.

◆ ASN1_EXP_SET_OF

#define ASN1_EXP_SET_OF (   stname,
  field,
  type,
  tag 
)    ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF)

Definition at line 302 of file asn1t.h.

◆ ASN1_EXP_SET_OF_OPT

#define ASN1_EXP_SET_OF_OPT (   stname,
  field,
  type,
  tag 
)    ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL)

Definition at line 308 of file asn1t.h.

◆ ASN1_IMP

#define ASN1_IMP (   stname,
  field,
  type,
  tag 
)    ASN1_IMP_EX(stname, field, type, tag, 0)

Definition at line 271 of file asn1t.h.

◆ ASN1_IMP_EX

#define ASN1_IMP_EX (   stname,
  field,
  type,
  tag,
  ex 
)    ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type)

Definition at line 254 of file asn1t.h.

◆ ASN1_IMP_OPT

#define ASN1_IMP_OPT (   stname,
  field,
  type,
  tag 
)    ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL)

Definition at line 274 of file asn1t.h.

◆ ASN1_IMP_SEQUENCE_OF

#define ASN1_IMP_SEQUENCE_OF (   stname,
  field,
  type,
  tag 
)    ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF)

Definition at line 311 of file asn1t.h.

◆ ASN1_IMP_SEQUENCE_OF_OPT

#define ASN1_IMP_SEQUENCE_OF_OPT (   stname,
  field,
  type,
  tag 
)    ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL)

Definition at line 314 of file asn1t.h.

◆ ASN1_IMP_SET_OF

#define ASN1_IMP_SET_OF (   stname,
  field,
  type,
  tag 
)    ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF)

Definition at line 299 of file asn1t.h.

◆ ASN1_IMP_SET_OF_OPT

#define ASN1_IMP_SET_OF_OPT (   stname,
  field,
  type,
  tag 
)    ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL)

Definition at line 305 of file asn1t.h.

◆ ASN1_ITEM_end

#define ASN1_ITEM_end (   itname)    };

Definition at line 87 of file asn1t.h.

◆ ASN1_ITEM_start

#define ASN1_ITEM_start (   itname)    const ASN1_ITEM itname##_it = {

Definition at line 84 of file asn1t.h.

◆ ASN1_ITEM_TEMPLATE

#define ASN1_ITEM_TEMPLATE (   tname)    static const ASN1_TEMPLATE tname##_item_tt

Definition at line 92 of file asn1t.h.

◆ ASN1_ITEM_TEMPLATE_END

#define ASN1_ITEM_TEMPLATE_END (   tname)
Value:
;\
ASN1_ITEM_start(tname) \
ASN1_ITYPE_PRIMITIVE,\
-1,\
&tname##_item_tt,\
0,\
NULL,\
0,\
#tname \
ASN1_ITEM_end(tname)

Definition at line 95 of file asn1t.h.

◆ ASN1_ITYPE_CHOICE

#define ASN1_ITYPE_CHOICE   0x2

Definition at line 509 of file asn1t.h.

◆ ASN1_ITYPE_EXTERN

#define ASN1_ITYPE_EXTERN   0x4

Definition at line 511 of file asn1t.h.

◆ ASN1_ITYPE_MSTRING

#define ASN1_ITYPE_MSTRING   0x5

Definition at line 513 of file asn1t.h.

◆ ASN1_ITYPE_PRIMITIVE

#define ASN1_ITYPE_PRIMITIVE   0x0

Definition at line 505 of file asn1t.h.

◆ ASN1_ITYPE_SEQUENCE

#define ASN1_ITYPE_SEQUENCE   0x1

Definition at line 507 of file asn1t.h.

◆ ASN1_OP_D2I_POST

#define ASN1_OP_D2I_POST   5

Definition at line 600 of file asn1t.h.

◆ ASN1_OP_D2I_PRE

#define ASN1_OP_D2I_PRE   4

Definition at line 599 of file asn1t.h.

◆ ASN1_OP_DETACHED_POST

#define ASN1_OP_DETACHED_POST   13

Definition at line 608 of file asn1t.h.

◆ ASN1_OP_DETACHED_PRE

#define ASN1_OP_DETACHED_PRE   12

Definition at line 607 of file asn1t.h.

◆ ASN1_OP_FREE_POST

#define ASN1_OP_FREE_POST   3

Definition at line 598 of file asn1t.h.

◆ ASN1_OP_FREE_PRE

#define ASN1_OP_FREE_PRE   2

Definition at line 597 of file asn1t.h.

◆ ASN1_OP_NEW_POST

#define ASN1_OP_NEW_POST   1

Definition at line 596 of file asn1t.h.

◆ ASN1_OP_NEW_PRE

#define ASN1_OP_NEW_PRE   0

Definition at line 595 of file asn1t.h.

◆ ASN1_OP_PRINT_POST

#define ASN1_OP_PRINT_POST   9

Definition at line 604 of file asn1t.h.

◆ ASN1_OP_PRINT_PRE

#define ASN1_OP_PRINT_PRE   8

Definition at line 603 of file asn1t.h.

◆ ASN1_OP_STREAM_POST

#define ASN1_OP_STREAM_POST   11

Definition at line 606 of file asn1t.h.

◆ ASN1_OP_STREAM_PRE

#define ASN1_OP_STREAM_PRE   10

Definition at line 605 of file asn1t.h.

◆ ASN1_OPT

#define ASN1_OPT (   stname,
  field,
  type 
)    ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type)

Definition at line 268 of file asn1t.h.

◆ ASN1_SEQUENCE

#define ASN1_SEQUENCE (   tname)    static const ASN1_TEMPLATE tname##_seq_tt[]

Definition at line 130 of file asn1t.h.

◆ ASN1_SEQUENCE_cb

#define ASN1_SEQUENCE_cb (   tname,
  cb 
)
Value:
static const ASN1_AUX tname##_aux = {NULL, 0, 0, cb, 0}; \
ASN1_SEQUENCE(tname)

Definition at line 147 of file asn1t.h.

◆ ASN1_SEQUENCE_enc

#define ASN1_SEQUENCE_enc (   tname,
  enc,
  cb 
)
Value:
static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, cb, offsetof(tname, enc)}; \
ASN1_SEQUENCE(tname)

Definition at line 155 of file asn1t.h.

◆ ASN1_SEQUENCE_END

#define ASN1_SEQUENCE_END (   stname)    ASN1_SEQUENCE_END_name(stname, stname)

Definition at line 133 of file asn1t.h.

◆ ASN1_SEQUENCE_END_cb

#define ASN1_SEQUENCE_END_cb (   stname,
  tname 
)    ASN1_SEQUENCE_END_ref(stname, tname)

Definition at line 161 of file asn1t.h.

◆ ASN1_SEQUENCE_END_enc

#define ASN1_SEQUENCE_END_enc (   stname,
  tname 
)    ASN1_SEQUENCE_END_ref(stname, tname)

Definition at line 159 of file asn1t.h.

◆ ASN1_SEQUENCE_END_name

#define ASN1_SEQUENCE_END_name (   stname,
  tname 
)
Value:
;\
ASN1_ITEM_start(tname) \
ASN1_ITYPE_SEQUENCE,\
V_ASN1_SEQUENCE,\
tname##_seq_tt,\
sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
NULL,\
sizeof(stname),\
#stname \
ASN1_ITEM_end(tname)

Definition at line 135 of file asn1t.h.

◆ ASN1_SEQUENCE_END_ref

#define ASN1_SEQUENCE_END_ref (   stname,
  tname 
)
Value:
;\
ASN1_ITEM_start(tname) \
ASN1_ITYPE_SEQUENCE,\
V_ASN1_SEQUENCE,\
tname##_seq_tt,\
sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\
&tname##_aux,\
sizeof(stname),\
#stname \
ASN1_ITEM_end(tname)

Definition at line 163 of file asn1t.h.

◆ ASN1_SEQUENCE_OF

#define ASN1_SEQUENCE_OF (   stname,
  field,
  type 
)    ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type)

Definition at line 282 of file asn1t.h.

◆ ASN1_SEQUENCE_OF_OPT

#define ASN1_SEQUENCE_OF_OPT (   stname,
  field,
  type 
)    ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type)

Definition at line 286 of file asn1t.h.

◆ ASN1_SEQUENCE_ref

#define ASN1_SEQUENCE_ref (   tname,
  cb 
)
Value:
static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), cb, 0}; \
ASN1_SEQUENCE(tname)

Definition at line 151 of file asn1t.h.

◆ ASN1_SET_OF

#define ASN1_SET_OF (   stname,
  field,
  type 
)    ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type)

Definition at line 291 of file asn1t.h.

◆ ASN1_SET_OF_OPT

#define ASN1_SET_OF_OPT (   stname,
  field,
  type 
)    ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type)

Definition at line 294 of file asn1t.h.

◆ ASN1_SIMPLE

#define ASN1_SIMPLE (   stname,
  field,
  type 
)    ASN1_EX_TYPE(0,0, stname, field, type)

Definition at line 265 of file asn1t.h.

◆ ASN1_TEMPLATE_adb

#define ASN1_TEMPLATE_adb (   t)    (t->item_ptr)

Definition at line 362 of file asn1t.h.

◆ ASN1_TEMPLATE_item

#define ASN1_TEMPLATE_item (   t)    (t->item_ptr)

Definition at line 361 of file asn1t.h.

◆ ASN1_TFLG_ADB_INT

#define ASN1_TFLG_ADB_INT   (0x1<<9)

Definition at line 445 of file asn1t.h.

◆ ASN1_TFLG_ADB_MASK

#define ASN1_TFLG_ADB_MASK   (0x3<<8)

Definition at line 441 of file asn1t.h.

◆ ASN1_TFLG_ADB_OID

#define ASN1_TFLG_ADB_OID   (0x1<<8)

Definition at line 443 of file asn1t.h.

◆ ASN1_TFLG_APPLICATION

#define ASN1_TFLG_APPLICATION   (0x1<<6)

Definition at line 427 of file asn1t.h.

◆ ASN1_TFLG_COMBINE

#define ASN1_TFLG_COMBINE   (0x1<<10)

Definition at line 455 of file asn1t.h.

◆ ASN1_TFLG_CONTEXT

#define ASN1_TFLG_CONTEXT   (0x2<<6)

Definition at line 429 of file asn1t.h.

◆ ASN1_TFLG_EXPLICIT

#define ASN1_TFLG_EXPLICIT   ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT

Definition at line 416 of file asn1t.h.

◆ ASN1_TFLG_EXPTAG

#define ASN1_TFLG_EXPTAG   (0x2 << 3)

Definition at line 408 of file asn1t.h.

◆ ASN1_TFLG_IMPLICIT

#define ASN1_TFLG_IMPLICIT   ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT

Definition at line 413 of file asn1t.h.

◆ ASN1_TFLG_IMPTAG

#define ASN1_TFLG_IMPTAG   (0x1 << 3)

Definition at line 404 of file asn1t.h.

◆ ASN1_TFLG_OPTIONAL

#define ASN1_TFLG_OPTIONAL   (0x1)

Definition at line 387 of file asn1t.h.

◆ ASN1_TFLG_PRIVATE

#define ASN1_TFLG_PRIVATE   (0x3<<6)

Definition at line 431 of file asn1t.h.

◆ ASN1_TFLG_SEQUENCE_OF

#define ASN1_TFLG_SEQUENCE_OF   (0x2 << 1)

Definition at line 393 of file asn1t.h.

◆ ASN1_TFLG_SET_OF

#define ASN1_TFLG_SET_OF   (0x1 << 1)

Definition at line 390 of file asn1t.h.

◆ ASN1_TFLG_SK_MASK

#define ASN1_TFLG_SK_MASK   (0x3 << 1)

Definition at line 396 of file asn1t.h.

◆ ASN1_TFLG_TAG_CLASS

#define ASN1_TFLG_TAG_CLASS   (0x3<<6)

Definition at line 433 of file asn1t.h.

◆ ASN1_TFLG_TAG_MASK

#define ASN1_TFLG_TAG_MASK   (0x3 << 3)

Definition at line 410 of file asn1t.h.

◆ ASN1_TFLG_UNIVERSAL

#define ASN1_TFLG_UNIVERSAL   (0x0<<6)

Definition at line 425 of file asn1t.h.

◆ IMPLEMENT_ASN1_ALLOC_FUNCTIONS

#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS (   stname)    IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname)

Definition at line 646 of file asn1t.h.

◆ IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname

#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname (   stname,
  itname,
  fname 
)
Value:
stname *fname##_new(void) \
{ \
return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \
} \
void fname##_free(stname *a) \
{ \
ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \
}

Definition at line 659 of file asn1t.h.

◆ IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname

#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname (   pre,
  stname,
  itname,
  fname 
)
Value:
pre stname *fname##_new(void) \
{ \
return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \
} \
pre void fname##_free(stname *a) \
{ \
ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \
}

Definition at line 649 of file asn1t.h.

◆ IMPLEMENT_ASN1_DUP_FUNCTION

#define IMPLEMENT_ASN1_DUP_FUNCTION (   stname)
Value:
stname * stname##_dup(stname *x) \
{ \
return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \
}

Definition at line 696 of file asn1t.h.

◆ IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname

#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname (   stname,
  itname,
  fname 
)
Value:
stname *d2i_##fname(stname **a, const unsigned char **in, long len) \
{ \
return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\
} \
int i2d_##fname(const stname *a, unsigned char **out) \
{ \
return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\
}

Definition at line 686 of file asn1t.h.

◆ IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname

#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname (   stname,
  itname,
  fname 
)
Value:
stname *d2i_##fname(stname **a, const unsigned char **in, long len) \
{ \
return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\
} \
int i2d_##fname(stname *a, unsigned char **out) \
{ \
return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\
}

Definition at line 673 of file asn1t.h.

◆ IMPLEMENT_ASN1_FUNCTIONS

#define IMPLEMENT_ASN1_FUNCTIONS (   stname)    IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname)

Definition at line 636 of file asn1t.h.

◆ IMPLEMENT_ASN1_FUNCTIONS_const

#define IMPLEMENT_ASN1_FUNCTIONS_const (   name)    IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name)

Definition at line 702 of file asn1t.h.

◆ IMPLEMENT_ASN1_FUNCTIONS_const_fname

#define IMPLEMENT_ASN1_FUNCTIONS_const_fname (   stname,
  itname,
  fname 
)
Value:
IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname)

Definition at line 705 of file asn1t.h.

◆ IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name

#define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name (   stname,
  itname 
)    IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname)

Definition at line 640 of file asn1t.h.

◆ IMPLEMENT_ASN1_FUNCTIONS_fname

#define IMPLEMENT_ASN1_FUNCTIONS_fname (   stname,
  itname,
  fname 
)
Value:
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \
IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname)

Definition at line 669 of file asn1t.h.

◆ IMPLEMENT_ASN1_FUNCTIONS_name

#define IMPLEMENT_ASN1_FUNCTIONS_name (   stname,
  itname 
)    IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname)

Definition at line 638 of file asn1t.h.

◆ IMPLEMENT_ASN1_MSTRING

#define IMPLEMENT_ASN1_MSTRING (   itname,
  mask 
)
Value:
ASN1_ITEM_start(itname) \
ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \
ASN1_ITEM_end(itname)

Definition at line 618 of file asn1t.h.

◆ IMPLEMENT_ASN1_TYPE

#define IMPLEMENT_ASN1_TYPE (   stname)    IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0)

Definition at line 611 of file asn1t.h.

◆ IMPLEMENT_ASN1_TYPE_ex

#define IMPLEMENT_ASN1_TYPE_ex (   itname,
  vname,
  ex 
)
Value:
ASN1_ITEM_start(itname) \
ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \

Definition at line 612 of file asn1t.h.

◆ IMPLEMENT_EXTERN_ASN1

#define IMPLEMENT_EXTERN_ASN1 (   sname,
  tag,
  fptrs 
)
Value:
ASN1_ITEM_start(sname) \
ASN1_ITYPE_EXTERN, \
tag, \
NULL, \
0, \
&fptrs, \
0, \
#sname \
ASN1_ITEM_end(sname)

Definition at line 623 of file asn1t.h.

◆ IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS

#define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS (   stname)    IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname)

Definition at line 643 of file asn1t.h.

Typedef Documentation

◆ ASN1_ADB

typedef struct ASN1_ADB_st ASN1_ADB

Definition at line 365 of file asn1t.h.

◆ ASN1_ADB_TABLE

Definition at line 364 of file asn1t.h.

◆ ASN1_AUX

typedef struct ASN1_AUX_st ASN1_AUX

◆ ASN1_aux_cb

typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, void *exarg)

Definition at line 575 of file asn1t.h.

◆ ASN1_d2i_func

typedef ASN1_VALUE* ASN1_d2i_func(ASN1_VALUE **a, const unsigned char **in, long length)

Definition at line 533 of file asn1t.h.

◆ ASN1_ex_d2i

typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx)

Definition at line 536 of file asn1t.h.

◆ ASN1_ex_free_func

typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it)

Definition at line 541 of file asn1t.h.

◆ ASN1_ex_i2d

typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass)

Definition at line 539 of file asn1t.h.

◆ ASN1_ex_new_func

typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it)

Definition at line 540 of file asn1t.h.

◆ ASN1_ex_print_func

typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, int indent, const char *fname, const ASN1_PCTX *pctx)

Definition at line 543 of file asn1t.h.

◆ ASN1_EXTERN_FUNCS

◆ ASN1_free_func

typedef void ASN1_free_func(ASN1_VALUE *a)

Definition at line 532 of file asn1t.h.

◆ ASN1_i2d_func

typedef int ASN1_i2d_func(ASN1_VALUE *a, unsigned char **in)

Definition at line 534 of file asn1t.h.

◆ ASN1_MUST_BE_NULL

typedef struct asn1_must_be_null_st ASN1_MUST_BE_NULL

Definition at line 367 of file asn1t.h.

◆ ASN1_new_func

typedef ASN1_VALUE* ASN1_new_func(void)

Definition at line 531 of file asn1t.h.

◆ ASN1_TEMPLATE

Definition at line 75 of file asn1t.h.

◆ ASN1_TLC

typedef struct ASN1_TLC_st ASN1_TLC

Definition at line 76 of file asn1t.h.

ASN1_STRING
struct asn1_string_st ASN1_STRING
Definition: base.h:348
gen_build_yaml.out
dictionary out
Definition: src/benchmark/gen_build_yaml.py:24
ASN1_AFLG_REFCOUNT
#define ASN1_AFLG_REFCOUNT
Definition: asn1t.h:589
ASN1_item_dup
#define ASN1_item_dup
Definition: boringssl_prefix_symbols.h:741
ASN1_ITEM_ref
#define ASN1_ITEM_ref(name)
Definition: asn1.h:312
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname
#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname)
Definition: asn1t.h:673
setup.name
name
Definition: setup.py:542
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
ASN1_ITEM_end
#define ASN1_ITEM_end(itname)
Definition: asn1t.h:87
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname
#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname)
Definition: asn1t.h:686
ex
OPENSSL_EXPORT X509_EXTENSION * ex
Definition: x509.h:1418
ASN1_TEMPLATE
struct ASN1_TEMPLATE_st ASN1_TEMPLATE
Definition: asn1t.h:75
ASN1_TFLG_COMBINE
#define ASN1_TFLG_COMBINE
Definition: asn1t.h:455
in
const char * in
Definition: third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc:391
tag
static void * tag(intptr_t t)
Definition: bad_client.cc:318
ASN1_item_new
#define ASN1_item_new
Definition: boringssl_prefix_symbols.h:750
def
int def(FILE *source, FILE *dest, int level)
Definition: bloaty/third_party/zlib/examples/zpipe.c:36
x
int x
Definition: bloaty/third_party/googletest/googlemock/test/gmock-matchers_test.cc:3610
ASN1_ADB_st
Definition: asn1t.h:369
ASN1_AFLG_ENCODING
#define ASN1_AFLG_ENCODING
Definition: asn1t.h:591
ASN1_ADB_TABLE
struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE
Definition: asn1t.h:364
ASN1_ITEM_start
#define ASN1_ITEM_start(itname)
Definition: asn1t.h:84
ASN1_item_i2d
#define ASN1_item_i2d
Definition: boringssl_prefix_symbols.h:747
field
const FieldDescriptor * field
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/parser_unittest.cc:2692
ASN1_ITEM_rptr
#define ASN1_ITEM_rptr(name)
Definition: asn1.h:302
ASN1_VALUE
struct ASN1_VALUE_st ASN1_VALUE
Definition: asn1.h:320
flags
uint32_t flags
Definition: retry_filter.cc:632
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
len
int len
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
ASN1_AUX_st
Definition: asn1t.h:578
ASN1_item_d2i
#define ASN1_item_d2i
Definition: boringssl_prefix_symbols.h:737
cb
OPENSSL_EXPORT pem_password_cb * cb
Definition: pem.h:351


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:03