From 7accbced87fb635f90ebc58a1979351bfd1d4beb Mon Sep 17 00:00:00 2001
From: Paul Bakker
Date: Mon, 26 Aug 2013 17:34:53 +0200
Subject: [PATCH] Doxygen documentation added to asn1write.h
---
include/polarssl/asn1write.h | 141 ++++++++++++++++++++++++++++++++++-
library/asn1write.c | 4 +-
2 files changed, 142 insertions(+), 3 deletions(-)
diff --git a/include/polarssl/asn1write.h b/include/polarssl/asn1write.h
index 9b98afe2e3..43408e29d1 100644
--- a/include/polarssl/asn1write.h
+++ b/include/polarssl/asn1write.h
@@ -35,23 +35,162 @@
extern "C" {
#endif
+/**
+ * \brief Write a length field in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param len the length to write
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_len( unsigned char **p, unsigned char *start, size_t len );
+
+/**
+ * \brief Write a ASN.1 tag in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param tag the tag to write
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_tag( unsigned char **p, unsigned char *start, unsigned char tag );
+
#if defined(POLARSSL_BIGNUM_C)
+/**
+ * \brief Write a big number (ASN1_INTEGER) in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param X the MPI to write
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_mpi( unsigned char **p, unsigned char *start, mpi *X );
#endif
+
+/**
+ * \brief Write a NULL tag (ASN1_NULL) with zero data in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_null( unsigned char **p, unsigned char *start );
+
+/**
+ * \brief Write an OID tag (ASN1_OID) and data in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param oid the OID to write
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_oid( unsigned char **p, unsigned char *start, const char *oid );
-int asn1_write_algorithm_identifier( unsigned char **p, unsigned char *start, const char *algorithm_oid );
+
+/**
+ * \brief Write an AlgorithmIdentifier sequence in ASN.1 format
+ * Note: function works backwards in data buffer
+ * Note: Uses NULL as algorithm parameter
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param oid the OID of the algorithm
+ *
+ * \return the length written or a negative error code
+ */
+int asn1_write_algorithm_identifier( unsigned char **p, unsigned char *start,
+ const char *oid );
+
+/**
+ * \brief Write an int tag (ASN1_INTEGER) and value in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param val the integer value
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_int( unsigned char **p, unsigned char *start, int val );
+
+/**
+ * \brief Write a printable string tag (ASN1_PRINTABLE_STRING) and
+ * value in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param text the text to write
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_printable_string( unsigned char **p, unsigned char *start,
char *text );
+
+/**
+ * \brief Write an IA5 string tag (ASN1_IA5_STRING) and
+ * value in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param text the text to write
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_ia5_string( unsigned char **p, unsigned char *start,
char *text );
+
+/**
+ * \brief Write a bitstring tag (ASN1_BIT_STRING) and
+ * value in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param buf the bitstring
+ * \param bits the total number of bits in the bitstring
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_bitstring( unsigned char **p, unsigned char *start,
const unsigned char *buf, size_t bits );
+
+/**
+ * \brief Write an octet string tag (ASN1_OCTET_STRING) and
+ * value in ASN.1 format
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param buf data buffer to write
+ * \param size length of the data buffer
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_octet_string( unsigned char **p, unsigned char *start,
const unsigned char *buf, size_t size );
+
+/**
+ * \brief Write raw buffer data
+ * Note: function works backwards in data buffer
+ *
+ * \param p reference to current position pointer
+ * \param start start of the buffer (for bounds-checking)
+ * \param buf data buffer to write
+ * \param size length of the data buffer
+ *
+ * \return the length written or a negative error code
+ */
int asn1_write_raw_buffer( unsigned char **p, unsigned char *start,
const unsigned char *buf, size_t size );
diff --git a/library/asn1write.c b/library/asn1write.c
index f08e105d21..07a3fbb4c4 100644
--- a/library/asn1write.c
+++ b/library/asn1write.c
@@ -142,7 +142,7 @@ int asn1_write_oid( unsigned char **p, unsigned char *start, const char *oid )
}
int asn1_write_algorithm_identifier( unsigned char **p, unsigned char *start,
- const char *algorithm_oid )
+ const char *oid )
{
int ret;
size_t null_len = 0;
@@ -155,7 +155,7 @@ int asn1_write_algorithm_identifier( unsigned char **p, unsigned char *start,
// Write OID
//
- ASN1_CHK_ADD( oid_len, asn1_write_oid( p, start, algorithm_oid ) );
+ ASN1_CHK_ADD( oid_len, asn1_write_oid( p, start, oid ) );
len = oid_len + null_len;
ASN1_CHK_ADD( len, asn1_write_len( p, start, oid_len + null_len ) );