params: add OSSL_PARAM helpers for time_t.
[openssl.git] / include / openssl / param_build.h
1 /*
2  * Copyright 2019-2020 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 #include <openssl/params.h>
12 #include <openssl/types.h>
13
14 OSSL_PARAM_BLD *OSSL_PARAM_BLD_new(void);
15 OSSL_PARAM *OSSL_PARAM_BLD_to_param(OSSL_PARAM_BLD *bld);
16 void OSSL_PARAM_BLD_free(OSSL_PARAM_BLD *bld);
17 void OSSL_PARAM_BLD_free_params(OSSL_PARAM *params);
18
19 int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key, int val);
20 int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,
21                              unsigned int val);
22 int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,
23                              long int val);
24 int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,
25                               unsigned long int val);
26 int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,
27                               int32_t val);
28 int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,
29                                uint32_t val);
30 int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,
31                               int64_t val);
32 int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,
33                                uint64_t val);
34 int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,
35                                size_t val);
36 int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,
37                                time_t val);
38 int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,
39                                double val);
40 int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key,
41                            const BIGNUM *bn);
42 int OSSL_PARAM_BLD_push_BN_pad(OSSL_PARAM_BLD *bld, const char *key,
43                                const BIGNUM *bn, size_t sz);
44 int OSSL_PARAM_BLD_push_utf8_string(OSSL_PARAM_BLD *bld, const char *key,
45                                     const char *buf, size_t bsize);
46 int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,
47                                  char *buf, size_t bsize);
48 int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char *key,
49                                      const void *buf, size_t bsize);
50 int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char *key,
51                                   void *buf, size_t bsize);