summaryrefslogtreecommitdiffstats
path: root/security/nss/doc/rst/legacy/reference/fc_finalize/index.rst
blob: a6bf07b87f6438e312e5779eb9833039fd9a0d6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
.. _mozilla_projects_nss_reference_fc_finalize:

FC_Finalize
===========

`Name <#name>`__
~~~~~~~~~~~~~~~~

.. container::

   FC_Finalize - indicate that an application is done with the PKCS #11 library.

`Syntax <#syntax>`__
~~~~~~~~~~~~~~~~~~~~

.. container::

   .. code::

      CK_RV FC_Finalize (CK_VOID_PTR pReserved);

`Parameters <#parameters>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. container::

   ``FC_Finalize`` has one parameter:

   ``pReserved``
      must be ``NULL``

`Description <#description>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. container::

   ``FC_Finalize`` shuts down the :ref:`mozilla_projects_nss_reference_nss_cryptographic_module` in
   the :ref:`mozilla_projects_nss_reference_nss_cryptographic_module_fips_mode_of_operation`. If the
   library is not initialized, it does nothing.

   The ``pReserved`` argument is not used and must be ``NULL``.

.. _return_value:

`Return value <#return_value>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. container::

   ``FC_Finalize`` always returns ``CKR_OK``.

   .. note::

      ``FC_Finalize`` should check the ``pReserved`` argument and return ``CKR_ARGUMENTS_BAD`` if
      ``pReserved`` is not ``NULL``.

      ``FC_Finalize`` should return ``CKR_CRYPTOKI_NOT_INITIALIZED`` if the library is not
      initialized.

`Examples <#examples>`__
~~~~~~~~~~~~~~~~~~~~~~~~

.. container::

   .. code::

      #include <assert.h>

      CK_FUNCTION_LIST_PTR pFunctionList;
      CK_RV crv;

      crv = FC_GetFunctionList(&pFunctionList);
      assert(crv == CKR_OK);

      ...

      /* invoke FC_Finalize as pFunctionList->C_Finalize */
      crv = pFunctionList->C_Finalize(NULL);

.. _see_also:

`See also <#see_also>`__
~~~~~~~~~~~~~~~~~~~~~~~~

.. container::

   -  :ref:`mozilla_projects_nss_reference_fc_initialize`,
      `NSC_Initialize </en-US/NSC_Initialize>`__, `NSC_Finalize </en-US/NSC_Finalize>`__