ifapi.3 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. .TH "ifapi" 3 "Fri Oct 7 2022" "Version 3.2.0" "tpm2-tss" \" -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. ifapi
  6. .SH SYNOPSIS
  7. .br
  8. .PP
  9. .SS "Modules"
  10. .in +1c
  11. .ti -1c
  12. .RI "\fBInternal Cryptographic Backend\fP"
  13. .br
  14. .ti -1c
  15. .RI "\fBPolicy instantiation module\fP"
  16. .br
  17. .ti -1c
  18. .RI "\fBPolicy calculation module\fP"
  19. .br
  20. .ti -1c
  21. .RI "\fBPolicy callback functions\&.\fP"
  22. .br
  23. .ti -1c
  24. .RI "\fBPolicy execution functions\&.\fP"
  25. .br
  26. .ti -1c
  27. .RI "\fBPolicy utilitiy module\fP"
  28. .br
  29. .ti -1c
  30. .RI "\fBHelper functions module\fP"
  31. .br
  32. .ti -1c
  33. .RI "\fBUtility module\fP"
  34. .br
  35. .ti -1c
  36. .RI "\fBBasic IO module\fP"
  37. .br
  38. .ti -1c
  39. .RI "\fBKey store module\fP"
  40. .br
  41. .ti -1c
  42. .RI "\fBPolicy store module\fP"
  43. .br
  44. .ti -1c
  45. .RI "\fBConfiguration utilities\&.\fP"
  46. .br
  47. .ti -1c
  48. .RI "\fBEvent log utilities\&.\fP"
  49. .br
  50. .ti -1c
  51. .RI "\fBProfile module\fP"
  52. .br
  53. .ti -1c
  54. .RI "\fBFAPI object serialization module\fP"
  55. .br
  56. .ti -1c
  57. .RI "\fBFAPI object deserialization module\fP"
  58. .br
  59. .ti -1c
  60. .RI "\fBVendor specific module\fP"
  61. .br
  62. .in -1c
  63. .SH "Detailed Description"
  64. .PP
  65. This module holds internal APIs of the FAPI implementation\&.
  66. .PP
  67. Async programming style:
  68. .PP
  69. The tss2-fapi implementation uses an asynchronous programming style internally\&. This means that whenever a piece of code performs a potentially blocking operation it will instead return TSS2_FAPI_RC_TRY_AGAIN (similarly to ESAPI)\&. Then this function is called again once the Poll returns ok\&. In order to carry the state of execution information over between the different invocation of the same function, the current state is stored in a state variable and all variables are stored in some kind of context variables\&. On the next entry to the function the state is evaluated using a swtich() statement and execution is resumed\&.
  70. .PP
  71. In order to understand the functional flow of code in FAPI, one can read the functions continuously over all fallthrough; and statecase(); statements\&. The statecase statements are the re-entry points of each function\&. The return_try_again() and FAPI_SYNC() statements are the preempt statements\&.
  72. .SH "Author"
  73. .PP
  74. Generated automatically by Doxygen for tpm2-tss from the source code\&.