xref: /src/crypto/openssl/include/openssl/param_build.h (revision f25b8c9fb4f58cf61adb47d7570abe7caa6d385d)
1 /*
2  * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
3  * Copyright (c) 2019, Oracle and/or its affiliates.  All rights reserved.
4  *
5  * Licensed under the Apache License 2.0 (the "License").  You may not use
6  * this file except in compliance with the License.  You can obtain a copy
7  * in the file LICENSE in the source distribution or at
8  * https://www.openssl.org/source/license.html
9  */
10 
11 #ifndef OPENSSL_PARAM_BUILD_H
12 #define OPENSSL_PARAM_BUILD_H
13 #pragma once
14 
15 #include <openssl/params.h>
16 #include <openssl/types.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 OSSL_PARAM_BLD *OSSL_PARAM_BLD_new(void);
23 OSSL_PARAM *OSSL_PARAM_BLD_to_param(OSSL_PARAM_BLD *bld);
24 void OSSL_PARAM_BLD_free(OSSL_PARAM_BLD *bld);
25 
26 int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key, int val);
27 int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,
28     unsigned int val);
29 int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,
30     long int val);
31 int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,
32     unsigned long int val);
33 int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,
34     int32_t val);
35 int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,
36     uint32_t val);
37 int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,
38     int64_t val);
39 int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,
40     uint64_t val);
41 int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,
42     size_t val);
43 int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,
44     time_t val);
45 int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,
46     double val);
47 int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key,
48     const BIGNUM *bn);
49 int OSSL_PARAM_BLD_push_BN_pad(OSSL_PARAM_BLD *bld, const char *key,
50     const BIGNUM *bn, size_t sz);
51 int OSSL_PARAM_BLD_push_utf8_string(OSSL_PARAM_BLD *bld, const char *key,
52     const char *buf, size_t bsize);
53 int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,
54     char *buf, size_t bsize);
55 int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char *key,
56     const void *buf, size_t bsize);
57 int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char *key,
58     void *buf, size_t bsize);
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 #endif /* OPENSSL_PARAM_BUILD_H */
64