2019-07-11 02:19:36 +08:00
|
|
|
/*
|
|
|
|
* Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
|
|
* in the file LICENSE in the source distribution or at
|
|
|
|
* https://www.openssl.org/source/license.html
|
|
|
|
*/
|
|
|
|
|
2019-09-28 06:45:57 +08:00
|
|
|
#ifndef OSSL_APPS_FUNCTION_H
|
|
|
|
# define OSSL_APPS_FUNCTION_H
|
2019-07-11 02:19:36 +08:00
|
|
|
|
|
|
|
# include <openssl/lhash.h>
|
|
|
|
# include "opt.h"
|
|
|
|
|
2020-02-05 09:27:23 +08:00
|
|
|
#define DEPRECATED_NO_ALTERNATIVE "unknown"
|
|
|
|
|
2019-07-11 02:19:36 +08:00
|
|
|
typedef enum FUNC_TYPE {
|
|
|
|
FT_none, FT_general, FT_md, FT_cipher, FT_pkey,
|
|
|
|
FT_md_alg, FT_cipher_alg
|
|
|
|
} FUNC_TYPE;
|
|
|
|
|
|
|
|
typedef struct function_st {
|
|
|
|
FUNC_TYPE type;
|
|
|
|
const char *name;
|
|
|
|
int (*func)(int argc, char *argv[]);
|
|
|
|
const OPTIONS *help;
|
2020-02-05 09:27:23 +08:00
|
|
|
const char *deprecated_alternative;
|
2019-07-11 02:19:36 +08:00
|
|
|
} FUNCTION;
|
|
|
|
|
|
|
|
DEFINE_LHASH_OF(FUNCTION);
|
2019-07-11 02:25:03 +08:00
|
|
|
|
|
|
|
/* Structure to hold the number of columns to be displayed and the
|
|
|
|
* field width used to display them.
|
|
|
|
*/
|
|
|
|
typedef struct {
|
|
|
|
int columns;
|
|
|
|
int width;
|
|
|
|
} DISPLAY_COLUMNS;
|
|
|
|
|
|
|
|
void calculate_columns(FUNCTION *functions, DISPLAY_COLUMNS *dc);
|
|
|
|
|
2019-07-11 02:19:36 +08:00
|
|
|
#endif
|