1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef _LINUX_ASN1_ENCODER_H 4 #define _LINUX_ASN1_ENCODER_H 5 6 #include <linux/types.h> 7 #include <linux/asn1.h> 8 #include <linux/asn1_ber_bytecode.h> 9 10 #define asn1_oid_len(oid) (sizeof(oid)/sizeof(u32)) 11 unsigned char * 12 asn1_encode_integer(unsigned char *data, const unsigned char *end_data, 13 s64 integer); 14 unsigned char * 15 asn1_encode_oid(unsigned char *data, const unsigned char *end_data, 16 u32 oid[], int oid_len); 17 unsigned char * 18 asn1_encode_tag(unsigned char *data, const unsigned char *end_data, 19 u32 tag, const unsigned char *string, int len); 20 unsigned char * 21 asn1_encode_octet_string(unsigned char *data, 22 const unsigned char *end_data, 23 const unsigned char *string, u32 len); 24 unsigned char * 25 asn1_encode_sequence(unsigned char *data, const unsigned char *end_data, 26 const unsigned char *seq, int len); 27 unsigned char * 28 asn1_encode_boolean(unsigned char *data, const unsigned char *end_data, 29 bool val); 30 31 #endif 32