secmodi.h
上传用户:lyxiangda
上传日期:2007-01-12
资源大小:3042k
文件大小:3k
源码类别:

CA认证

开发平台:

WINDOWS

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is the Netscape security libraries.
  13.  * 
  14.  * The Initial Developer of the Original Code is Netscape
  15.  * Communications Corporation.  Portions created by Netscape are 
  16.  * Copyright (C) 1994-2000 Netscape Communications Corporation.  All
  17.  * Rights Reserved.
  18.  * 
  19.  * Contributor(s):
  20.  * 
  21.  * Alternatively, the contents of this file may be used under the
  22.  * terms of the GNU General Public License Version 2 or later (the
  23.  * "GPL"), in which case the provisions of the GPL are applicable 
  24.  * instead of those above.  If you wish to allow use of your 
  25.  * version of this file only under the terms of the GPL and not to
  26.  * allow others to use your version of this file under the MPL,
  27.  * indicate your decision by deleting the provisions above and
  28.  * replace them with the notice and other provisions required by
  29.  * the GPL.  If you do not delete the provisions above, a recipient
  30.  * may use your version of this file under either the MPL or the
  31.  * GPL.
  32.  */
  33. /*
  34.  * Internal header file included only by files in pkcs11 dir, or in
  35.  * pkcs11 specific client and server files.
  36.  */
  37. #ifndef _SECMODI_H_
  38. #define _SECMODI_H_ 1
  39. #include "pkcs11.h"
  40. #include "prlock.h"
  41. #include "mcom_db.h"
  42. #include "secoidt.h"
  43. #include "secdert.h"
  44. #include "certt.h"
  45. #include "secmodti.h"
  46. #ifdef PKCS11_USE_THREADS
  47. #define PK11_USE_THREADS(x) x
  48. #else
  49. #define PK11_USE_THREADS(x)
  50. #endif
  51. SEC_BEGIN_PROTOS
  52. /* proto-types */
  53. SECMODModule * SECMOD_NewModule(void); /* create a new module */
  54. SECMODModule * SECMOD_NewInternal(void); /* create an internal module */
  55. /* Data base functions */
  56. void SECMOD_InitDB(char *);
  57. SECMODModuleList * SECMOD_ReadPermDB(void);
  58. /*void SECMOD_ReferenceModule(SECMODModule *); */
  59. /* Library functions */
  60. SECStatus SECMOD_LoadModule(SECMODModule *);
  61. SECStatus SECMOD_UnloadModule(SECMODModule *);
  62. void SECMOD_SetInternalModule(SECMODModule *);
  63. void SECMOD_SlotDestroyModule(SECMODModule *module, PRBool fromSlot);
  64. CK_RV pk11_notify(CK_SESSION_HANDLE session, CK_NOTIFICATION event,
  65.                                                          CK_VOID_PTR pdata);
  66. void pk11_SignedToUnsigned(CK_ATTRIBUTE *attrib);
  67. CK_OBJECT_HANDLE pk11_FindObjectByTemplate(PK11SlotInfo *slot,
  68. CK_ATTRIBUTE *inTemplate,int tsize);
  69. SEC_END_PROTOS
  70. #define PK11_GETTAB(x) ((CK_FUNCTION_LIST_PTR)((x)->functionList))
  71. #define PK11_SETATTRS(x,id,v,l) (x)->type = (id); 
  72. (x)->pValue=(v); (x)->ulValueLen = (l);
  73. #endif