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

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. #ifndef CKFW_H
  34. #define CKFW_H
  35. #ifdef DEBUG
  36. static const char CKFW_CVS_ID[] = "@(#) $RCSfile: ckfw.h,v $ $Revision: 1.3 $ $Date: 2000/05/16 01:54:45 $ $Name: NSS_3_1_1_RTM $";
  37. #endif /* DEBUG */
  38. /*
  39.  * ckfw.h
  40.  *
  41.  * This file prototypes the private calls of the NSS Cryptoki Framework.
  42.  */
  43. #ifndef NSSBASET_H
  44. #include "nssbaset.h"
  45. #endif /* NSSBASET_H */
  46. #ifndef NSSCKT_H
  47. #include "nssckt.h"
  48. #endif /* NSSCKT_H */
  49. #ifndef NSSCKFWT_H
  50. #include "nssckfwt.h"
  51. #endif /* NSSCKFWT_H */
  52. #ifndef NSSCKMDT_H
  53. #include "nssckmdt.h"
  54. #endif /* NSSCKMDT_H */
  55. /*
  56.  * NSSCKFWInstance
  57.  *
  58.  *  -- create/destroy --
  59.  *  nssCKFWInstance_Create
  60.  *  nssCKFWInstance_Destroy
  61.  *
  62.  *  -- implement public accessors --
  63.  *  nssCKFWInstance_GetMDInstance
  64.  *  nssCKFWInstance_GetArena
  65.  *  nssCKFWInstance_MayCreatePthreads
  66.  *  nssCKFWInstance_CreateMutex
  67.  *  nssCKFWInstance_GetConfigurationData
  68.  *
  69.  *  -- private accessors --
  70.  *  nssCKFWInstance_CreateSessionHandle
  71.  *  nssCKFWInstance_ResolveSessionHandle
  72.  *  nssCKFWInstance_DestroySessionHandle
  73.  *  nssCKFWInstance_FindSessionHandle
  74.  *  nssCKFWInstance_CreateObjectHandle
  75.  *  nssCKFWInstance_ResolveObjectHandle
  76.  *  nssCKFWInstance_DestroyObjectHandle
  77.  *  nssCKFWInstance_FindObjectHandle
  78.  *
  79.  *  -- module fronts --
  80.  *  nssCKFWInstance_GetNSlots
  81.  *  nssCKFWInstance_GetCryptokiVersion
  82.  *  nssCKFWInstance_GetManufacturerID
  83.  *  nssCKFWInstance_GetFlags
  84.  *  nssCKFWInstance_GetLibraryDescription
  85.  *  nssCKFWInstance_GetLibraryVersion
  86.  *  nssCKFWInstance_GetModuleHandlesSessionObjects
  87.  *  nssCKFWInstance_GetSlots
  88.  *  nssCKFWInstance_WaitForSlotEvent
  89.  *
  90.  *  -- debugging versions only --
  91.  *  nssCKFWInstance_verifyPointer
  92.  */
  93. /*
  94.  * nssCKFWInstance_Create
  95.  *
  96.  */
  97. NSS_EXTERN NSSCKFWInstance *
  98. nssCKFWInstance_Create
  99. (
  100.   CK_C_INITIALIZE_ARGS_PTR pInitArgs,
  101.   NSSCKMDInstance *mdInstance,
  102.   CK_RV *pError
  103. );
  104. /*
  105.  * nssCKFWInstance_Destroy
  106.  *
  107.  */
  108. NSS_EXTERN CK_RV
  109. nssCKFWInstance_Destroy
  110. (
  111.   NSSCKFWInstance *fwInstance
  112. );
  113. /*
  114.  * nssCKFWInstance_GetMDInstance
  115.  *
  116.  */
  117. NSS_EXTERN NSSCKMDInstance *
  118. nssCKFWInstance_GetMDInstance
  119. (
  120.   NSSCKFWInstance *fwInstance
  121. );
  122. /*
  123.  * nssCKFWInstance_GetArena
  124.  *
  125.  */
  126. NSS_EXTERN NSSArena *
  127. nssCKFWInstance_GetArena
  128. (
  129.   NSSCKFWInstance *fwInstance,
  130.   CK_RV *pError
  131. );
  132. /*
  133.  * nssCKFWInstance_MayCreatePthreads
  134.  *
  135.  */
  136. NSS_EXTERN CK_BBOOL
  137. nssCKFWInstance_MayCreatePthreads
  138. (
  139.   NSSCKFWInstance *fwInstance
  140. );
  141. /*
  142.  * nssCKFWInstance_CreateMutex
  143.  *
  144.  */
  145. NSS_EXTERN NSSCKFWMutex *
  146. nssCKFWInstance_CreateMutex
  147. (
  148.   NSSCKFWInstance *fwInstance,
  149.   NSSArena *arena,
  150.   CK_RV *pError
  151. );
  152. /*
  153.  * nssCKFWInstance_GetConfigurationData
  154.  *
  155.  */
  156. NSS_EXTERN NSSUTF8 *
  157. nssCKFWInstance_GetConfigurationData
  158. (
  159.   NSSCKFWInstance *fwInstance
  160. );
  161. /*
  162.  * nssCKFWInstance_CreateSessionHandle
  163.  *
  164.  */
  165. NSS_EXTERN CK_SESSION_HANDLE
  166. nssCKFWInstance_CreateSessionHandle
  167. (
  168.   NSSCKFWInstance *fwInstance,
  169.   NSSCKFWSession *fwSession,
  170.   CK_RV *pError
  171. );
  172. /*
  173.  * nssCKFWInstance_ResolveSessionHandle
  174.  *
  175.  */
  176. NSS_EXTERN NSSCKFWSession *
  177. nssCKFWInstance_ResolveSessionHandle
  178. (
  179.   NSSCKFWInstance *fwInstance,
  180.   CK_SESSION_HANDLE hSession
  181. );
  182. /*
  183.  * nssCKFWInstance_DestroySessionHandle
  184.  *
  185.  */
  186. NSS_EXTERN void
  187. nssCKFWInstance_DestroySessionHandle
  188. (
  189.   NSSCKFWInstance *fwInstance,
  190.   CK_SESSION_HANDLE hSession
  191. );
  192. /*
  193.  * nssCKFWInstance_FindSessionHandle
  194.  *
  195.  */
  196. NSS_EXTERN CK_SESSION_HANDLE
  197. nssCKFWInstance_FindSessionHandle
  198. (
  199.   NSSCKFWInstance *fwInstance,
  200.   NSSCKFWSession *fwSession
  201. );
  202. /*
  203.  * nssCKFWInstance_CreateObjectHandle
  204.  *
  205.  */
  206. NSS_EXTERN CK_OBJECT_HANDLE
  207. nssCKFWInstance_CreateObjectHandle
  208. (
  209.   NSSCKFWInstance *fwInstance,
  210.   NSSCKFWObject *fwObject,
  211.   CK_RV *pError
  212. );
  213. /*
  214.  * nssCKFWInstance_FindObjectHandle
  215.  *
  216.  */
  217. NSS_EXTERN CK_OBJECT_HANDLE
  218. nssCKFWInstance_FindObjectHandle
  219. (
  220.   NSSCKFWInstance *fwInstance,
  221.   NSSCKFWObject *fwObject
  222. );
  223. /*
  224.  * nssCKFWInstance_ResolveObjectHandle
  225.  *
  226.  */
  227. NSS_EXTERN NSSCKFWObject *
  228. nssCKFWInstance_ResolveObjectHandle
  229. (
  230.   NSSCKFWInstance *fwInstance,
  231.   CK_OBJECT_HANDLE hObject
  232. );
  233. /*
  234.  * nssCKFWInstance_ReassignObjectHandle
  235.  *
  236.  */
  237. NSS_EXTERN CK_RV
  238. nssCKFWInstance_ReassignObjectHandle
  239. (
  240.   NSSCKFWInstance *fwInstance,
  241.   CK_OBJECT_HANDLE hObject,
  242.   NSSCKFWObject *fwObject
  243. );
  244. /*
  245.  * nssCKFWInstance_DestroyObjectHandle
  246.  *
  247.  */
  248. NSS_EXTERN void
  249. nssCKFWInstance_DestroyObjectHandle
  250. (
  251.   NSSCKFWInstance *fwInstance,
  252.   CK_OBJECT_HANDLE hObject
  253. );
  254. /*
  255.  * nssCKFWInstance_FindObjectHandle
  256.  *
  257.  */
  258. NSS_IMPLEMENT CK_OBJECT_HANDLE
  259. nssCKFWInstance_FindObjectHandle
  260. (
  261.   NSSCKFWInstance *fwInstance,
  262.   NSSCKFWObject *fwObject
  263. );
  264. /*
  265.  * nssCKFWInstance_GetNSlots
  266.  *
  267.  */
  268. NSS_EXTERN CK_ULONG
  269. nssCKFWInstance_GetNSlots
  270. (
  271.   NSSCKFWInstance *fwInstance,
  272.   CK_RV *pError
  273. );
  274. /*
  275.  * nssCKFWInstance_GetCryptokiVersion
  276.  *
  277.  */
  278. NSS_EXTERN CK_VERSION
  279. nssCKFWInstance_GetCryptokiVersion
  280. (
  281.   NSSCKFWInstance *fwInstance
  282. );
  283. /*
  284.  * nssCKFWInstance_GetManufacturerID
  285.  *
  286.  */
  287. NSS_EXTERN CK_RV
  288. nssCKFWInstance_GetManufacturerID
  289. (
  290.   NSSCKFWInstance *fwInstance,
  291.   CK_CHAR manufacturerID[32]
  292. );
  293. /*
  294.  * nssCKFWInstance_GetFlags
  295.  *
  296.  */
  297. NSS_EXTERN CK_ULONG
  298. nssCKFWInstance_GetFlags
  299. (
  300.   NSSCKFWInstance *fwInstance
  301. );
  302. /*
  303.  * nssCKFWInstance_GetLibraryDescription
  304.  *
  305.  */
  306. NSS_EXTERN CK_RV
  307. nssCKFWInstance_GetLibraryDescription
  308. (
  309.   NSSCKFWInstance *fwInstance,
  310.   CK_CHAR libraryDescription[32]
  311. );
  312. /*
  313.  * nssCKFWInstance_GetLibraryVersion
  314.  *
  315.  */
  316. NSS_EXTERN CK_VERSION
  317. nssCKFWInstance_GetLibraryVersion
  318. (
  319.   NSSCKFWInstance *fwInstance
  320. );
  321. /*
  322.  * nssCKFWInstance_GetModuleHandlesSessionObjects
  323.  *
  324.  */
  325. NSS_EXTERN CK_BBOOL
  326. nssCKFWInstance_GetModuleHandlesSessionObjects
  327. (
  328.   NSSCKFWInstance *fwInstance
  329. );
  330. /*
  331.  * nssCKFWInstance_GetSlots
  332.  *
  333.  */
  334. NSS_EXTERN NSSCKFWSlot **
  335. nssCKFWInstance_GetSlots
  336. (
  337.   NSSCKFWInstance *fwInstance,
  338.   CK_RV *pError
  339. );
  340. /*
  341.  * nssCKFWInstance_WaitForSlotEvent
  342.  *
  343.  */
  344. NSS_EXTERN NSSCKFWSlot *
  345. nssCKFWInstance_WaitForSlotEvent
  346. (
  347.   NSSCKFWInstance *fwInstance,
  348.   CK_BBOOL block,
  349.   CK_RV *pError
  350. );
  351. /*
  352.  * nssCKFWInstance_verifyPointer
  353.  *
  354.  */
  355. NSS_EXTERN CK_RV
  356. nssCKFWInstance_verifyPointer
  357. (
  358.   const NSSCKFWInstance *fwInstance
  359. );
  360. /*
  361.  * NSSCKFWSlot
  362.  *
  363.  *  -- create/destroy --
  364.  *  nssCKFWSlot_Create
  365.  *  nssCKFWSlot_Destroy
  366.  *
  367.  *  -- implement public accessors --
  368.  *  nssCKFWSlot_GetMDSlot
  369.  *  nssCKFWSlot_GetFWInstance
  370.  *  nssCKFWSlot_GetMDInstance
  371.  *
  372.  *  -- private accessors --
  373.  *  nssCKFWSlot_GetSlotID
  374.  *
  375.  *  -- module fronts --
  376.  *  nssCKFWSlot_GetSlotDescription
  377.  *  nssCKFWSlot_GetManufacturerID
  378.  *  nssCKFWSlot_GetTokenPresent
  379.  *  nssCKFWSlot_GetRemovableDevice
  380.  *  nssCKFWSlot_GetHardwareSlot
  381.  *  nssCKFWSlot_GetHardwareVersion
  382.  *  nssCKFWSlot_GetFirmwareVersion
  383.  *  nssCKFWSlot_GetToken
  384.  */
  385. /*
  386.  * nssCKFWSlot_Create
  387.  *
  388.  */
  389. NSS_EXTERN NSSCKFWSlot *
  390. nssCKFWSlot_Create
  391. (
  392.   NSSCKFWInstance *fwInstance,
  393.   NSSCKMDSlot *mdSlot,
  394.   CK_SLOT_ID slotID,
  395.   CK_RV *pError
  396. );
  397. /*
  398.  * nssCKFWSlot_Destroy
  399.  *
  400.  */
  401. NSS_EXTERN CK_RV
  402. nssCKFWSlot_Destroy
  403. (
  404.   NSSCKFWSlot *fwSlot
  405. );
  406. /*
  407.  * nssCKFWSlot_GetMDSlot
  408.  *
  409.  */
  410. NSS_EXTERN NSSCKMDSlot *
  411. nssCKFWSlot_GetMDSlot
  412. (
  413.   NSSCKFWSlot *fwSlot
  414. );
  415. /*
  416.  * nssCKFWSlot_GetFWInstance
  417.  *
  418.  */
  419. NSS_EXTERN NSSCKFWInstance *
  420. nssCKFWSlot_GetFWInstance
  421. (
  422.   NSSCKFWSlot *fwSlot
  423. );
  424. /*
  425.  * nssCKFWSlot_GetMDInstance
  426.  *
  427.  */
  428. NSS_EXTERN NSSCKMDInstance *
  429. nssCKFWSlot_GetMDInstance
  430. (
  431.   NSSCKFWSlot *fwSlot
  432. );
  433. /*
  434.  * nssCKFWSlot_GetSlotID
  435.  *
  436.  */
  437. NSS_EXTERN CK_SLOT_ID
  438. nssCKFWSlot_GetSlotID
  439. (
  440.   NSSCKFWSlot *fwSlot
  441. );
  442. /*
  443.  * nssCKFWSlot_GetSlotDescription
  444.  *
  445.  */
  446. NSS_EXTERN CK_RV
  447. nssCKFWSlot_GetSlotDescription
  448. (
  449.   NSSCKFWSlot *fwSlot,
  450.   CK_CHAR slotDescription[64]
  451. );
  452. /*
  453.  * nssCKFWSlot_GetManufacturerID
  454.  *
  455.  */
  456. NSS_EXTERN CK_RV
  457. nssCKFWSlot_GetManufacturerID
  458. (
  459.   NSSCKFWSlot *fwSlot,
  460.   CK_CHAR manufacturerID[32]
  461. );
  462. /*
  463.  * nssCKFWSlot_GetTokenPresent
  464.  *
  465.  */
  466. NSS_EXTERN CK_BBOOL
  467. nssCKFWSlot_GetTokenPresent
  468. (
  469.   NSSCKFWSlot *fwSlot
  470. );
  471. /*
  472.  * nssCKFWSlot_GetRemovableDevice
  473.  *
  474.  */
  475. NSS_EXTERN CK_BBOOL
  476. nssCKFWSlot_GetRemovableDevice
  477. (
  478.   NSSCKFWSlot *fwSlot
  479. );
  480. /*
  481.  * nssCKFWSlot_GetHardwareSlot
  482.  *
  483.  */
  484. NSS_EXTERN CK_BBOOL
  485. nssCKFWSlot_GetHardwareSlot
  486. (
  487.   NSSCKFWSlot *fwSlot
  488. );
  489. /*
  490.  * nssCKFWSlot_GetHardwareVersion
  491.  *
  492.  */
  493. NSS_EXTERN CK_VERSION
  494. nssCKFWSlot_GetHardwareVersion
  495. (
  496.   NSSCKFWSlot *fwSlot
  497. );
  498. /*
  499.  * nssCKFWSlot_GetFirmwareVersion
  500.  *
  501.  */
  502. NSS_EXTERN CK_VERSION
  503. nssCKFWSlot_GetFirmwareVersion
  504. (
  505.   NSSCKFWSlot *fwSlot
  506. );
  507. /*
  508.  * nssCKFWSlot_GetToken
  509.  * 
  510.  */
  511. NSS_EXTERN NSSCKFWToken *
  512. nssCKFWSlot_GetToken
  513. (
  514.   NSSCKFWSlot *fwSlot,
  515.   CK_RV *pError
  516. );
  517. /*
  518.  * nssCKFWSlot_ClearToken
  519.  *
  520.  */
  521. NSS_EXTERN void
  522. nssCKFWSlot_ClearToken
  523. (
  524.   NSSCKFWSlot *fwSlot
  525. );
  526. /*
  527.  * NSSCKFWToken
  528.  *
  529.  *  -- create/destroy --
  530.  *  nssCKFWToken_Create
  531.  *  nssCKFWToken_Destroy
  532.  *
  533.  *  -- implement public accessors --
  534.  *  nssCKFWToken_GetMDToken
  535.  *  nssCKFWToken_GetFWSlot
  536.  *  nssCKFWToken_GetMDSlot
  537.  *  nssCKFWToken_GetSessionState
  538.  *
  539.  *  -- private accessors --
  540.  *  nssCKFWToken_SetSessionState
  541.  *  nssCKFWToken_RemoveSession
  542.  *  nssCKFWToken_CloseAllSessions
  543.  *  nssCKFWToken_GetSessionCount
  544.  *  nssCKFWToken_GetRwSessionCount
  545.  *  nssCKFWToken_GetRoSessionCount
  546.  *  nssCKFWToken_GetSessionObjectHash
  547.  *  nssCKFWToken_GetMDObjectHash
  548.  *  nssCKFWToken_GetObjectHandleHash
  549.  *
  550.  *  -- module fronts --
  551.  *  nssCKFWToken_InitToken
  552.  *  nssCKFWToken_GetLabel
  553.  *  nssCKFWToken_GetManufacturerID
  554.  *  nssCKFWToken_GetModel
  555.  *  nssCKFWToken_GetSerialNumber
  556.  *  nssCKFWToken_GetHasRNG
  557.  *  nssCKFWToken_GetIsWriteProtected
  558.  *  nssCKFWToken_GetLoginRequired
  559.  *  nssCKFWToken_GetUserPinInitialized
  560.  *  nssCKFWToken_GetRestoreKeyNotNeeded
  561.  *  nssCKFWToken_GetHasClockOnToken
  562.  *  nssCKFWToken_GetHasProtectedAuthenticationPath
  563.  *  nssCKFWToken_GetSupportsDualCryptoOperations
  564.  *  nssCKFWToken_GetMaxSessionCount
  565.  *  nssCKFWToken_GetMaxRwSessionCount
  566.  *  nssCKFWToken_GetMaxPinLen
  567.  *  nssCKFWToken_GetMinPinLen
  568.  *  nssCKFWToken_GetTotalPublicMemory
  569.  *  nssCKFWToken_GetFreePublicMemory
  570.  *  nssCKFWToken_GetTotalPrivateMemory
  571.  *  nssCKFWToken_GetFreePrivateMemory
  572.  *  nssCKFWToken_GetHardwareVersion
  573.  *  nssCKFWToken_GetFirmwareVersion
  574.  *  nssCKFWToken_GetUTCTime
  575.  *  nssCKFWToken_OpenSession
  576.  *  nssCKFWToken_GetMechanismCount
  577.  *  nssCKFWToken_GetMechanismTypes
  578.  *  nssCKFWToken_GetMechanism
  579.  */
  580. /*
  581.  * nssCKFWToken_Create
  582.  *
  583.  */
  584. NSS_EXTERN NSSCKFWToken *
  585. nssCKFWToken_Create
  586. (
  587.   NSSCKFWSlot *fwSlot,
  588.   NSSCKMDToken *mdToken,
  589.   CK_RV *pError
  590. );
  591. /*
  592.  * nssCKFWToken_Destroy
  593.  *
  594.  */
  595. NSS_EXTERN CK_RV
  596. nssCKFWToken_Destroy
  597. (
  598.   NSSCKFWToken *fwToken
  599. );
  600. /*
  601.  * nssCKFWToken_GetMDToken
  602.  *
  603.  */
  604. NSS_EXTERN NSSCKMDToken *
  605. nssCKFWToken_GetMDToken
  606. (
  607.   NSSCKFWToken *fwToken
  608. );
  609. /*
  610.  * nssCKFWToken_GetArena
  611.  *
  612.  */
  613. NSS_EXTERN NSSArena *
  614. nssCKFWToken_GetArena
  615. (
  616.   NSSCKFWToken *fwToken,
  617.   CK_RV *pError
  618. );
  619. /*
  620.  * nssCKFWToken_GetFWSlot
  621.  *
  622.  */
  623. NSS_EXTERN NSSCKFWSlot *
  624. nssCKFWToken_GetFWSlot
  625. (
  626.   NSSCKFWToken *fwToken
  627. );
  628. /*
  629.  * nssCKFWToken_GetMDSlot
  630.  *
  631.  */
  632. NSS_EXTERN NSSCKMDSlot *
  633. nssCKFWToken_GetMDSlot
  634. (
  635.   NSSCKFWToken *fwToken
  636. );
  637. /*
  638.  * nssCKFWToken_GetSessionState
  639.  *
  640.  */
  641. NSS_EXTERN CK_STATE
  642. nssCKFWToken_GetSessionState
  643. (
  644.   NSSCKFWToken *fwToken
  645. );
  646. /*
  647.  * nssCKFWToken_InitToken
  648.  *
  649.  */
  650. NSS_EXTERN CK_RV
  651. nssCKFWToken_InitToken
  652. (
  653.   NSSCKFWToken *fwToken,
  654.   NSSItem *pin,
  655.   NSSUTF8 *label
  656. );
  657. /*
  658.  * nssCKFWToken_GetLabel
  659.  *
  660.  */
  661. NSS_EXTERN CK_RV
  662. nssCKFWToken_GetLabel
  663. (
  664.   NSSCKFWToken *fwToken,
  665.   CK_CHAR label[32]
  666. );
  667. /*
  668.  * nssCKFWToken_GetManufacturerID
  669.  *
  670.  */
  671. NSS_EXTERN CK_RV
  672. nssCKFWToken_GetManufacturerID
  673. (
  674.   NSSCKFWToken *fwToken,
  675.   CK_CHAR manufacturerID[32]
  676. );
  677. /*
  678.  * nssCKFWToken_GetModel
  679.  *
  680.  */
  681. NSS_EXTERN CK_RV
  682. nssCKFWToken_GetModel
  683. (
  684.   NSSCKFWToken *fwToken,
  685.   CK_CHAR model[16]
  686. );
  687. /*
  688.  * nssCKFWToken_GetSerialNumber
  689.  *
  690.  */
  691. NSS_EXTERN CK_RV
  692. nssCKFWToken_GetSerialNumber
  693. (
  694.   NSSCKFWToken *fwToken,
  695.   CK_CHAR serialNumber[16]
  696. );
  697. /*
  698.  * nssCKFWToken_GetHasRNG
  699.  *
  700.  */
  701. NSS_EXTERN CK_BBOOL
  702. nssCKFWToken_GetHasRNG
  703. (
  704.   NSSCKFWToken *fwToken
  705. );
  706. /*
  707.  * nssCKFWToken_GetIsWriteProtected
  708.  *
  709.  */
  710. NSS_EXTERN CK_BBOOL
  711. nssCKFWToken_GetIsWriteProtected
  712. (
  713.   NSSCKFWToken *fwToken
  714. );
  715. /*
  716.  * nssCKFWToken_GetLoginRequired
  717.  *
  718.  */
  719. NSS_EXTERN CK_BBOOL
  720. nssCKFWToken_GetLoginRequired
  721. (
  722.   NSSCKFWToken *fwToken
  723. );
  724. /*
  725.  * nssCKFWToken_GetUserPinInitialized
  726.  *
  727.  */
  728. NSS_EXTERN CK_BBOOL
  729. nssCKFWToken_GetUserPinInitialized
  730. (
  731.   NSSCKFWToken *fwToken
  732. );
  733. /*
  734.  * nssCKFWToken_GetRestoreKeyNotNeeded
  735.  *
  736.  */
  737. NSS_EXTERN CK_BBOOL
  738. nssCKFWToken_GetRestoreKeyNotNeeded
  739. (
  740.   NSSCKFWToken *fwToken
  741. );
  742. /*
  743.  * nssCKFWToken_GetHasClockOnToken
  744.  *
  745.  */
  746. NSS_EXTERN CK_BBOOL
  747. nssCKFWToken_GetHasClockOnToken
  748. (
  749.   NSSCKFWToken *fwToken
  750. );
  751. /*
  752.  * nssCKFWToken_GetHasProtectedAuthenticationPath
  753.  *
  754.  */
  755. NSS_EXTERN CK_BBOOL
  756. nssCKFWToken_GetHasProtectedAuthenticationPath
  757. (
  758.   NSSCKFWToken *fwToken
  759. );
  760. /*
  761.  * nssCKFWToken_GetSupportsDualCryptoOperations
  762.  *
  763.  */
  764. NSS_EXTERN CK_BBOOL
  765. nssCKFWToken_GetSupportsDualCryptoOperations
  766. (
  767.   NSSCKFWToken *fwToken
  768. );
  769. /*
  770.  * nssCKFWToken_GetMaxSessionCount
  771.  *
  772.  */
  773. NSS_EXTERN CK_ULONG
  774. nssCKFWToken_GetMaxSessionCount
  775. (
  776.   NSSCKFWToken *fwToken
  777. );
  778. /*
  779.  * nssCKFWToken_GetMaxRwSessionCount
  780.  *
  781.  */
  782. NSS_EXTERN CK_ULONG
  783. nssCKFWToken_GetMaxRwSessionCount
  784. (
  785.   NSSCKFWToken *fwToken
  786. );
  787. /*
  788.  * nssCKFWToken_GetMaxPinLen
  789.  *
  790.  */
  791. NSS_EXTERN CK_ULONG
  792. nssCKFWToken_GetMaxPinLen
  793. (
  794.   NSSCKFWToken *fwToken
  795. );
  796. /*
  797.  * nssCKFWToken_GetMinPinLen
  798.  *
  799.  */
  800. NSS_EXTERN CK_ULONG
  801. nssCKFWToken_GetMinPinLen
  802. (
  803.   NSSCKFWToken *fwToken
  804. );
  805. /*
  806.  * nssCKFWToken_GetTotalPublicMemory
  807.  *
  808.  */
  809. NSS_EXTERN CK_ULONG
  810. nssCKFWToken_GetTotalPublicMemory
  811. (
  812.   NSSCKFWToken *fwToken
  813. );
  814. /*
  815.  * nssCKFWToken_GetFreePublicMemory
  816.  *
  817.  */
  818. NSS_EXTERN CK_ULONG
  819. nssCKFWToken_GetFreePublicMemory
  820. (
  821.   NSSCKFWToken *fwToken
  822. );
  823. /*
  824.  * nssCKFWToken_GetTotalPrivateMemory
  825.  *
  826.  */
  827. NSS_EXTERN CK_ULONG
  828. nssCKFWToken_GetTotalPrivateMemory
  829. (
  830.   NSSCKFWToken *fwToken
  831. );
  832. /*
  833.  * nssCKFWToken_GetFreePrivateMemory
  834.  *
  835.  */
  836. NSS_EXTERN CK_ULONG
  837. nssCKFWToken_GetFreePrivateMemory
  838. (
  839.   NSSCKFWToken *fwToken
  840. );
  841. /*
  842.  * nssCKFWToken_GetHardwareVersion
  843.  *
  844.  */
  845. NSS_EXTERN CK_VERSION
  846. nssCKFWToken_GetHardwareVersion
  847. (
  848.   NSSCKFWToken *fwToken
  849. );
  850. /*
  851.  * nssCKFWToken_GetFirmwareVersion
  852.  *
  853.  */
  854. NSS_EXTERN CK_VERSION
  855. nssCKFWToken_GetFirmwareVersion
  856. (
  857.   NSSCKFWToken *fwToken
  858. );
  859. /*
  860.  * nssCKFWToken_GetUTCTime
  861.  *
  862.  */
  863. NSS_EXTERN CK_RV
  864. nssCKFWToken_GetUTCTime
  865. (
  866.   NSSCKFWToken *fwToken,
  867.   CK_CHAR utcTime[16]
  868. );
  869. /*
  870.  * nssCKFWToken_OpenSession
  871.  *
  872.  */
  873. NSS_EXTERN NSSCKFWSession *
  874. nssCKFWToken_OpenSession
  875. (
  876.   NSSCKFWToken *fwToken,
  877.   CK_BBOOL rw,
  878.   CK_VOID_PTR pApplication,
  879.   CK_NOTIFY Notify,
  880.   CK_RV *pError
  881. );
  882. /*
  883.  * nssCKFWToken_GetMechanismCount
  884.  *
  885.  */
  886. NSS_EXTERN CK_ULONG
  887. nssCKFWToken_GetMechanismCount
  888. (
  889.   NSSCKFWToken *fwToken
  890. );
  891. /*
  892.  * nssCKFWToken_GetMechanismTypes
  893.  *
  894.  */
  895. NSS_EXTERN CK_RV
  896. nssCKFWToken_GetMechanismTypes
  897. (
  898.   NSSCKFWToken *fwToken,
  899.   CK_MECHANISM_TYPE types[]
  900. );
  901. /*
  902.  * nssCKFWToken_GetMechanism
  903.  *
  904.  */
  905. NSS_EXTERN NSSCKFWMechanism *
  906. nssCKFWToken_GetMechanism
  907. (
  908.   NSSCKFWToken *fwToken,
  909.   CK_MECHANISM_TYPE which,
  910.   CK_RV *pError
  911. );
  912. /*
  913.  * nssCKFWToken_SetSessionState
  914.  *
  915.  */
  916. NSS_EXTERN CK_RV
  917. nssCKFWToken_SetSessionState
  918. (
  919.   NSSCKFWToken *fwToken,
  920.   CK_STATE newState
  921. );
  922. /*
  923.  * nssCKFWToken_RemoveSession
  924.  *
  925.  */
  926. NSS_EXTERN CK_RV
  927. nssCKFWToken_RemoveSession
  928. (
  929.   NSSCKFWToken *fwToken,
  930.   NSSCKFWSession *fwSession
  931. );
  932. /*
  933.  * nssCKFWToken_CloseAllSessions
  934.  *
  935.  */
  936. NSS_EXTERN CK_RV
  937. nssCKFWToken_CloseAllSessions
  938. (
  939.   NSSCKFWToken *fwToken
  940. );
  941. /*
  942.  * nssCKFWToken_GetSessionCount
  943.  *
  944.  */
  945. NSS_EXTERN CK_ULONG
  946. nssCKFWToken_GetSessionCount
  947. (
  948.   NSSCKFWToken *fwToken
  949. );
  950. /*
  951.  * nssCKFWToken_GetRwSessionCount
  952.  *
  953.  */
  954. NSS_EXTERN CK_ULONG
  955. nssCKFWToken_GetRwSessionCount
  956. (
  957.   NSSCKFWToken *fwToken
  958. );
  959. /*
  960.  * nssCKFWToken_GetRoSessionCount
  961.  *
  962.  */
  963. NSS_EXTERN CK_ULONG
  964. nssCKFWToken_GetRoSessionCount
  965. (
  966.   NSSCKFWToken *fwToken
  967. );
  968. /*
  969.  * nssCKFWToken_GetSessionObjectHash
  970.  *
  971.  */
  972. NSS_EXTERN nssCKFWHash *
  973. nssCKFWToken_GetSessionObjectHash
  974. (
  975.   NSSCKFWToken *fwToken
  976. );
  977. /*
  978.  * nssCKFWToken_GetMDObjectHash
  979.  *
  980.  */
  981. NSS_EXTERN nssCKFWHash *
  982. nssCKFWToken_GetMDObjectHash
  983. (
  984.   NSSCKFWToken *fwToken
  985. );
  986. /*
  987.  * nssCKFWToken_GetObjectHandleHash
  988.  *
  989.  */
  990. NSS_EXTERN nssCKFWHash *
  991. nssCKFWToken_GetObjectHandleHash
  992. (
  993.   NSSCKFWToken *fwToken
  994. );
  995. /*
  996.  * NSSCKFWMechanism
  997.  *
  998.  *  -- create/destroy --
  999.  *  nssCKFWMechanism_Create
  1000.  *  nssCKFWMechanism_Destroy
  1001.  *
  1002.  *  -- implement public accessors --
  1003.  *  nssCKFWMechanism_GetMDMechanism
  1004.  *  nssCKFWMechanism_GetParameter
  1005.  *
  1006.  *  -- private accessors --
  1007.  *
  1008.  *  -- module fronts --
  1009.  *  nssCKFWMechanism_GetMinKeySize
  1010.  *  nssCKFWMechanism_GetMaxKeySize
  1011.  *  nssCKFWMechanism_GetInHardware
  1012.  */
  1013. /*
  1014.  * nssCKFWMechanism_Create
  1015.  *
  1016.  */
  1017. NSS_EXTERN NSSCKFWMechanism *
  1018. nssCKFWMechanism_Create
  1019. (
  1020.   void /* XXX fgmr */
  1021. );
  1022. /*
  1023.  * nssCKFWMechanism_Destroy
  1024.  *
  1025.  */
  1026. NSS_EXTERN CK_RV
  1027. nssCKFWMechanism_Destroy
  1028. (
  1029.   NSSCKFWMechanism *fwMechanism
  1030. );
  1031. /*
  1032.  * nssCKFWMechanism_GetMDMechanism
  1033.  *
  1034.  */
  1035. NSS_EXTERN NSSCKMDMechanism *
  1036. nssCKFWMechanism_GetMDMechanism
  1037. (
  1038.   NSSCKFWMechanism *fwMechanism
  1039. );
  1040. /*
  1041.  * nssCKFWMechanism_GetParameter
  1042.  *
  1043.  * XXX fgmr-- or as an additional parameter to the crypto ops?
  1044.  */
  1045. NSS_EXTERN NSSItem *
  1046. nssCKFWMechanism_GetParameter
  1047. (
  1048.   NSSCKFWMechanism *fwMechanism
  1049. );
  1050. /*
  1051.  * nssCKFWMechanism_GetMinKeySize
  1052.  *
  1053.  */
  1054. NSS_EXTERN CK_ULONG
  1055. nssCKFWMechanism_GetMinKeySize
  1056. (
  1057.   NSSCKFWMechanism *fwMechanism
  1058. );
  1059. /*
  1060.  * nssCKFWMechanism_GetMaxKeySize
  1061.  *
  1062.  */
  1063. NSS_EXTERN CK_ULONG
  1064. nssCKFWMechanism_GetMaxKeySize
  1065. (
  1066.   NSSCKFWMechanism *fwMechanism
  1067. );
  1068. /*
  1069.  * nssCKFWMechanism_GetInHardware
  1070.  *
  1071.  */
  1072. NSS_EXTERN CK_BBOOL
  1073. nssCKFWMechanism_GetInHardware
  1074. (
  1075.   NSSCKFWMechanism *fwMechanism
  1076. );
  1077. /*
  1078.  * NSSCKFWSession
  1079.  *
  1080.  *  -- create/destroy --
  1081.  *  nssCKFWSession_Create
  1082.  *  nssCKFWSession_Destroy
  1083.  *
  1084.  *  -- implement public accessors --
  1085.  *  nssCKFWSession_GetMDSession
  1086.  *  nssCKFWSession_GetArena
  1087.  *  nssCKFWSession_CallNotification
  1088.  *  nssCKFWSession_IsRWSession
  1089.  *  nssCKFWSession_IsSO
  1090.  *
  1091.  *  -- private accessors --
  1092.  *  nssCKFWSession_GetFWSlot
  1093.  *  nssCKFWSession_GetSessionState
  1094.  *  nssCKFWSession_SetFWFindObjects
  1095.  *  nssCKFWSession_GetFWFindObjects
  1096.  *  nssCKFWSession_SetMDSession
  1097.  *  nssCKFWSession_SetHandle
  1098.  *  nssCKFWSession_GetHandle
  1099.  *  nssCKFWSession_RegisterSessionObject
  1100.  *  nssCKFWSession_DeregisterSessionObject
  1101.  *
  1102.  *  -- module fronts --
  1103.  *  nssCKFWSession_GetDeviceError
  1104.  *  nssCKFWSession_Login
  1105.  *  nssCKFWSession_Logout
  1106.  *  nssCKFWSession_InitPIN
  1107.  *  nssCKFWSession_SetPIN
  1108.  *  nssCKFWSession_GetOperationStateLen
  1109.  *  nssCKFWSession_GetOperationState
  1110.  *  nssCKFWSession_SetOperationState
  1111.  *  nssCKFWSession_CreateObject
  1112.  *  nssCKFWSession_CopyObject
  1113.  *  nssCKFWSession_FindObjectsInit
  1114.  *  nssCKFWSession_SeedRandom
  1115.  *  nssCKFWSession_GetRandom
  1116.  */
  1117. /*
  1118.  * nssCKFWSession_Create
  1119.  *
  1120.  */
  1121. NSS_EXTERN NSSCKFWSession *
  1122. nssCKFWSession_Create
  1123. (
  1124.   NSSCKFWToken *fwToken,
  1125.   CK_BBOOL rw,
  1126.   CK_VOID_PTR pApplication,
  1127.   CK_NOTIFY Notify,
  1128.   CK_RV *pError
  1129. );
  1130. /*
  1131.  * nssCKFWSession_Destroy
  1132.  *
  1133.  */
  1134. NSS_EXTERN CK_RV
  1135. nssCKFWSession_Destroy
  1136. (
  1137.   NSSCKFWSession *fwSession,
  1138.   CK_BBOOL removeFromTokenHash
  1139. );
  1140. /*
  1141.  * nssCKFWSession_GetMDSession
  1142.  *
  1143.  */
  1144. NSS_EXTERN NSSCKMDSession *
  1145. nssCKFWSession_GetMDSession
  1146. (
  1147.   NSSCKFWSession *fwSession
  1148. );
  1149. /*
  1150.  * nssCKFWSession_GetArena
  1151.  *
  1152.  */
  1153. NSS_EXTERN NSSArena *
  1154. nssCKFWSession_GetArena
  1155. (
  1156.   NSSCKFWSession *fwSession,
  1157.   CK_RV *pError
  1158. );
  1159. /*
  1160.  * nssCKFWSession_CallNotification
  1161.  *
  1162.  */
  1163. NSS_EXTERN CK_RV
  1164. nssCKFWSession_CallNotification
  1165. (
  1166.   NSSCKFWSession *fwSession,
  1167.   CK_NOTIFICATION event
  1168. );
  1169. /*
  1170.  * nssCKFWSession_IsRWSession
  1171.  *
  1172.  */
  1173. NSS_EXTERN CK_BBOOL
  1174. nssCKFWSession_IsRWSession
  1175. (
  1176.   NSSCKFWSession *fwSession
  1177. );
  1178. /*
  1179.  * nssCKFWSession_IsSO
  1180.  *
  1181.  */
  1182. NSS_EXTERN CK_BBOOL
  1183. nssCKFWSession_IsSO
  1184. (
  1185.   NSSCKFWSession *fwSession
  1186. );
  1187. /*
  1188.  * nssCKFWSession_GetFWSlot
  1189.  *
  1190.  */
  1191. NSS_EXTERN NSSCKFWSlot *
  1192. nssCKFWSession_GetFWSlot
  1193. (
  1194.   NSSCKFWSession *fwSession
  1195. );
  1196. /*
  1197.  * nssCFKWSession_GetSessionState
  1198.  *
  1199.  */
  1200. NSS_EXTERN CK_STATE
  1201. nssCKFWSession_GetSessionState
  1202. (
  1203.   NSSCKFWSession *fwSession
  1204. );
  1205. /*
  1206.  * nssCKFWSession_SetFWFindObjects
  1207.  *
  1208.  */
  1209. NSS_EXTERN CK_RV
  1210. nssCKFWSession_SetFWFindObjects
  1211. (
  1212.   NSSCKFWSession *fwSession,
  1213.   NSSCKFWFindObjects *fwFindObjects
  1214. );
  1215. /*
  1216.  * nssCKFWSession_GetFWFindObjects
  1217.  *
  1218.  */
  1219. NSS_EXTERN NSSCKFWFindObjects *
  1220. nssCKFWSession_GetFWFindObjects
  1221. (
  1222.   NSSCKFWSession *fwSesssion,
  1223.   CK_RV *pError
  1224. );
  1225. /*
  1226.  * nssCKFWSession_SetMDSession
  1227.  *
  1228.  */
  1229. NSS_EXTERN CK_RV
  1230. nssCKFWSession_SetMDSession
  1231. (
  1232.   NSSCKFWSession *fwSession,
  1233.   NSSCKMDSession *mdSession
  1234. );
  1235. /*
  1236.  * nssCKFWSession_SetHandle
  1237.  *
  1238.  */
  1239. NSS_EXTERN CK_RV
  1240. nssCKFWSession_SetHandle
  1241. (
  1242.   NSSCKFWSession *fwSession,
  1243.   CK_SESSION_HANDLE hSession
  1244. );
  1245. /*
  1246.  * nssCKFWSession_GetHandle
  1247.  *
  1248.  */
  1249. NSS_EXTERN CK_SESSION_HANDLE
  1250. nssCKFWSession_GetHandle
  1251. (
  1252.   NSSCKFWSession *fwSession
  1253. );
  1254. /*
  1255.  * nssCKFWSession_RegisterSessionObject
  1256.  *
  1257.  */
  1258. NSS_EXTERN CK_RV
  1259. nssCKFWSession_RegisterSessionObject
  1260. (
  1261.   NSSCKFWSession *fwSession,
  1262.   NSSCKFWObject *fwObject
  1263. );
  1264. /*
  1265.  * nssCKFWSession_DeregisterSessionObject
  1266.  *
  1267.  */
  1268. NSS_EXTERN CK_RV
  1269. nssCKFWSession_DeregisterSessionObject
  1270. (
  1271.   NSSCKFWSession *fwSession,
  1272.   NSSCKFWObject *fwObject
  1273. );
  1274. /*
  1275.  * nssCKFWSession_GetDeviceError
  1276.  *
  1277.  */
  1278. NSS_EXTERN CK_ULONG
  1279. nssCKFWSession_GetDeviceError
  1280. (
  1281.   NSSCKFWSession *fwSession
  1282. );
  1283. /*
  1284.  * nssCKFWSession_Login
  1285.  *
  1286.  */
  1287. NSS_EXTERN CK_RV
  1288. nssCKFWSession_Login
  1289. (
  1290.   NSSCKFWSession *fwSession,
  1291.   CK_USER_TYPE userType,
  1292.   NSSItem *pin
  1293. );
  1294. /*
  1295.  * nssCKFWSession_Logout
  1296.  *
  1297.  */
  1298. NSS_EXTERN CK_RV
  1299. nssCKFWSession_Logout
  1300. (
  1301.   NSSCKFWSession *fwSession
  1302. );
  1303. /*
  1304.  * nssCKFWSession_InitPIN
  1305.  *
  1306.  */
  1307. NSS_EXTERN CK_RV
  1308. nssCKFWSession_InitPIN
  1309. (
  1310.   NSSCKFWSession *fwSession,
  1311.   NSSItem *pin
  1312. );
  1313. /*
  1314.  * nssCKFWSession_SetPIN
  1315.  *
  1316.  */
  1317. NSS_EXTERN CK_RV
  1318. nssCKFWSession_SetPIN
  1319. (
  1320.   NSSCKFWSession *fwSession,
  1321.   NSSItem *newPin,
  1322.   NSSItem *oldPin
  1323. );
  1324. /*
  1325.  * nssCKFWSession_GetOperationStateLen
  1326.  *
  1327.  */
  1328. NSS_EXTERN CK_ULONG
  1329. nssCKFWSession_GetOperationStateLen
  1330. (
  1331.   NSSCKFWSession *fwSession,
  1332.   CK_RV *pError
  1333. );
  1334. /*
  1335.  * nssCKFWSession_GetOperationState
  1336.  *
  1337.  */
  1338. NSS_EXTERN CK_RV
  1339. nssCKFWSession_GetOperationState
  1340. (
  1341.   NSSCKFWSession *fwSession,
  1342.   NSSItem *buffer
  1343. );
  1344. /*
  1345.  * nssCKFWSession_SetOperationState
  1346.  *
  1347.  */
  1348. NSS_EXTERN CK_RV
  1349. nssCKFWSession_SetOperationState
  1350. (
  1351.   NSSCKFWSession *fwSession,
  1352.   NSSItem *state,
  1353.   NSSCKFWObject *encryptionKey,
  1354.   NSSCKFWObject *authenticationKey
  1355. );
  1356. /*
  1357.  * nssCKFWSession_CreateObject
  1358.  *
  1359.  */
  1360. NSS_EXTERN NSSCKFWObject *
  1361. nssCKFWSession_CreateObject
  1362. (
  1363.   NSSCKFWSession *fwSession,
  1364.   CK_ATTRIBUTE_PTR pTemplate,
  1365.   CK_ULONG ulAttributeCount,
  1366.   CK_RV *pError
  1367. );
  1368. /*
  1369.  * nssCKFWSession_CopyObject
  1370.  *
  1371.  */
  1372. NSS_EXTERN NSSCKFWObject *
  1373. nssCKFWSession_CopyObject
  1374. (
  1375.   NSSCKFWSession *fwSession,
  1376.   NSSCKFWObject *object,
  1377.   CK_ATTRIBUTE_PTR pTemplate,
  1378.   CK_ULONG ulAttributeCount,
  1379.   CK_RV *pError
  1380. );
  1381. /*
  1382.  * nssCKFWSession_FindObjectsInit
  1383.  *
  1384.  */
  1385. NSS_EXTERN NSSCKFWFindObjects *
  1386. nssCKFWSession_FindObjectsInit
  1387. (
  1388.   NSSCKFWSession *fwSession,
  1389.   CK_ATTRIBUTE_PTR pTemplate,
  1390.   CK_ULONG ulAttributeCount,
  1391.   CK_RV *pError
  1392. );
  1393. /*
  1394.  * nssCKFWSession_SeedRandom
  1395.  *
  1396.  */
  1397. NSS_EXTERN CK_RV
  1398. nssCKFWSession_SeedRandom
  1399. (
  1400.   NSSCKFWSession *fwSession,
  1401.   NSSItem *seed
  1402. );
  1403. /*
  1404.  * nssCKFWSession_GetRandom
  1405.  *
  1406.  */
  1407. NSS_EXTERN CK_RV
  1408. nssCKFWSession_GetRandom
  1409. (
  1410.   NSSCKFWSession *fwSession,
  1411.   NSSItem *buffer
  1412. );
  1413. /*
  1414.  * NSSCKFWObject
  1415.  *
  1416.  * -- create/destroy --
  1417.  *  nssCKFWObject_Create
  1418.  *  nssCKFWObject_Finalize
  1419.  *  nssCKFWObject_Destroy
  1420.  *
  1421.  * -- implement public accessors --
  1422.  *  nssCKFWObject_GetMDObject
  1423.  *  nssCKFWObject_GetArena
  1424.  *
  1425.  * -- private accessors --
  1426.  *  nssCKFWObject_SetHandle
  1427.  *  nssCKFWObject_GetHandle
  1428.  *
  1429.  * -- module fronts --
  1430.  *  nssCKFWObject_IsTokenObject
  1431.  *  nssCKFWObject_GetAttributeCount
  1432.  *  nssCKFWObject_GetAttributeTypes
  1433.  *  nssCKFWObject_GetAttributeSize
  1434.  *  nssCKFWObject_GetAttribute
  1435.  *  nssCKFWObject_SetAttribute
  1436.  *  nssCKFWObject_GetObjectSize
  1437.  */
  1438. /*
  1439.  * nssCKFWObject_Create
  1440.  *
  1441.  */
  1442. NSS_EXTERN NSSCKFWObject *
  1443. nssCKFWObject_Create
  1444. (
  1445.   NSSArena *arena,
  1446.   NSSCKMDObject *mdObject,
  1447.   NSSCKFWSession *fwSession,
  1448.   NSSCKFWToken *fwToken,
  1449.   NSSCKFWInstance *fwInstance,
  1450.   CK_RV *pError
  1451. );
  1452. /*
  1453.  * nssCKFWObject_Finalize
  1454.  *
  1455.  */
  1456. NSS_EXTERN void
  1457. nssCKFWObject_Finalize
  1458. (
  1459.   NSSCKFWObject *fwObject
  1460. );
  1461. /*
  1462.  * nssCKFWObject_Destroy
  1463.  *
  1464.  */
  1465. NSS_EXTERN void
  1466. nssCKFWObject_Destroy
  1467. (
  1468.   NSSCKFWObject *fwObject
  1469. );
  1470. /*
  1471.  * nssCKFWObject_GetMDObject
  1472.  *
  1473.  */
  1474. NSS_EXTERN NSSCKMDObject *
  1475. nssCKFWObject_GetMDObject
  1476. (
  1477.   NSSCKFWObject *fwObject
  1478. );
  1479. /*
  1480.  * nssCKFWObject_GetArena
  1481.  *
  1482.  */
  1483. NSS_EXTERN NSSArena *
  1484. nssCKFWObject_GetArena
  1485. (
  1486.   NSSCKFWObject *fwObject,
  1487.   CK_RV *pError
  1488. );
  1489. /*
  1490.  * nssCKFWObject_SetHandle
  1491.  *
  1492.  */
  1493. NSS_IMPLEMENT CK_RV
  1494. nssCKFWObject_SetHandle
  1495. (
  1496.   NSSCKFWObject *fwObject,
  1497.   CK_OBJECT_HANDLE hObject
  1498. );
  1499. /*
  1500.  * nssCKFWObject_GetHandle
  1501.  *
  1502.  */
  1503. NSS_IMPLEMENT CK_OBJECT_HANDLE
  1504. nssCKFWObject_GetHandle
  1505. (
  1506.   NSSCKFWObject *fwObject
  1507. );
  1508. /*
  1509.  * nssCKFWObject_IsTokenObject
  1510.  *
  1511.  */
  1512. NSS_EXTERN CK_BBOOL
  1513. nssCKFWObject_IsTokenObject
  1514. (
  1515.   NSSCKFWObject *fwObject
  1516. );
  1517. /*
  1518.  * nssCKFWObject_GetAttributeCount
  1519.  *
  1520.  */
  1521. NSS_EXTERN CK_ULONG
  1522. nssCKFWObject_GetAttributeCount
  1523. (
  1524.   NSSCKFWObject *fwObject,
  1525.   CK_RV *pError
  1526. );
  1527. /*
  1528.  * nssCKFWObject_GetAttributeTypes
  1529.  *
  1530.  */
  1531. NSS_EXTERN CK_RV
  1532. nssCKFWObject_GetAttributeTypes
  1533. (
  1534.   NSSCKFWObject *fwObject,
  1535.   CK_ATTRIBUTE_TYPE_PTR typeArray,
  1536.   CK_ULONG ulCount
  1537. );
  1538. /*
  1539.  * nssCKFWObject_GetAttributeSize
  1540.  *
  1541.  */
  1542. NSS_EXTERN CK_ULONG
  1543. nssCKFWObject_GetAttributeSize
  1544. (
  1545.   NSSCKFWObject *fwObject,
  1546.   CK_ATTRIBUTE_TYPE attribute,
  1547.   CK_RV *pError
  1548. );
  1549. /*
  1550.  * nssCKFWObject_GetAttribute
  1551.  *
  1552.  * Usual NSS allocation rules:
  1553.  * If itemOpt is not NULL, it will be returned; otherwise an NSSItem
  1554.  * will be allocated.  If itemOpt is not NULL but itemOpt->data is,
  1555.  * the buffer will be allocated; otherwise, the buffer will be used.
  1556.  * Any allocations will come from the optional arena, if one is
  1557.  * specified.
  1558.  */
  1559. NSS_EXTERN NSSItem *
  1560. nssCKFWObject_GetAttribute
  1561. (
  1562.   NSSCKFWObject *fwObject,
  1563.   CK_ATTRIBUTE_TYPE attribute,
  1564.   NSSItem *itemOpt,
  1565.   NSSArena *arenaOpt,
  1566.   CK_RV *pError
  1567. );
  1568. /*
  1569.  * nssCKFWObject_SetAttribute
  1570.  *
  1571.  */
  1572. NSS_EXTERN CK_RV
  1573. nssCKFWObject_SetAttribute
  1574. (
  1575.   NSSCKFWObject *fwObject,
  1576.   CK_ATTRIBUTE_TYPE attribute,
  1577.   NSSItem *value
  1578. );
  1579. /*
  1580.  * nssCKFWObject_GetObjectSize
  1581.  *
  1582.  */
  1583. NSS_EXTERN CK_ULONG
  1584. nssCKFWObject_GetObjectSize
  1585. (
  1586.   NSSCKFWObject *fwObject,
  1587.   CK_RV *pError
  1588. );
  1589. /*
  1590.  * NSSCKFWFindObjects
  1591.  *
  1592.  *  -- create/destroy --
  1593.  *  nssCKFWFindObjects_Create
  1594.  *  nssCKFWFindObjects_Destroy
  1595.  *
  1596.  *  -- implement public accessors --
  1597.  *  nssCKFWFindObjects_GetMDFindObjects
  1598.  *
  1599.  *  -- private accessors --
  1600.  *
  1601.  *  -- module fronts --
  1602.  *  nssCKFWFindObjects_Next
  1603.  */
  1604. /*
  1605.  * nssCKFWFindObjects_Create
  1606.  *
  1607.  */
  1608. NSS_EXTERN NSSCKFWFindObjects *
  1609. nssCKFWFindObjects_Create
  1610. (
  1611.   NSSCKFWSession *fwSession,
  1612.   NSSCKFWToken *fwToken,
  1613.   NSSCKFWInstance *fwInstance,
  1614.   NSSCKMDFindObjects *mdFindObjects1,
  1615.   NSSCKMDFindObjects *mdFindObjects2,
  1616.   CK_RV *pError
  1617. );
  1618. /*
  1619.  * nssCKFWFindObjects_Destroy
  1620.  *
  1621.  */
  1622. NSS_EXTERN void
  1623. nssCKFWFindObjects_Destroy
  1624. (
  1625.   NSSCKFWFindObjects *fwFindObjects
  1626. );
  1627. /*
  1628.  * nssCKFWFindObjects_GetMDFindObjects
  1629.  *
  1630.  */
  1631. NSS_EXTERN NSSCKMDFindObjects *
  1632. nssCKFWFindObjects_GetMDFindObjects
  1633. (
  1634.   NSSCKFWFindObjects *fwFindObjects
  1635. );
  1636. /*
  1637.  * nssCKFWFindObjects_Next
  1638.  *
  1639.  */
  1640. NSS_EXTERN NSSCKFWObject *
  1641. nssCKFWFindObjects_Next
  1642. (
  1643.   NSSCKFWFindObjects *fwFindObjects,
  1644.   NSSArena *arenaOpt,
  1645.   CK_RV *pError
  1646. );
  1647. /*
  1648.  * NSSCKFWMutex
  1649.  *
  1650.  *  nssCKFWMutex_Create
  1651.  *  nssCKFWMutex_Destroy
  1652.  *  nssCKFWMutex_Lock
  1653.  *  nssCKFWMutex_Unlock
  1654.  *
  1655.  */
  1656. /*
  1657.  * nssCKFWMutex_Create
  1658.  *
  1659.  */
  1660. NSS_EXTERN NSSCKFWMutex *
  1661. nssCKFWMutex_Create
  1662. (
  1663.   CK_C_INITIALIZE_ARGS_PTR pInitArgs,
  1664.   NSSArena *arena,
  1665.   CK_RV *pError
  1666. );
  1667. /*
  1668.  * nssCKFWMutex_Destroy
  1669.  *
  1670.  */
  1671. NSS_EXTERN CK_RV
  1672. nssCKFWMutex_Destroy
  1673. (
  1674.   NSSCKFWMutex *mutex
  1675. );
  1676. /*
  1677.  * nssCKFWMutex_Lock
  1678.  *
  1679.  */
  1680. NSS_EXTERN CK_RV
  1681. nssCKFWMutex_Lock
  1682. (
  1683.   NSSCKFWMutex *mutex
  1684. );
  1685. /*
  1686.  * nssCKFWMutex_Unlock
  1687.  *
  1688.  */
  1689. NSS_EXTERN CK_RV
  1690. nssCKFWMutex_Unlock
  1691. (
  1692.   NSSCKFWMutex *mutex
  1693. );
  1694. #endif /* CKFW_H */