]>
Commit | Line | Data |
---|---|---|
4b62b8ed | 1 | /* |
33388b44 | 2 | * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. |
4b62b8ed RL |
3 | * |
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use | |
5 | * this file except in compliance with the License. You can obtain a copy | |
6 | * in the file LICENSE in the source distribution or at | |
7 | * https://www.openssl.org/source/license.html | |
8 | */ | |
9 | ||
ae4186b0 DMSP |
10 | #ifndef OSSL_APPS_FUNCTION_H |
11 | # define OSSL_APPS_FUNCTION_H | |
4b62b8ed RL |
12 | |
13 | # include <openssl/lhash.h> | |
14 | # include "opt.h" | |
15 | ||
c2ec4a16 P |
16 | #define DEPRECATED_NO_ALTERNATIVE "unknown" |
17 | ||
4b62b8ed RL |
18 | typedef enum FUNC_TYPE { |
19 | FT_none, FT_general, FT_md, FT_cipher, FT_pkey, | |
20 | FT_md_alg, FT_cipher_alg | |
21 | } FUNC_TYPE; | |
22 | ||
23 | typedef struct function_st { | |
24 | FUNC_TYPE type; | |
25 | const char *name; | |
26 | int (*func)(int argc, char *argv[]); | |
27 | const OPTIONS *help; | |
c2ec4a16 | 28 | const char *deprecated_alternative; |
99a7c3a7 | 29 | const char *deprecated_version; |
4b62b8ed RL |
30 | } FUNCTION; |
31 | ||
5317b6ee | 32 | DEFINE_LHASH_OF_EX(FUNCTION); |
753149d9 RL |
33 | |
34 | /* Structure to hold the number of columns to be displayed and the | |
35 | * field width used to display them. | |
36 | */ | |
37 | typedef struct { | |
38 | int columns; | |
39 | int width; | |
40 | } DISPLAY_COLUMNS; | |
41 | ||
42 | void calculate_columns(FUNCTION *functions, DISPLAY_COLUMNS *dc); | |
43 | ||
4b62b8ed | 44 | #endif |