Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Side by Side Diff: nss/lib/dev/dev.h

Issue 2078763002: Delete bundled copy of NSS and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss@master
Patch Set: Delete bundled copy of NSS and replace with README. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « nss/lib/dev/ckhelper.c ('k') | nss/lib/dev/devm.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
5 #ifndef DEV_H
6 #define DEV_H
7
8 /*
9 * dev.h
10 *
11 * Low-level methods for interaction with cryptoki devices
12 */
13
14 #ifndef NSSDEV_H
15 #include "nssdev.h"
16 #endif /* NSSDEV_H */
17
18 #ifndef DEVT_H
19 #include "devt.h"
20 #endif /* DEVT_H */
21
22 PR_BEGIN_EXTERN_C
23
24 /* the global module list
25 *
26 * These functions are for managing the global set of modules. Trust Domains,
27 * etc., will draw from this set. These functions are completely internal
28 * and only invoked when there are changes to the global module state
29 * (load or unload).
30 *
31 * nss_InitializeGlobalModuleList
32 * nss_DestroyGlobalModuleList
33 * nss_GetLoadedModules
34 *
35 * nssGlobalModuleList_Add
36 * nssGlobalModuleList_Remove
37 * nssGlobalModuleList_FindModuleByName
38 * nssGlobalModuleList_FindSlotByName
39 * nssGlobalModuleList_FindTokenByName
40 */
41
42 NSS_EXTERN PRStatus
43 nss_InitializeGlobalModuleList(
44 void);
45
46 NSS_EXTERN PRStatus
47 nss_DestroyGlobalModuleList(
48 void);
49
50 NSS_EXTERN NSSModule **
51 nss_GetLoadedModules(
52 void);
53
54 NSS_EXTERN PRStatus
55 nssGlobalModuleList_Add(
56 NSSModule *module);
57
58 NSS_EXTERN PRStatus
59 nssGlobalModuleList_Remove(
60 NSSModule *module);
61
62 NSS_EXTERN NSSModule *
63 nssGlobalModuleList_FindModuleByName(
64 NSSUTF8 *moduleName);
65
66 NSS_EXTERN NSSSlot *
67 nssGlobalModuleList_FindSlotByName(
68 NSSUTF8 *slotName);
69
70 NSS_EXTERN NSSToken *
71 nssGlobalModuleList_FindTokenByName(
72 NSSUTF8 *tokenName);
73
74 NSS_EXTERN NSSToken *
75 nss_GetDefaultCryptoToken(
76 void);
77
78 NSS_EXTERN NSSToken *
79 nss_GetDefaultDatabaseToken(
80 void);
81
82 /*
83 * |-----------|<---> NSSSlot <--> NSSToken
84 * | NSSModule |<---> NSSSlot <--> NSSToken
85 * |-----------|<---> NSSSlot <--> NSSToken
86 */
87
88 /* NSSModule
89 *
90 * nssModule_Create
91 * nssModule_CreateFromSpec
92 * nssModule_AddRef
93 * nssModule_GetName
94 * nssModule_GetSlots
95 * nssModule_FindSlotByName
96 * nssModule_FindTokenByName
97 * nssModule_GetCertOrder
98 */
99
100 NSS_EXTERN NSSModule *
101 nssModule_Create(
102 NSSUTF8 *moduleOpt,
103 NSSUTF8 *uriOpt,
104 NSSUTF8 *opaqueOpt,
105 void *reserved);
106
107 /* This is to use the new loading mechanism. */
108 NSS_EXTERN NSSModule *
109 nssModule_CreateFromSpec(
110 NSSUTF8 *moduleSpec,
111 NSSModule *parent,
112 PRBool loadSubModules);
113
114 NSS_EXTERN PRStatus
115 nssModule_Destroy(
116 NSSModule *mod);
117
118 NSS_EXTERN NSSModule *
119 nssModule_AddRef(
120 NSSModule *mod);
121
122 NSS_EXTERN NSSUTF8 *
123 nssModule_GetName(
124 NSSModule *mod);
125
126 NSS_EXTERN NSSSlot **
127 nssModule_GetSlots(
128 NSSModule *mod);
129
130 NSS_EXTERN NSSSlot *
131 nssModule_FindSlotByName(
132 NSSModule *mod,
133 NSSUTF8 *slotName);
134
135 NSS_EXTERN NSSToken *
136 nssModule_FindTokenByName(
137 NSSModule *mod,
138 NSSUTF8 *tokenName);
139
140 NSS_EXTERN PRInt32
141 nssModule_GetCertOrder(
142 NSSModule *module);
143
144 /* NSSSlot
145 *
146 * nssSlot_Destroy
147 * nssSlot_AddRef
148 * nssSlot_GetName
149 * nssSlot_GetTokenName
150 * nssSlot_IsTokenPresent
151 * nssSlot_IsPermanent
152 * nssSlot_IsFriendly
153 * nssSlot_IsHardware
154 * nssSlot_Refresh
155 * nssSlot_GetModule
156 * nssSlot_GetToken
157 * nssSlot_Login
158 * nssSlot_Logout
159 * nssSlot_SetPassword
160 * nssSlot_CreateSession
161 */
162
163 NSS_EXTERN PRStatus
164 nssSlot_Destroy(
165 NSSSlot *slot);
166
167 NSS_EXTERN NSSSlot *
168 nssSlot_AddRef(
169 NSSSlot *slot);
170
171 NSS_EXTERN void
172 nssSlot_ResetDelay(
173 NSSSlot *slot);
174
175 NSS_EXTERN NSSUTF8 *
176 nssSlot_GetName(
177 NSSSlot *slot);
178
179 NSS_EXTERN NSSUTF8 *
180 nssSlot_GetTokenName(
181 NSSSlot *slot);
182
183 NSS_EXTERN NSSModule *
184 nssSlot_GetModule(
185 NSSSlot *slot);
186
187 NSS_EXTERN NSSToken *
188 nssSlot_GetToken(
189 NSSSlot *slot);
190
191 NSS_EXTERN PRBool
192 nssSlot_IsTokenPresent(
193 NSSSlot *slot);
194
195 NSS_EXTERN PRBool
196 nssSlot_IsPermanent(
197 NSSSlot *slot);
198
199 NSS_EXTERN PRBool
200 nssSlot_IsFriendly(
201 NSSSlot *slot);
202
203 NSS_EXTERN PRBool
204 nssSlot_IsHardware(
205 NSSSlot *slot);
206
207 NSS_EXTERN PRBool
208 nssSlot_IsLoggedIn(
209 NSSSlot *slot);
210
211 NSS_EXTERN PRStatus
212 nssSlot_Refresh(
213 NSSSlot *slot);
214
215 NSS_EXTERN PRStatus
216 nssSlot_Login(
217 NSSSlot *slot,
218 NSSCallback *pwcb);
219 extern const NSSError NSS_ERROR_INVALID_PASSWORD;
220 extern const NSSError NSS_ERROR_USER_CANCELED;
221
222 NSS_EXTERN PRStatus
223 nssSlot_Logout(
224 NSSSlot *slot,
225 nssSession *sessionOpt);
226
227 NSS_EXTERN void
228 nssSlot_EnterMonitor(
229 NSSSlot *slot);
230
231 NSS_EXTERN void
232 nssSlot_ExitMonitor(
233 NSSSlot *slot);
234
235 #define NSSSLOT_ASK_PASSWORD_FIRST_TIME -1
236 #define NSSSLOT_ASK_PASSWORD_EVERY_TIME 0
237 NSS_EXTERN void
238 nssSlot_SetPasswordDefaults(
239 NSSSlot *slot,
240 PRInt32 askPasswordTimeout);
241
242 NSS_EXTERN PRStatus
243 nssSlot_SetPassword(
244 NSSSlot *slot,
245 NSSUTF8 *oldPasswordOpt,
246 NSSUTF8 *newPassword);
247 extern const NSSError NSS_ERROR_INVALID_PASSWORD;
248 extern const NSSError NSS_ERROR_USER_CANCELED;
249
250 /*
251 * nssSlot_IsLoggedIn
252 */
253
254 NSS_EXTERN nssSession *
255 nssSlot_CreateSession(
256 NSSSlot *slot,
257 NSSArena *arenaOpt,
258 PRBool readWrite /* so far, this is the only flag used */
259 );
260
261 /* NSSToken
262 *
263 * nssToken_Destroy
264 * nssToken_AddRef
265 * nssToken_GetName
266 * nssToken_GetModule
267 * nssToken_GetSlot
268 * nssToken_NeedsPINInitialization
269 * nssToken_ImportCertificate
270 * nssToken_ImportTrust
271 * nssToken_ImportCRL
272 * nssToken_GenerateKeyPair
273 * nssToken_GenerateSymmetricKey
274 * nssToken_DeleteStoredObject
275 * nssToken_FindObjects
276 * nssToken_FindCertificatesBySubject
277 * nssToken_FindCertificatesByNickname
278 * nssToken_FindCertificatesByEmail
279 * nssToken_FindCertificateByIssuerAndSerialNumber
280 * nssToken_FindCertificateByEncodedCertificate
281 * nssToken_FindTrustForCertificate
282 * nssToken_FindCRLsBySubject
283 * nssToken_FindPrivateKeys
284 * nssToken_FindPrivateKeyByID
285 * nssToken_Digest
286 * nssToken_BeginDigest
287 * nssToken_ContinueDigest
288 * nssToken_FinishDigest
289 */
290
291 NSS_EXTERN PRStatus
292 nssToken_Destroy(
293 NSSToken *tok);
294
295 NSS_EXTERN NSSToken *
296 nssToken_AddRef(
297 NSSToken *tok);
298
299 NSS_EXTERN NSSUTF8 *
300 nssToken_GetName(
301 NSSToken *tok);
302
303 NSS_EXTERN NSSModule *
304 nssToken_GetModule(
305 NSSToken *token);
306
307 NSS_EXTERN NSSSlot *
308 nssToken_GetSlot(
309 NSSToken *tok);
310
311 NSS_EXTERN PRBool
312 nssToken_NeedsPINInitialization(
313 NSSToken *token);
314
315 NSS_EXTERN nssCryptokiObject *
316 nssToken_ImportCertificate(
317 NSSToken *tok,
318 nssSession *sessionOpt,
319 NSSCertificateType certType,
320 NSSItem *id,
321 const NSSUTF8 *nickname,
322 NSSDER *encoding,
323 NSSDER *issuer,
324 NSSDER *subject,
325 NSSDER *serial,
326 NSSASCII7 *emailAddr,
327 PRBool asTokenObject);
328
329 NSS_EXTERN nssCryptokiObject *
330 nssToken_ImportTrust(
331 NSSToken *tok,
332 nssSession *sessionOpt,
333 NSSDER *certEncoding,
334 NSSDER *certIssuer,
335 NSSDER *certSerial,
336 nssTrustLevel serverAuth,
337 nssTrustLevel clientAuth,
338 nssTrustLevel codeSigning,
339 nssTrustLevel emailProtection,
340 PRBool stepUpApproved,
341 PRBool asTokenObject);
342
343 NSS_EXTERN nssCryptokiObject *
344 nssToken_ImportCRL(
345 NSSToken *token,
346 nssSession *sessionOpt,
347 NSSDER *subject,
348 NSSDER *encoding,
349 PRBool isKRL,
350 NSSUTF8 *url,
351 PRBool asTokenObject);
352
353 /* Permanently remove an object from the token. */
354 NSS_EXTERN PRStatus
355 nssToken_DeleteStoredObject(
356 nssCryptokiObject *instance);
357
358 NSS_EXTERN nssCryptokiObject **
359 nssToken_FindObjects(
360 NSSToken *token,
361 nssSession *sessionOpt,
362 CK_OBJECT_CLASS objclass,
363 nssTokenSearchType searchType,
364 PRUint32 maximumOpt,
365 PRStatus *statusOpt);
366
367 NSS_EXTERN nssCryptokiObject **
368 nssToken_FindCertificatesBySubject(
369 NSSToken *token,
370 nssSession *sessionOpt,
371 NSSDER *subject,
372 nssTokenSearchType searchType,
373 PRUint32 maximumOpt,
374 PRStatus *statusOpt);
375
376 NSS_EXTERN nssCryptokiObject **
377 nssToken_FindCertificatesByNickname(
378 NSSToken *token,
379 nssSession *sessionOpt,
380 const NSSUTF8 *name,
381 nssTokenSearchType searchType,
382 PRUint32 maximumOpt,
383 PRStatus *statusOpt);
384
385 NSS_EXTERN nssCryptokiObject **
386 nssToken_FindCertificatesByEmail(
387 NSSToken *token,
388 nssSession *sessionOpt,
389 NSSASCII7 *email,
390 nssTokenSearchType searchType,
391 PRUint32 maximumOpt,
392 PRStatus *statusOpt);
393
394 NSS_EXTERN nssCryptokiObject **
395 nssToken_FindCertificatesByID(
396 NSSToken *token,
397 nssSession *sessionOpt,
398 NSSItem *id,
399 nssTokenSearchType searchType,
400 PRUint32 maximumOpt,
401 PRStatus *statusOpt);
402
403 NSS_EXTERN nssCryptokiObject *
404 nssToken_FindCertificateByIssuerAndSerialNumber(
405 NSSToken *token,
406 nssSession *sessionOpt,
407 NSSDER *issuer,
408 NSSDER *serial,
409 nssTokenSearchType searchType,
410 PRStatus *statusOpt);
411
412 NSS_EXTERN nssCryptokiObject *
413 nssToken_FindCertificateByEncodedCertificate(
414 NSSToken *token,
415 nssSession *sessionOpt,
416 NSSBER *encodedCertificate,
417 nssTokenSearchType searchType,
418 PRStatus *statusOpt);
419
420 NSS_EXTERN nssCryptokiObject *
421 nssToken_FindTrustForCertificate(
422 NSSToken *token,
423 nssSession *sessionOpt,
424 NSSDER *certEncoding,
425 NSSDER *certIssuer,
426 NSSDER *certSerial,
427 nssTokenSearchType searchType);
428
429 NSS_EXTERN nssCryptokiObject **
430 nssToken_FindCRLsBySubject(
431 NSSToken *token,
432 nssSession *sessionOpt,
433 NSSDER *subject,
434 nssTokenSearchType searchType,
435 PRUint32 maximumOpt,
436 PRStatus *statusOpt);
437
438 NSS_EXTERN nssCryptokiObject **
439 nssToken_FindPrivateKeys(
440 NSSToken *token,
441 nssSession *sessionOpt,
442 nssTokenSearchType searchType,
443 PRUint32 maximumOpt,
444 PRStatus *statusOpt);
445
446 NSS_EXTERN nssCryptokiObject *
447 nssToken_FindPrivateKeyByID(
448 NSSToken *token,
449 nssSession *sessionOpt,
450 NSSItem *keyID);
451
452 NSS_EXTERN nssCryptokiObject *
453 nssToken_FindPublicKeyByID(
454 NSSToken *token,
455 nssSession *sessionOpt,
456 NSSItem *keyID);
457
458 NSS_EXTERN NSSItem *
459 nssToken_Digest(
460 NSSToken *tok,
461 nssSession *sessionOpt,
462 NSSAlgorithmAndParameters *ap,
463 NSSItem *data,
464 NSSItem *rvOpt,
465 NSSArena *arenaOpt);
466
467 NSS_EXTERN PRStatus
468 nssToken_BeginDigest(
469 NSSToken *tok,
470 nssSession *sessionOpt,
471 NSSAlgorithmAndParameters *ap);
472
473 NSS_EXTERN PRStatus
474 nssToken_ContinueDigest(
475 NSSToken *tok,
476 nssSession *sessionOpt,
477 NSSItem *item);
478
479 NSS_EXTERN NSSItem *
480 nssToken_FinishDigest(
481 NSSToken *tok,
482 nssSession *sessionOpt,
483 NSSItem *rvOpt,
484 NSSArena *arenaOpt);
485
486 /* nssSession
487 *
488 * nssSession_Destroy
489 * nssSession_EnterMonitor
490 * nssSession_ExitMonitor
491 * nssSession_IsReadWrite
492 */
493
494 NSS_EXTERN PRStatus
495 nssSession_Destroy(
496 nssSession *s);
497
498 /* would like to inline */
499 NSS_EXTERN PRStatus
500 nssSession_EnterMonitor(
501 nssSession *s);
502
503 /* would like to inline */
504 NSS_EXTERN PRStatus
505 nssSession_ExitMonitor(
506 nssSession *s);
507
508 /* would like to inline */
509 NSS_EXTERN PRBool
510 nssSession_IsReadWrite(
511 nssSession *s);
512
513 /* nssCryptokiObject
514 *
515 * An object living on a cryptoki token.
516 * Not really proper to mix up the object types just because
517 * nssCryptokiObject itself is generic, but doing so anyway.
518 *
519 * nssCryptokiObject_Destroy
520 * nssCryptokiObject_Equal
521 * nssCryptokiObject_Clone
522 * nssCryptokiCertificate_GetAttributes
523 * nssCryptokiPrivateKey_GetAttributes
524 * nssCryptokiPublicKey_GetAttributes
525 * nssCryptokiTrust_GetAttributes
526 * nssCryptokiCRL_GetAttributes
527 */
528
529 NSS_EXTERN void
530 nssCryptokiObject_Destroy(
531 nssCryptokiObject *object);
532
533 NSS_EXTERN PRBool
534 nssCryptokiObject_Equal(
535 nssCryptokiObject *object1,
536 nssCryptokiObject *object2);
537
538 NSS_EXTERN nssCryptokiObject *
539 nssCryptokiObject_Clone(
540 nssCryptokiObject *object);
541
542 NSS_EXTERN PRStatus
543 nssCryptokiCertificate_GetAttributes(
544 nssCryptokiObject *object,
545 nssSession *sessionOpt,
546 NSSArena *arenaOpt,
547 NSSCertificateType *certTypeOpt,
548 NSSItem *idOpt,
549 NSSDER *encodingOpt,
550 NSSDER *issuerOpt,
551 NSSDER *serialOpt,
552 NSSDER *subjectOpt);
553
554 NSS_EXTERN PRStatus
555 nssCryptokiTrust_GetAttributes(
556 nssCryptokiObject *trustObject,
557 nssSession *sessionOpt,
558 NSSItem *sha1_hash,
559 nssTrustLevel *serverAuth,
560 nssTrustLevel *clientAuth,
561 nssTrustLevel *codeSigning,
562 nssTrustLevel *emailProtection,
563 PRBool *stepUpApproved);
564
565 NSS_EXTERN PRStatus
566 nssCryptokiCRL_GetAttributes(
567 nssCryptokiObject *crlObject,
568 nssSession *sessionOpt,
569 NSSArena *arenaOpt,
570 NSSItem *encodingOpt,
571 NSSItem *subjectOpt,
572 CK_ULONG *crl_class,
573 NSSUTF8 **urlOpt,
574 PRBool *isKRLOpt);
575
576 /* I'm including this to handle import of certificates in NSS 3.5. This
577 * function will set the cert-related attributes of a key, in order to
578 * associate it with a cert. Does it stay like this for 4.0?
579 */
580 NSS_EXTERN PRStatus
581 nssCryptokiPrivateKey_SetCertificate(
582 nssCryptokiObject *keyObject,
583 nssSession *sessionOpt,
584 const NSSUTF8 *nickname,
585 NSSItem *id,
586 NSSDER *subject);
587
588 NSS_EXTERN void
589 nssModuleArray_Destroy(
590 NSSModule **modules);
591
592 /* nssSlotArray
593 *
594 * nssSlotArray_Destroy
595 */
596
597 NSS_EXTERN void
598 nssSlotArray_Destroy(
599 NSSSlot **slots);
600
601 /* nssTokenArray
602 *
603 * nssTokenArray_Destroy
604 */
605
606 NSS_EXTERN void
607 nssTokenArray_Destroy(
608 NSSToken **tokens);
609
610 /* nssCryptokiObjectArray
611 *
612 * nssCryptokiObjectArray_Destroy
613 */
614 NSS_EXTERN void
615 nssCryptokiObjectArray_Destroy(
616 nssCryptokiObject **object);
617
618 /* nssSlotList
619 *
620 * An ordered list of slots. The order can be anything, it is set in the
621 * Add methods. Perhaps it should be CreateInCertOrder, ...?
622 *
623 * nssSlotList_Create
624 * nssSlotList_Destroy
625 * nssSlotList_Add
626 * nssSlotList_AddModuleSlots
627 * nssSlotList_GetSlots
628 * nssSlotList_FindSlotByName
629 * nssSlotList_FindTokenByName
630 * nssSlotList_GetBestSlot
631 * nssSlotList_GetBestSlotForAlgorithmAndParameters
632 * nssSlotList_GetBestSlotForAlgorithmsAndParameters
633 */
634
635 /* nssSlotList_Create
636 */
637 NSS_EXTERN nssSlotList *
638 nssSlotList_Create(
639 NSSArena *arenaOpt);
640
641 /* nssSlotList_Destroy
642 */
643 NSS_EXTERN void
644 nssSlotList_Destroy(
645 nssSlotList *slotList);
646
647 /* nssSlotList_Add
648 *
649 * Add the given slot in the given order.
650 */
651 NSS_EXTERN PRStatus
652 nssSlotList_Add(
653 nssSlotList *slotList,
654 NSSSlot *slot,
655 PRUint32 order);
656
657 /* nssSlotList_AddModuleSlots
658 *
659 * Add all slots in the module, in the given order (the slots will have
660 * equal weight).
661 */
662 NSS_EXTERN PRStatus
663 nssSlotList_AddModuleSlots(
664 nssSlotList *slotList,
665 NSSModule *module,
666 PRUint32 order);
667
668 /* nssSlotList_GetSlots
669 */
670 NSS_EXTERN NSSSlot **
671 nssSlotList_GetSlots(
672 nssSlotList *slotList);
673
674 /* nssSlotList_FindSlotByName
675 */
676 NSS_EXTERN NSSSlot *
677 nssSlotList_FindSlotByName(
678 nssSlotList *slotList,
679 NSSUTF8 *slotName);
680
681 /* nssSlotList_FindTokenByName
682 */
683 NSS_EXTERN NSSToken *
684 nssSlotList_FindTokenByName(
685 nssSlotList *slotList,
686 NSSUTF8 *tokenName);
687
688 /* nssSlotList_GetBestSlot
689 *
690 * The best slot is the highest ranking in order, i.e., the first in the
691 * list.
692 */
693 NSS_EXTERN NSSSlot *
694 nssSlotList_GetBestSlot(
695 nssSlotList *slotList);
696
697 /* nssSlotList_GetBestSlotForAlgorithmAndParameters
698 *
699 * Highest-ranking slot than can handle algorithm/parameters.
700 */
701 NSS_EXTERN NSSSlot *
702 nssSlotList_GetBestSlotForAlgorithmAndParameters(
703 nssSlotList *slotList,
704 NSSAlgorithmAndParameters *ap);
705
706 /* nssSlotList_GetBestSlotForAlgorithmsAndParameters
707 *
708 * Highest-ranking slot than can handle all algorithms/parameters.
709 */
710 NSS_EXTERN NSSSlot *
711 nssSlotList_GetBestSlotForAlgorithmsAndParameters(
712 nssSlotList *slotList,
713 NSSAlgorithmAndParameters **ap);
714
715 NSS_EXTERN PRBool
716 nssToken_IsPresent(
717 NSSToken *token);
718
719 NSS_EXTERN nssSession *
720 nssToken_GetDefaultSession(
721 NSSToken *token);
722
723 NSS_EXTERN PRStatus
724 nssToken_GetTrustOrder(
725 NSSToken *tok);
726
727 NSS_EXTERN PRStatus
728 nssToken_NotifyCertsNotVisible(
729 NSSToken *tok);
730
731 NSS_EXTERN PRStatus
732 nssToken_TraverseCertificates(
733 NSSToken *token,
734 nssSession *sessionOpt,
735 nssTokenSearchType searchType,
736 PRStatus (*callback)(nssCryptokiObject *instance, void *arg),
737 void *arg);
738
739 NSS_EXTERN PRBool
740 nssToken_IsPrivateKeyAvailable(
741 NSSToken *token,
742 NSSCertificate *c,
743 nssCryptokiObject *instance);
744
745 PR_END_EXTERN_C
746
747 #endif /* DEV_H */
OLDNEW
« no previous file with comments | « nss/lib/dev/ckhelper.c ('k') | nss/lib/dev/devm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698