2 * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
3 * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
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
11 #ifndef OPENSSL_PARAM_BUILD_H
12 # define OPENSSL_PARAM_BUILD_H
15 # include <openssl/params.h>
16 # include <openssl/types.h>
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 void OSSL_PARAM_BLD_free_params(OSSL_PARAM *params);
27 int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key, int val);
28 int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,
30 int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,
32 int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,
33 unsigned long int val);
34 int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,
36 int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,
38 int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,
40 int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,
42 int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,
44 int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,
46 int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,
48 int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key,
50 int OSSL_PARAM_BLD_push_BN_pad(OSSL_PARAM_BLD *bld, const char *key,
51 const BIGNUM *bn, size_t sz);
52 int OSSL_PARAM_BLD_push_utf8_string(OSSL_PARAM_BLD *bld, const char *key,
53 const char *buf, size_t bsize);
54 int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,
55 char *buf, size_t bsize);
56 int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char *key,
57 const void *buf, size_t bsize);
58 int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char *key,
59 void *buf, size_t bsize);
64 #endif /* OPENSSL_PARAM_BUILD_H */