Last change
on this file since 91772 was 91772, checked in by vboxsync, 3 years ago |
openssl-1.1.1l: Applied and adjusted our OpenSSL changes to 1.1.1l. bugref:10126
|
File size:
1.4 KB
|
Line | |
---|
1 | Adding new libraries
|
---|
2 | --------------------
|
---|
3 |
|
---|
4 | When adding a new sub-library to OpenSSL, assign it a library number
|
---|
5 | ERR_LIB_XXX, define a macro XXXerr() (both in err.h), add its
|
---|
6 | name to ERR_str_libraries[] (in crypto/err/err.c), and add
|
---|
7 | ERR_load_XXX_strings() to the ERR_load_crypto_strings() function
|
---|
8 | (in crypto/err/err_all.c). Finally, add an entry:
|
---|
9 |
|
---|
10 | L XXX xxx.h xxx_err.c
|
---|
11 |
|
---|
12 | to crypto/err/openssl.ec, and add xxx_err.c to the Makefile.
|
---|
13 | Running make errors will then generate a file xxx_err.c, and
|
---|
14 | add all error codes used in the library to xxx.h.
|
---|
15 |
|
---|
16 | Additionally the library include file must have a certain form.
|
---|
17 | Typically it will initially look like this:
|
---|
18 |
|
---|
19 | #ifndef HEADER_XXX_H
|
---|
20 | #define HEADER_XXX_H
|
---|
21 |
|
---|
22 | #ifdef __cplusplus
|
---|
23 | extern "C" {
|
---|
24 | #endif
|
---|
25 |
|
---|
26 | /* Include files */
|
---|
27 |
|
---|
28 | #include <openssl/bio.h>
|
---|
29 | #include <openssl/x509.h>
|
---|
30 |
|
---|
31 | /* Macros, structures and function prototypes */
|
---|
32 |
|
---|
33 |
|
---|
34 | /* BEGIN ERROR CODES */
|
---|
35 |
|
---|
36 | The BEGIN ERROR CODES sequence is used by the error code
|
---|
37 | generation script as the point to place new error codes, any text
|
---|
38 | after this point will be overwritten when make errors is run.
|
---|
39 | The closing #endif etc will be automatically added by the script.
|
---|
40 |
|
---|
41 | The generated C error code file xxx_err.c will load the header
|
---|
42 | files stdio.h, openssl/err.h and openssl/xxx.h so the
|
---|
43 | header file must load any additional header files containing any
|
---|
44 | definitions it uses.
|
---|
Note:
See
TracBrowser
for help on using the repository browser.