diff options
author | Richard Levitte <levitte@openssl.org> | 2019-02-12 11:37:43 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-02-13 04:47:11 +0100 |
commit | 5674466e007d892ec55441059b3763abd5dd5440 (patch) | |
tree | 00168bff4d96171d868d9a06eddc99d2f6932d6d /apps/include/fmt.h | |
parent | 7f4268bff3cf49b96d25bfd83013ee310c31520b (diff) | |
download | openssl-5674466e007d892ec55441059b3763abd5dd5440.zip openssl-5674466e007d892ec55441059b3763abd5dd5440.tar.gz openssl-5674466e007d892ec55441059b3763abd5dd5440.tar.bz2 |
Move libapps headers into their own directory
This got triggered by test/testutil.h including ../apps/opt.h.
Some compilers do all inclusions from the directory of the C file
being compiled, so when a C file includes a header file with a
relative file spec, and that header file also includes another header
file with a relative file spec, the compiler no longer follows.
As a specific example, test/testutil/basic_output.c included
../testutil.h. Fine so far, but then, test/testutil.h includes
../apps/opt.h, and the compiler ends up trying to include (seen from
the source top) test/apps/opt.h rather than apps/opt.h, and fails.
The solution could have been to simply add apps/ as an inclusion
directory. However, that directory also has header files that have
nothing to do with libapps, so we take this a bit further, create
apps/include and move libapps specific headers there, and then add
apps/include as inclusion directory in the build.info files where
needed.
Reviewed-by: Paul Yang <yang.yang@baishancloud.com>
(Merged from https://github.com/openssl/openssl/pull/8210)
Diffstat (limited to 'apps/include/fmt.h')
-rw-r--r-- | apps/include/fmt.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/apps/include/fmt.h b/apps/include/fmt.h new file mode 100644 index 0000000..538a20a --- /dev/null +++ b/apps/include/fmt.h @@ -0,0 +1,44 @@ +/* + * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (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 + */ + +/* + * Options are shared by apps (see apps.h) and the test system + * (see test/testutil.h'). + * In order to remove the dependency between apps and options, the following + * shared fields have been moved into this file. + */ + +#ifndef HEADER_FMT_H +#define HEADER_FMT_H + +/* On some platforms, it's important to distinguish between text and binary + * files. On some, there might even be specific file formats for different + * contents. The FORMAT_xxx macros are meant to express an intent with the + * file being read or created. + */ +# define B_FORMAT_TEXT 0x8000 +# define FORMAT_UNDEF 0 +# define FORMAT_TEXT (1 | B_FORMAT_TEXT) /* Generic text */ +# define FORMAT_BINARY 2 /* Generic binary */ +# define FORMAT_BASE64 (3 | B_FORMAT_TEXT) /* Base64 */ +# define FORMAT_ASN1 4 /* ASN.1/DER */ +# define FORMAT_PEM (5 | B_FORMAT_TEXT) +# define FORMAT_PKCS12 6 +# define FORMAT_SMIME (7 | B_FORMAT_TEXT) +# define FORMAT_ENGINE 8 /* Not really a file format */ +# define FORMAT_PEMRSA (9 | B_FORMAT_TEXT) /* PEM RSAPubicKey format */ +# define FORMAT_ASN1RSA 10 /* DER RSAPubicKey format */ +# define FORMAT_MSBLOB 11 /* MS Key blob format */ +# define FORMAT_PVK 12 /* MS PVK file format */ +# define FORMAT_HTTP 13 /* Download using HTTP */ +# define FORMAT_NSS 14 /* NSS keylog format */ + +int FMT_istext(int format); + +#endif /* HEADER_FMT_H_ */ |