1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // This file is only included in ssl_client_socket_nss.cc and 6 // ssl_server_socket_nss.cc to share common functions of NSS. 7 8 #ifndef NET_SOCKET_NSS_SSL_UTIL_H_ 9 #define NET_SOCKET_NSS_SSL_UTIL_H_ 10 11 #include <prerror.h> 12 #include <prio.h> 13 14 #include "net/base/net_export.h" 15 16 namespace net { 17 18 class BoundNetLog; 19 20 // Initalize NSS SSL library. 21 NET_EXPORT void EnsureNSSSSLInit(); 22 23 // Log a failed NSS funcion call. 24 void LogFailedNSSFunction(const BoundNetLog& net_log, 25 const char* function, 26 const char* param); 27 28 // Map network error code to NSS error code. 29 PRErrorCode MapErrorToNSS(int result); 30 31 // GetNSSModelSocket returns either NULL, or an NSS socket that can be passed 32 // to |SSL_ImportFD| in order to inherit some default options. 33 PRFileDesc* GetNSSModelSocket(); 34 35 // Map NSS error code to network error code. 36 int MapNSSError(PRErrorCode err); 37 38 } // namespace net 39 40 #endif // NET_SOCKET_NSS_SSL_UTIL_H_ 41