nssckfw.h 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  4. #ifndef NSSCKFW_H
  5. #define NSSCKFW_H
  6. /*
  7. * nssckfw.h
  8. *
  9. * This file prototypes the publicly available calls of the
  10. * NSS Cryptoki Framework.
  11. */
  12. #ifndef NSSBASET_H
  13. #include "nssbaset.h"
  14. #endif /* NSSBASET_H */
  15. #ifndef NSSCKT_H
  16. #include "nssckt.h"
  17. #endif /* NSSCKT_H */
  18. #ifndef NSSCKFWT_H
  19. #include "nssckfwt.h"
  20. #endif /* NSSCKFWT_H */
  21. /*
  22. * NSSCKFWInstance
  23. *
  24. * NSSCKFWInstance_GetMDInstance
  25. * NSSCKFWInstance_GetArena
  26. * NSSCKFWInstance_MayCreatePthreads
  27. * NSSCKFWInstance_CreateMutex
  28. * NSSCKFWInstance_GetConfigurationData
  29. * NSSCKFWInstance_GetInitArgs
  30. * NSSCKFWInstance_DestroySessionHandle
  31. * NSSCKFWInstance_FindSessionHandle
  32. */
  33. /*
  34. * NSSCKFWInstance_GetMDInstance
  35. *
  36. */
  37. NSS_EXTERN NSSCKMDInstance *
  38. NSSCKFWInstance_GetMDInstance(
  39. NSSCKFWInstance *fwInstance);
  40. /*
  41. * NSSCKFWInstance_GetArena
  42. *
  43. */
  44. NSS_EXTERN NSSArena *
  45. NSSCKFWInstance_GetArena(
  46. NSSCKFWInstance *fwInstance,
  47. CK_RV *pError);
  48. /*
  49. * NSSCKFWInstance_MayCreatePthreads
  50. *
  51. */
  52. NSS_EXTERN CK_BBOOL
  53. NSSCKFWInstance_MayCreatePthreads(
  54. NSSCKFWInstance *fwInstance);
  55. /*
  56. * NSSCKFWInstance_CreateMutex
  57. *
  58. */
  59. NSS_EXTERN NSSCKFWMutex *
  60. NSSCKFWInstance_CreateMutex(
  61. NSSCKFWInstance *fwInstance,
  62. NSSArena *arena,
  63. CK_RV *pError);
  64. /*
  65. * NSSCKFWInstance_GetConfigurationData
  66. *
  67. */
  68. NSS_EXTERN NSSUTF8 *
  69. NSSCKFWInstance_GetConfigurationData(
  70. NSSCKFWInstance *fwInstance);
  71. /*
  72. * NSSCKFWInstance_GetInitArgs
  73. *
  74. */
  75. NSS_EXTERN CK_C_INITIALIZE_ARGS_PTR
  76. NSSCKFWInstance_GetInitArgs(
  77. NSSCKFWInstance *fwInstance);
  78. /*
  79. * nssCKFWInstance_DestroySessionHandle
  80. *
  81. */
  82. NSS_EXTERN void
  83. NSSCKFWInstance_DestroySessionHandle(
  84. NSSCKFWInstance *fwInstance,
  85. CK_SESSION_HANDLE hSession);
  86. /*
  87. * nssCKFWInstance_FindSessionHandle
  88. *
  89. */
  90. NSS_EXTERN CK_SESSION_HANDLE
  91. NSSCKFWInstance_FindSessionHandle(
  92. NSSCKFWInstance *fwInstance,
  93. NSSCKFWSession *fwSession);
  94. /*
  95. * NSSCKFWSlot
  96. *
  97. * NSSCKFWSlot_GetMDSlot
  98. * NSSCKFWSlot_GetFWInstance
  99. * NSSCKFWSlot_GetMDInstance
  100. * NSSCKFWSlot_GetSlotID
  101. *
  102. */
  103. /*
  104. * NSSCKFWSlot_GetMDSlot
  105. *
  106. */
  107. NSS_EXTERN NSSCKMDSlot *
  108. NSSCKFWSlot_GetMDSlot(
  109. NSSCKFWSlot *fwSlot);
  110. /*
  111. * NSSCKFWSlot_GetFWInstance
  112. *
  113. */
  114. NSS_EXTERN NSSCKFWInstance *
  115. NSSCKFWSlot_GetFWInstance(
  116. NSSCKFWSlot *fwSlot);
  117. /*
  118. * NSSCKFWSlot_GetMDInstance
  119. *
  120. */
  121. NSS_EXTERN NSSCKMDInstance *
  122. NSSCKFWSlot_GetMDInstance(
  123. NSSCKFWSlot *fwSlot);
  124. /*
  125. * NSSCKFWSlot_GetSlotID
  126. *
  127. */
  128. NSS_EXTERN CK_SLOT_ID
  129. NSSCKFWSlot_GetSlotID(
  130. NSSCKFWSlot *fwSlot);
  131. /*
  132. * NSSCKFWToken
  133. *
  134. * NSSCKFWToken_GetMDToken
  135. * NSSCKFWToken_GetFWSlot
  136. * NSSCKFWToken_GetMDSlot
  137. * NSSCKFWToken_GetSessionState
  138. *
  139. */
  140. /*
  141. * NSSCKFWToken_GetMDToken
  142. *
  143. */
  144. NSS_EXTERN NSSCKMDToken *
  145. NSSCKFWToken_GetMDToken(
  146. NSSCKFWToken *fwToken);
  147. /*
  148. * NSSCKFWToken_GetArena
  149. *
  150. */
  151. NSS_EXTERN NSSArena *
  152. NSSCKFWToken_GetArena(
  153. NSSCKFWToken *fwToken,
  154. CK_RV *pError);
  155. /*
  156. * NSSCKFWToken_GetFWSlot
  157. *
  158. */
  159. NSS_EXTERN NSSCKFWSlot *
  160. NSSCKFWToken_GetFWSlot(
  161. NSSCKFWToken *fwToken);
  162. /*
  163. * NSSCKFWToken_GetMDSlot
  164. *
  165. */
  166. NSS_EXTERN NSSCKMDSlot *
  167. NSSCKFWToken_GetMDSlot(
  168. NSSCKFWToken *fwToken);
  169. /*
  170. * NSSCKFWToken_GetSessionState
  171. *
  172. */
  173. NSS_EXTERN CK_STATE
  174. NSSCKFWToken_GetSessionState(
  175. NSSCKFWToken *fwToken);
  176. /*
  177. * NSSCKFWMechanism
  178. *
  179. * NSSKCFWMechanism_GetMDMechanism
  180. * NSSCKFWMechanism_GetParameter
  181. *
  182. */
  183. /*
  184. * NSSKCFWMechanism_GetMDMechanism
  185. *
  186. */
  187. NSS_EXTERN NSSCKMDMechanism *
  188. NSSCKFWMechanism_GetMDMechanism(
  189. NSSCKFWMechanism *fwMechanism);
  190. /*
  191. * NSSCKFWMechanism_GetParameter
  192. *
  193. */
  194. NSS_EXTERN NSSItem *
  195. NSSCKFWMechanism_GetParameter(
  196. NSSCKFWMechanism *fwMechanism);
  197. /*
  198. * NSSCKFWSession
  199. *
  200. * NSSCKFWSession_GetMDSession
  201. * NSSCKFWSession_GetArena
  202. * NSSCKFWSession_CallNotification
  203. * NSSCKFWSession_IsRWSession
  204. * NSSCKFWSession_IsSO
  205. * NSSCKFWSession_GetCurrentCryptoOperation
  206. * NSSCKFWSession_GetFWSlot
  207. *
  208. */
  209. /*
  210. * NSSCKFWSession_GetMDSession
  211. *
  212. */
  213. NSS_EXTERN NSSCKMDSession *
  214. NSSCKFWSession_GetMDSession(
  215. NSSCKFWSession *fwSession);
  216. /*
  217. * NSSCKFWSession_GetArena
  218. *
  219. */
  220. NSS_EXTERN NSSArena *
  221. NSSCKFWSession_GetArena(
  222. NSSCKFWSession *fwSession,
  223. CK_RV *pError);
  224. /*
  225. * NSSCKFWSession_CallNotification
  226. *
  227. */
  228. NSS_EXTERN CK_RV
  229. NSSCKFWSession_CallNotification(
  230. NSSCKFWSession *fwSession,
  231. CK_NOTIFICATION event);
  232. /*
  233. * NSSCKFWSession_IsRWSession
  234. *
  235. */
  236. NSS_EXTERN CK_BBOOL
  237. NSSCKFWSession_IsRWSession(
  238. NSSCKFWSession *fwSession);
  239. /*
  240. * NSSCKFWSession_IsSO
  241. *
  242. */
  243. NSS_EXTERN CK_BBOOL
  244. NSSCKFWSession_IsSO(
  245. NSSCKFWSession *fwSession);
  246. /*
  247. * NSSCKFWSession_GetCurrentCryptoOperation
  248. *
  249. */
  250. NSS_EXTERN NSSCKFWCryptoOperation *
  251. NSSCKFWSession_GetCurrentCryptoOperation(
  252. NSSCKFWSession *fwSession,
  253. NSSCKFWCryptoOperationState state);
  254. /*
  255. * NSSCKFWSession_GetFWSlot
  256. *
  257. */
  258. NSS_EXTERN NSSCKFWSlot *
  259. NSSCKFWSession_GetFWSlot(
  260. NSSCKFWSession *fwSession);
  261. /*
  262. * NSSCKFWObject
  263. *
  264. * NSSCKFWObject_GetMDObject
  265. * NSSCKFWObject_GetArena
  266. * NSSCKFWObject_IsTokenObject
  267. * NSSCKFWObject_GetAttributeCount
  268. * NSSCKFWObject_GetAttributeTypes
  269. * NSSCKFWObject_GetAttributeSize
  270. * NSSCKFWObject_GetAttribute
  271. * NSSCKFWObject_GetObjectSize
  272. */
  273. /*
  274. * NSSCKFWObject_GetMDObject
  275. *
  276. */
  277. NSS_EXTERN NSSCKMDObject *
  278. NSSCKFWObject_GetMDObject(
  279. NSSCKFWObject *fwObject);
  280. /*
  281. * NSSCKFWObject_GetArena
  282. *
  283. */
  284. NSS_EXTERN NSSArena *
  285. NSSCKFWObject_GetArena(
  286. NSSCKFWObject *fwObject,
  287. CK_RV *pError);
  288. /*
  289. * NSSCKFWObject_IsTokenObject
  290. *
  291. */
  292. NSS_EXTERN CK_BBOOL
  293. NSSCKFWObject_IsTokenObject(
  294. NSSCKFWObject *fwObject);
  295. /*
  296. * NSSCKFWObject_GetAttributeCount
  297. *
  298. */
  299. NSS_EXTERN CK_ULONG
  300. NSSCKFWObject_GetAttributeCount(
  301. NSSCKFWObject *fwObject,
  302. CK_RV *pError);
  303. /*
  304. * NSSCKFWObject_GetAttributeTypes
  305. *
  306. */
  307. NSS_EXTERN CK_RV
  308. NSSCKFWObject_GetAttributeTypes(
  309. NSSCKFWObject *fwObject,
  310. CK_ATTRIBUTE_TYPE_PTR typeArray,
  311. CK_ULONG ulCount);
  312. /*
  313. * NSSCKFWObject_GetAttributeSize
  314. *
  315. */
  316. NSS_EXTERN CK_ULONG
  317. NSSCKFWObject_GetAttributeSize(
  318. NSSCKFWObject *fwObject,
  319. CK_ATTRIBUTE_TYPE attribute,
  320. CK_RV *pError);
  321. /*
  322. * NSSCKFWObject_GetAttribute
  323. *
  324. */
  325. NSS_EXTERN NSSItem *
  326. NSSCKFWObject_GetAttribute(
  327. NSSCKFWObject *fwObject,
  328. CK_ATTRIBUTE_TYPE attribute,
  329. NSSItem *itemOpt,
  330. NSSArena *arenaOpt,
  331. CK_RV *pError);
  332. /*
  333. * NSSCKFWObject_GetObjectSize
  334. *
  335. */
  336. NSS_EXTERN CK_ULONG
  337. NSSCKFWObject_GetObjectSize(
  338. NSSCKFWObject *fwObject,
  339. CK_RV *pError);
  340. /*
  341. * NSSCKFWFindObjects
  342. *
  343. * NSSCKFWFindObjects_GetMDFindObjects
  344. *
  345. */
  346. /*
  347. * NSSCKFWFindObjects_GetMDFindObjects
  348. *
  349. */
  350. NSS_EXTERN NSSCKMDFindObjects *
  351. NSSCKFWFindObjects_GetMDFindObjects(
  352. NSSCKFWFindObjects *);
  353. /*
  354. * NSSCKFWMutex
  355. *
  356. * NSSCKFWMutex_Destroy
  357. * NSSCKFWMutex_Lock
  358. * NSSCKFWMutex_Unlock
  359. *
  360. */
  361. /*
  362. * NSSCKFWMutex_Destroy
  363. *
  364. */
  365. NSS_EXTERN CK_RV
  366. NSSCKFWMutex_Destroy(
  367. NSSCKFWMutex *mutex);
  368. /*
  369. * NSSCKFWMutex_Lock
  370. *
  371. */
  372. NSS_EXTERN CK_RV
  373. NSSCKFWMutex_Lock(
  374. NSSCKFWMutex *mutex);
  375. /*
  376. * NSSCKFWMutex_Unlock
  377. *
  378. */
  379. NSS_EXTERN CK_RV
  380. NSSCKFWMutex_Unlock(
  381. NSSCKFWMutex *mutex);
  382. #endif /* NSSCKFW_H */