Home | History | Annotate | Download | only in ssl
      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
     23 ssl_InitializePRErrorTableOnce(void) {
     24     return PR_ErrorInstallTable(&ssl_et);
     25 }
     26 
     27 static PRCallOnceType once;
     28 
     29 SECStatus
     30 ssl_InitializePRErrorTable(void)
     31 {
     32     return (PR_SUCCESS == PR_CallOnce(&once, ssl_InitializePRErrorTableOnce))
     33 		? SECSuccess : SECFailure;
     34 }
     35