asn1_encoder.h 1006 B

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