1.. _mozilla_projects_nss_reference_fc_getfunctionlist:
2
3FC_GetFunctionList
4==================
5
6`Name <#name>`__
7~~~~~~~~~~~~~~~~
8
9.. container::
10
11   FC_GetFunctionList - get a pointer to the list of function pointers in the FIPS mode of
12   operation.
13
14`Syntax <#syntax>`__
15~~~~~~~~~~~~~~~~~~~~
16
17.. container::
18
19   .. code:: eval
20
21      CK_RV FC_GetFunctionList(CK_FUNCTION_LIST_PTR *ppFunctionList);
22
23`Parameters <#parameters>`__
24~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26.. container::
27
28   ``FC_GetFunctionList`` has one parameter:
29
30   ``ppFunctionList``
31      [Output] The address of a variable that will receive a pointer to the list of function
32      pointers.
33
34`Description <#description>`__
35~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
37.. container::
38
39   ``FC_GetFunctionList`` stores in ``*ppFunctionList`` a pointer to the
40   :ref:`mozilla_projects_nss_reference_nss_cryptographic_module`'s list of function pointers in the
41   :ref:`mozilla_projects_nss_reference_nss_cryptographic_module_fips_mode_of_operation`.
42
43   A user may call ``FC_GetFunctionList`` without logging into the token (to assume the NSS User
44   role).
45
46.. _return_value:
47
48`Return value <#return_value>`__
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51.. container::
52
53   ``FC_GetFunctionList`` always returns ``CKR_OK``.
54
55`Examples <#examples>`__
56~~~~~~~~~~~~~~~~~~~~~~~~
57
58.. container::
59
60   .. code:: eval
61
62      #include <assert.h>
63
64      CK_FUNCTION_LIST_PTR pFunctionList;
65      CK_RV crv;
66
67      crv = FC_GetFunctionList(&pFunctionList);
68      assert(crv == CKR_OK);
69
70      /* invoke the FC_XXX function as pFunctionList->C_XXX */
71
72.. _see_also:
73
74`See also <#see_also>`__
75~~~~~~~~~~~~~~~~~~~~~~~~
76
77.. container::
78
79   -  `NSC_GetFunctionList </en-US/NSC_GetFunctionList>`__