- return vlc_mutex_lock( (vlc_mutex_t *)*p_sys );
-}
-
-static int gcry_vlc_mutex_unlock( void **lock )
-{
- return vlc_mutex_unlock( (vlc_mutex_t *)*lock );
-}
-
-static struct gcry_thread_cbs gcry_threads_vlc =
-{
- GCRY_THREAD_OPTION_USER,
- NULL,
- gcry_vlc_mutex_init,
- gcry_vlc_mutex_destroy,
- gcry_vlc_mutex_lock,
- gcry_vlc_mutex_unlock
-};
-#endif
-
-
-/*****************************************************************************
- * Module initialization
- *****************************************************************************/
-static unsigned refs = 0;
-
-static int
-Open( vlc_object_t *p_this )
-{
- tls_t *p_tls = (tls_t *)p_this;
- vlc_mutex_t *lock;
-
- lock = var_GetGlobalMutex( "gnutls_mutex" );
- vlc_mutex_lock( lock );
-
- /* Initialize GnuTLS only once */
- if( refs == 0 )
- {
-#ifdef NEED_THREAD_CONTEXT
- __p_gcry_data = VLC_OBJECT( p_this->p_libvlc );
-#endif
-
- gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_vlc);
- if( gnutls_global_init( ) )
- {
- msg_Warn( p_this, "cannot initialize GnuTLS" );
- vlc_mutex_unlock( lock );
- return VLC_EGENERIC;
- }
-
- const char *psz_version = gnutls_check_version( "1.2.9" );
- if( psz_version == NULL )
- {
- gnutls_global_deinit( );
- vlc_mutex_unlock( lock );
- msg_Err( p_this, "unsupported GnuTLS version" );
- return VLC_EGENERIC;
- }
- msg_Dbg( p_this, "GnuTLS v%s initialized", psz_version );
- }
-
- refs++;
- vlc_mutex_unlock( lock );
-
- p_tls->pf_server_create = gnutls_ServerCreate;
- p_tls->pf_client_create = gnutls_ClientCreate;
- return VLC_SUCCESS;
-}
-
-
-/*****************************************************************************
- * Module deinitialization
- *****************************************************************************/
-static void
-Close( vlc_object_t *p_this )
-{
- /*tls_t *p_tls = (tls_t *)p_this;
- tls_sys_t *p_sys = (tls_sys_t *)(p_this->p_sys);*/
-
- vlc_mutex_t *lock;