1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 #include "prerror.h"
5 #include "sslerr.h"
6 #include "prinit.h"
7 #include "nssutil.h"
8 #include "ssl.h"
9
10 #define ER3(name, value, str) {#name, str},
11
12 static const struct PRErrorMessage ssltext[] = {
13 #include "SSLerrs.h"
14 {0,0}
15 };
16
17 static const struct PRErrorTable ssl_et = {
18 ssltext, "sslerr", SSL_ERROR_BASE,
19 (sizeof ssltext)/(sizeof ssltext[0])
20 };
21
22 static PRStatus
ssl_InitializePRErrorTableOnce(void)23 ssl_InitializePRErrorTableOnce(void) {
24 return PR_ErrorInstallTable(&ssl_et);
25 }
26
27 static PRCallOnceType once;
28
29 SECStatus
ssl_InitializePRErrorTable(void)30 ssl_InitializePRErrorTable(void)
31 {
32 return (PR_SUCCESS == PR_CallOnce(&once, ssl_InitializePRErrorTableOnce))
33 ? SECSuccess : SECFailure;
34 }
35