~ubuntu-branches/ubuntu/lucid/seamonkey/lucid-security

« back to all changes in this revision

Viewing changes to security/nss-fips/lib/ckfw/ckfw.h

  • Committer: Bazaar Package Importer
  • Author(s): Fabien Tassin
  • Date: 2008-07-29 21:29:02 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080729212902-spm9kpvchp9udwbw
Tags: 1.1.11+nobinonly-0ubuntu1
* New security upstream release: 1.1.11 (LP: #218534)
  Fixes USN-602-1, USN-619-1, USN-623-1 and USN-629-1
* Refresh diverged patch:
  - update debian/patches/80_security_build.patch
* Fix FTBFS with missing -lfontconfig
  - add debian/patches/11_fix_ftbfs_with_fontconfig.patch
  - update debian/patches/series
* Build with default gcc (hardy: 4.2, intrepid: 4.3)
  - update debian/rules
  - update debian/control

Show diffs side-by-side

added added

removed removed

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