ITS
ber_tlv_tag.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BER_TAG_CLASS(tag)   ((tag) & 0x3)
 
#define BER_TAG_VALUE(tag)   ((tag) >> 2)
 
#define BER_TLV_CONSTRUCTED(tagptr)   (((*(const uint8_t *)tagptr)&0x20)?1:0)
 
#define BER_TAGS_EQUAL(tag1, tag2)   ((tag1) == (tag2))
 

Typedefs

typedef unsigned ber_tlv_tag_t
 

Enumerations

enum  asn_tag_class { ASN_TAG_CLASS_UNIVERSAL = 0, ASN_TAG_CLASS_APPLICATION = 1, ASN_TAG_CLASS_CONTEXT = 2, ASN_TAG_CLASS_PRIVATE = 3 }
 

Functions

ssize_t ber_tlv_tag_snprint (ber_tlv_tag_t tag, char *buf, size_t buflen)
 
ssize_t ber_tlv_tag_fwrite (ber_tlv_tag_t tag, FILE *)
 
char * ber_tlv_tag_string (ber_tlv_tag_t tag)
 
ssize_t ber_fetch_tag (const void *bufptr, size_t size, ber_tlv_tag_t *tag_r)
 
size_t ber_tlv_tag_serialize (ber_tlv_tag_t tag, void *bufptr, size_t size)
 

Macro Definition Documentation

◆ BER_TAG_CLASS

#define BER_TAG_CLASS (   tag)    ((tag) & 0x3)

Definition at line 23 of file ber_tlv_tag.h.

Referenced by _search4tag(), _t2e_cmp(), and ber_tlv_tag_serialize().

◆ BER_TAG_VALUE

#define BER_TAG_VALUE (   tag)    ((tag) >> 2)

Definition at line 24 of file ber_tlv_tag.h.

Referenced by _search4tag(), _t2e_cmp(), and ber_tlv_tag_serialize().

◆ BER_TAGS_EQUAL

#define BER_TAGS_EQUAL (   tag1,
  tag2 
)    ((tag1) == (tag2))

Definition at line 27 of file ber_tlv_tag.h.

Referenced by SEQUENCE_decode_ber(), and SET_OF_decode_ber().

◆ BER_TLV_CONSTRUCTED

#define BER_TLV_CONSTRUCTED (   tagptr)    (((*(const uint8_t *)tagptr)&0x20)?1:0)

Typedef Documentation

◆ ber_tlv_tag_t

typedef unsigned ber_tlv_tag_t

Definition at line 18 of file ber_tlv_tag.h.

Enumeration Type Documentation

◆ asn_tag_class

Enumerator
ASN_TAG_CLASS_UNIVERSAL 
ASN_TAG_CLASS_APPLICATION 
ASN_TAG_CLASS_CONTEXT 
ASN_TAG_CLASS_PRIVATE 

Definition at line 12 of file ber_tlv_tag.h.

Function Documentation

◆ ber_fetch_tag()

ssize_t ber_fetch_tag ( const void *  bufptr,
size_t  size,
ber_tlv_tag_t tag_r 
)

Definition at line 10 of file ber_tlv_tag.c.

Referenced by ber_check_tags(), ber_skip_length(), CHOICE_decode_ber(), OCTET_STRING_decode_ber(), SEQUENCE_decode_ber(), and SET_OF_decode_ber().

Here is the caller graph for this function:

◆ ber_tlv_tag_fwrite()

ssize_t ber_tlv_tag_fwrite ( ber_tlv_tag_t  tag,
FILE *   
)

Definition at line 62 of file ber_tlv_tag.c.

References ber_tlv_tag_snprint(), and f().

Here is the call graph for this function:

◆ ber_tlv_tag_serialize()

size_t ber_tlv_tag_serialize ( ber_tlv_tag_t  tag,
void *  bufptr,
size_t  size 
)

Definition at line 104 of file ber_tlv_tag.c.

References BER_TAG_CLASS, and BER_TAG_VALUE.

Referenced by der_write_TL().

Here is the caller graph for this function:

◆ ber_tlv_tag_snprint()

ssize_t ber_tlv_tag_snprint ( ber_tlv_tag_t  tag,
char *  buf,
size_t  buflen 
)

Definition at line 76 of file ber_tlv_tag.c.

References ASN_TAG_CLASS_APPLICATION, ASN_TAG_CLASS_CONTEXT, ASN_TAG_CLASS_PRIVATE, and ASN_TAG_CLASS_UNIVERSAL.

Referenced by ber_tlv_tag_fwrite(), ber_tlv_tag_string(), and OCTET_STRING_decode_ber().

Here is the caller graph for this function:

◆ ber_tlv_tag_string()

char* ber_tlv_tag_string ( ber_tlv_tag_t  tag)

Definition at line 94 of file ber_tlv_tag.c.

References ber_tlv_tag_snprint().

Referenced by ber_check_tags(), CHOICE_decode_ber(), der_write_tags(), OCTET_STRING_decode_ber(), SEQUENCE_decode_ber(), and SET_OF_decode_ber().

Here is the call graph for this function:
Here is the caller graph for this function: