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
12static const struct PRErrorMessage ssltext[] = {
13#include "SSLerrs.h"
14    {0,0}
15};
16
17static const struct PRErrorTable ssl_et = {
18    ssltext, "sslerr", SSL_ERROR_BASE,
19        (sizeof ssltext)/(sizeof ssltext[0])
20};
21
22static PRStatus
23ssl_InitializePRErrorTableOnce(void) {
24    return PR_ErrorInstallTable(&ssl_et);
25}
26
27static PRCallOnceType once;
28
29SECStatus
30ssl_InitializePRErrorTable(void)
31{
32    return (PR_SUCCESS == PR_CallOnce(&once, ssl_InitializePRErrorTableOnce))
33		? SECSuccess : SECFailure;
34}
35