• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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