XenevaOS
Loading...
Searching...
No Matches
asn1write.h
Go to the documentation of this file.
1
6/*
7 * Copyright The Mbed TLS Contributors
8 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9 */
10#ifndef MBEDTLS_ASN1_WRITE_H
11#define MBEDTLS_ASN1_WRITE_H
12
13#include "mbedtls/build_info.h"
14
15#include "mbedtls/asn1.h"
16
17#define MBEDTLS_ASN1_CHK_ADD(g, f) \
18 do \
19 { \
20 if ((ret = (f)) < 0) \
21 return ret; \
22 else \
23 (g) += ret; \
24 } while (0)
25
26#define MBEDTLS_ASN1_CHK_CLEANUP_ADD(g, f) \
27 do \
28 { \
29 if ((ret = (f)) < 0) \
30 goto cleanup; \
31 else \
32 (g) += ret; \
33 } while (0)
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39#if defined(MBEDTLS_ASN1_WRITE_C) || defined(MBEDTLS_X509_USE_C) || \
40 defined(MBEDTLS_PSA_UTIL_HAVE_ECDSA)
53int mbedtls_asn1_write_len(unsigned char **p, const unsigned char *start,
54 size_t len);
67int mbedtls_asn1_write_tag(unsigned char **p, const unsigned char *start,
68 unsigned char tag);
69#endif /* MBEDTLS_ASN1_WRITE_C || MBEDTLS_X509_USE_C || MBEDTLS_PSA_UTIL_HAVE_ECDSA*/
70
71#if defined(MBEDTLS_ASN1_WRITE_C)
85int mbedtls_asn1_write_raw_buffer(unsigned char **p, const unsigned char *start,
86 const unsigned char *buf, size_t size);
87
88#if defined(MBEDTLS_BIGNUM_C)
103int mbedtls_asn1_write_mpi(unsigned char **p, const unsigned char *start,
104 const mbedtls_mpi *X);
105#endif /* MBEDTLS_BIGNUM_C */
106
119int mbedtls_asn1_write_null(unsigned char **p, const unsigned char *start);
120
135int mbedtls_asn1_write_oid(unsigned char **p, const unsigned char *start,
136 const char *oid, size_t oid_len);
137
153int mbedtls_asn1_write_algorithm_identifier(unsigned char **p,
154 const unsigned char *start,
155 const char *oid, size_t oid_len,
156 size_t par_len);
157
174int mbedtls_asn1_write_algorithm_identifier_ext(unsigned char **p,
175 const unsigned char *start,
176 const char *oid, size_t oid_len,
177 size_t par_len, int has_par);
178
192int mbedtls_asn1_write_bool(unsigned char **p, const unsigned char *start,
193 int boolean);
194
209int mbedtls_asn1_write_int(unsigned char **p, const unsigned char *start, int val);
210
224int mbedtls_asn1_write_enum(unsigned char **p, const unsigned char *start, int val);
225
243int mbedtls_asn1_write_tagged_string(unsigned char **p, const unsigned char *start,
244 int tag, const char *text,
245 size_t text_len);
246
262int mbedtls_asn1_write_printable_string(unsigned char **p,
263 const unsigned char *start,
264 const char *text, size_t text_len);
265
281int mbedtls_asn1_write_utf8_string(unsigned char **p, const unsigned char *start,
282 const char *text, size_t text_len);
283
299int mbedtls_asn1_write_ia5_string(unsigned char **p, const unsigned char *start,
300 const char *text, size_t text_len);
301
316int mbedtls_asn1_write_bitstring(unsigned char **p, const unsigned char *start,
317 const unsigned char *buf, size_t bits);
318
336int mbedtls_asn1_write_named_bitstring(unsigned char **p,
337 const unsigned char *start,
338 const unsigned char *buf,
339 size_t bits);
340
355int mbedtls_asn1_write_octet_string(unsigned char **p, const unsigned char *start,
356 const unsigned char *buf, size_t size);
357
379mbedtls_asn1_named_data *mbedtls_asn1_store_named_data(mbedtls_asn1_named_data **list,
380 const char *oid, size_t oid_len,
381 const unsigned char *val,
382 size_t val_len);
383
384#ifdef __cplusplus
385}
386#endif
387
388#endif /* MBEDTLS_ASN1_WRITE_C */
389
390#endif /* MBEDTLS_ASN1_WRITE_H */
#define X(a)
XEProcessList * list
Definition main.cpp:27
Generic ASN.1 parsing.
size_t size
Definition drm_bridge.h:1299
size_t len
Definition initial.c:23
Build-time configuration info.
Definition asn1.h:178
MPI structure.
Definition bignum.h:208