The types.h header file contains definitions for primitive types, structs, macros, functions dedicated to ASN.1 types.
Definition:
typedef unsigned char booleanConstants:
#define false 0 #define true 1
Definition:
typedef struct {
unsigned int length; /* number of bits */
char* bytes;
} Bits;
Functions: Bits* wrapBits(char* bytes, unsigned int length) - Wrap a bytes array into Bits. boolean isBitSet(Bits* bits, unsigned int bit) - Answer if the specific bit is set. void setBit(Bits* bits, unsigned int bit) - To set the specific bit. void clearBit(Bits* bits, unsigned int bit) - To clear the specific bit.
Definition:
typedef struct {
unsigned int length; /* number of bytes */
char* bytes;
} Octets;
Functions: Octets* wrapOctets(char* bytes, unsigned int length) - Wrap a bytes array into Octets.
Definition:
typedef struct {
unsigned int length;
unsigned int* ids;
} Oid;
Functions: None
Definition:
typedef unsigned short wchar; typedef unsigned int uchar;Functions:
unsigned int cstrlen(char* s) - Calculate the length of the 0 terminate string. unsigned int wstrlen(wchar* s) - Calculate the length of the 0 terminate string. unsigned int ustrlen(uchar* s) - Calculate the length of the 0 terminate string.
Definition:
typedef struct {
signed int year; /* 0~9999 */
signed char month; /* Jun = 1, ..., Dec = 12 */
signed char day; /* 1~31 */
signed char hour; /* 0~23 */
signed char minute; /* 0~59 */
signed char second; /* 0~59 */
signed char hour_offset; /* hour offset from UTC. For example, hour_offset=8 means eight hours ahead of GMT */
signed char minute_offset;/* minute offset from UTC. For example, minute_offset=15 means 15 minutes ahead of GMT */
signed int millisec; /* 0~999 */
} Time;
Functions: None
Definition:
#define List(E) \
struct { \
unsigned int capacity; \
unsigned int size; \
E* elements; \
}
Members: capacity - The capacity of the array, i.e. the maximum number of elements this array can hold. size - The actual size of the list. elements - The elements array.