0001
0002
0003 #ifndef _LINUX_ASN1_ENCODER_H
0004 #define _LINUX_ASN1_ENCODER_H
0005
0006 #include <linux/types.h>
0007 #include <linux/asn1.h>
0008 #include <linux/asn1_ber_bytecode.h>
0009 #include <linux/bug.h>
0010
0011 #define asn1_oid_len(oid) (sizeof(oid)/sizeof(u32))
0012 unsigned char *
0013 asn1_encode_integer(unsigned char *data, const unsigned char *end_data,
0014 s64 integer);
0015 unsigned char *
0016 asn1_encode_oid(unsigned char *data, const unsigned char *end_data,
0017 u32 oid[], int oid_len);
0018 unsigned char *
0019 asn1_encode_tag(unsigned char *data, const unsigned char *end_data,
0020 u32 tag, const unsigned char *string, int len);
0021 unsigned char *
0022 asn1_encode_octet_string(unsigned char *data,
0023 const unsigned char *end_data,
0024 const unsigned char *string, u32 len);
0025 unsigned char *
0026 asn1_encode_sequence(unsigned char *data, const unsigned char *end_data,
0027 const unsigned char *seq, int len);
0028 unsigned char *
0029 asn1_encode_boolean(unsigned char *data, const unsigned char *end_data,
0030 bool val);
0031
0032 #endif