[go: up one dir, main page]

Menu

[r369]: / main / src / ospinit.c  Maximize  Restore  History

Download this file

114 lines (91 with data), 3.3 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/**************************************************************************
*** COPYRIGHT (c) 2002 by TransNexus, Inc. ***
*** ***
*** This software is property of TransNexus, Inc. ***
*** This software is freely available under license from TransNexus. ***
*** The license terms and conditions for free use of this software by ***
*** third parties are defined in the OSP Toolkit Software License ***
*** Agreement (LICENSE.txt). Any use of this software by third ***
*** parties, which does not comply with the terms and conditions of the ***
*** OSP Toolkit Software License Agreement is prohibited without ***
*** the prior, express, written consent of TransNexus, Inc. ***
*** ***
*** Thank you for using the OSP ToolKit(TM). Please report any bugs, ***
*** suggestions or feedback to support@transnexus.com ***
*** ***
**************************************************************************/
/*
* ospinit.cpp - Provider space initialization.
*/
#include "osp/osp.h"
#include "osp/ospprovider.h"
OSPTPROVIDER OSPVProviderCollection[OSPC_MAX_PROVIDERS];
OSPTMUTEX OSPVProviderMutex;
#ifdef OSPC_GK_SIM
char *OSPVDeleteAllowed;
#endif
/*
* The OSPPInit function performs internal housekeeping necessary to
* prepare the SDK software for operation.
*
* returns OSPC_ERR_NO_ERROR if successful, OSPC_ERR_XXX otherwise.
*/
int
OSPPInit(OSPTBOOL hw_enabled)
{
int providerindex = 0;
int errorcode = OSPC_ERR_NO_ERROR,
tmperror = OSPC_ERR_NO_ERROR;
/*
* create global provider mutex
*/
OSPM_MUTEX_INIT(OSPVProviderMutex, NULL, errorcode);
if (errorcode == OSPC_ERR_NO_ERROR)
{
/*
* cycle thru collection, initializing each element.
*/
for(providerindex = 0; providerindex < OSPC_MAX_PROVIDERS; providerindex++)
{
OSPM_MEMSET(&OSPVProviderCollection[providerindex], 0,
sizeof(OSPTPROVIDER));
}
/*
* initialize Winsock Library if necessary
*/
OSPM_INITWINSOCK(errorcode);
/*
* if initialization failed, destroy the mutex and return failure
*/
if (errorcode != OSPC_ERR_NO_ERROR)
OSPM_MUTEX_DESTROY(OSPVProviderMutex, tmperror);
}
if (errorcode != OSPC_ERR_NO_ERROR)
errorcode = OSPC_ERR_PROV_INIT_FAILURE;
#ifdef OSPC_GK_SIM
if (errorcode == OSPC_ERR_NO_ERROR)
{
OSPVDeleteAllowed = OSPM_GETENV("GKSIM_DELETE_ALLOWED");
}
#endif
/*
* Initialize openssl global parameters
*/
OSPPOpenSSLInit(hw_enabled);
return errorcode;
}
void
OSPPCleanup(void)
{
int errorcode = OSPC_ERR_NO_ERROR;
/*
* called to cleanup any resources allocated by OSPPinit
*/
OSPM_MUTEX_DESTROY(OSPVProviderMutex, errorcode);
OSPM_CLEANUPWINSOCK();
/*
* Clean up openssl global parameters
*/
OSPPOpenSSLCleanUp();
return;
}