⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apictl.h

📁 IBM的Linux上的PKCS#11实现
💻 H
📖 第 1 页 / 共 2 页
字号:
             Contributors related to those performance claims and             warranties, and if a court requires any other Contributor             to pay any damages as a result, the Commercial Contributor             must pay those damages.             5. NO WARRANTY             EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE             PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT             WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR             IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR             CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR             FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely             responsible for determining the appropriateness of using             and distributing the Program and assumes all risks             associated with its exercise of rights under this             Agreement, including but not limited to the risks and             costs of program errors, compliance with applicable laws,             damage to or loss of data, programs or equipment, and             unavailability or interruption of operations.              6. DISCLAIMER OF LIABILITY             EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER             RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY             FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,             OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION             LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF             LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT             (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT             OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE             OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE             POSSIBILITY OF SUCH DAMAGES.             7. GENERAL             If any provision of this Agreement is invalid or             unenforceable under applicable law, it shall not affect             the validity or enforceability of the remainder of the             terms of this Agreement, and without further action by the             parties hereto, such provision shall be reformed to the             minimum extent necessary to make such provision valid and             enforceable.             If Recipient institutes patent litigation against a             Contributor with respect to a patent applicable to             software (including a cross-claim or counterclaim in a             lawsuit), then any patent licenses granted by that             Contributor to such Recipient under this Agreement shall             terminate as of the date such litigation is filed. In             addition, If Recipient institutes patent litigation             against any entity (including a cross-claim or             counterclaim in a lawsuit) alleging that the Program             itself (excluding combinations of the Program with other             software or hardware) infringes such Recipient's             patent(s), then such Recipient's rights granted under             Section 2(b) shall terminate as of the date such             litigation is filed.             All Recipient's rights under this Agreement shall             terminate if it fails to comply with any of the material             terms or conditions of this Agreement and does not cure             such failure in a reasonable period of time after becoming             aware of such noncompliance. If all Recipient's rights             under this Agreement terminate, Recipient agrees to cease             use and distribution of the Program as soon as reasonably             practicable. However, Recipient's obligations under this             Agreement and any licenses granted by Recipient relating             to the Program shall continue and survive.              Everyone is permitted to copy and distribute copies of             this Agreement, but in order to avoid inconsistency the             Agreement is copyrighted and may only be modified in the             following manner. The Agreement Steward reserves the right             to publish new versions (including revisions) of this             Agreement from time to time. No one other than the             Agreement Steward has the right to modify this Agreement.             IBM is the initial Agreement Steward. IBM may assign the             responsibility to serve as the Agreement Steward to a             suitable separate entity. Each new version of the             Agreement will be given a distinguishing version number.             The Program (including Contributions) may always be             distributed subject to the version of the Agreement under             which it was received. In addition, after a new version of             the Agreement is published, Contributor may elect to             distribute the Program (including its Contributions) under             the new version. Except as expressly stated in Sections             2(a) and 2(b) above, Recipient receives no rights or             licenses to the intellectual property of any Contributor             under this Agreement, whether expressly, by implication,             estoppel or otherwise. All rights in the Program not             expressly granted under this Agreement are reserved.             This Agreement is governed by the laws of the State of New             York and the intellectual property laws of the United             States of America. No party to this Agreement will bring a             legal action under this Agreement more than one year after             the cause of action arose. Each party waives its rights to             a jury trial in any resulting litigation. *//* (C) COPYRIGHT International Business Machines Corp. 2001          */#include <pkcs11types.h>#if defined(AIX)#include <sys/limits.h>#endif#if defined(LINUX)#include <linux/limits.h>#endif#include <local_types.h>#include <stdll.h>#include <slotmgr.h>#ifndef _APILOCAL_H#define _APILOCAL_Htypedef struct {   void *Previous;   void *Next;   CK_SLOT_ID   SltId;             // Slot ID for indexing into the function list pointer   CK_SESSION_HANDLE  RealHandle;  // Handle returned by the STDLL} Session_Struct_t;#ifdef PK64// 64Bit work...  Need to have a pointer to session struct typedef Session_Struct_t *     SessStructP ;#endif// SAB Add a linked list of STDLL's loaded to// only load and get list once, but let multiple slots us it.typedef struct{   CK_BOOL     DLLoaded;    // Flag to indicate if the STDDL has been loaded   char *dll_name;  // Malloced space to copy the name.   void *dlop_p;   int  dll_load_count;//   STDLL_FcnList_t   *FcnList;  // Function list pointer for the STDLL} DLL_Load_t;typedef struct {   CK_BOOL     DLLoaded;    // Flag to indicate if the STDDL has been loaded   void        *dlop_p;     // Pointer to the value returned from the DL open   STDLL_FcnList_t   *FcnList;  // Function list pointer for the STDLL   DLL_Load_t  *dll_information;     void            (*pSTfini)();  // Addition of Final function.   void            (*pSTcloseall)();  // Addition of close all for leeds code#ifdef PK64   SessStructP   Slot_Sess[65535];  // allocate sessions for 2**16 sessions#endif} API_Slot_t;// Per process API structure.// Allocate one per process on the C_Initialize.  This will be// a global type for the API and will be used through out.//typedef struct {   pid_t    Pid;   pthread_mutex_t  ProcMutex;      // Mutex for the process level should this be necessary   key_t             shm_tok;   Session_Struct_t  *SessListBeg;  // Beginning of the session linked list for this process   Session_Struct_t  *SessListEnd;  //    pthread_mutex_t   SessListMutex;   void              *SharedMemP;   uint16            MgrProcIndex; // Index into shared memory for This process ctl block   API_Slot_t        SltList[NUMBER_SLOTS_MANAGED];   DLL_Load_t        DLLs[NUMBER_SLOTS_MANAGED]; // worst case we have a separate DLL per slot} API_Proc_Struct_t;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -