Fapi_NvRead.3 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. .TH "Fapi_NvRead" 3 "Fri Oct 7 2022" "Version 3.2.0" "tpm2-tss" \" -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. Fapi_NvRead
  6. .SH SYNOPSIS
  7. .br
  8. .PP
  9. .SS "Functions"
  10. .in +1c
  11. .ti -1c
  12. .RI "TSS2_RC \fBFapi_NvRead\fP (\fBFAPI_CONTEXT\fP *context, char const *path, uint8_t **data, size_t *size, char **logData)"
  13. .br
  14. .ti -1c
  15. .RI "TSS2_RC \fBFapi_NvRead_Async\fP (\fBFAPI_CONTEXT\fP *context, char const *path)"
  16. .br
  17. .ti -1c
  18. .RI "TSS2_RC \fBFapi_NvRead_Finish\fP (\fBFAPI_CONTEXT\fP *context, uint8_t **data, size_t *size, char **logData)"
  19. .br
  20. .in -1c
  21. .SH "Detailed Description"
  22. .PP
  23. FAPI functions to invoke NvRead either as one-call or in an asynchronous manner\&.
  24. .SH "Function Documentation"
  25. .PP
  26. .SS "TSS2_RC Fapi_NvRead (\fBFAPI_CONTEXT\fP * context, char const * nvPath, uint8_t ** data, size_t * size, char ** logData)"
  27. One-Call function for Fapi_NvRead
  28. .PP
  29. Reads data from an NV index within the TPM\&. The FAPI will automatically do the multiple reads if the NV index is larger than the TPM's TPM2_MAX_NV_BUFFER_SIZE\&.
  30. .PP
  31. \fBParameters:\fP
  32. .RS 4
  33. \fIcontext\fP The \fBFAPI_CONTEXT\fP
  34. .br
  35. \fInvPath\fP The path of the NV index to read
  36. .br
  37. \fIdata\fP The data that was read from the NV index
  38. .br
  39. \fIsize\fP The size of data in bytes\&. May be NULL
  40. .br
  41. \fIlogData\fP The log data of the NV index if the index is of type 'extend'\&. May be NULL
  42. .RE
  43. .PP
  44. \fBReturn values:\fP
  45. .RS 4
  46. \fITSS2_RC_SUCCESS\fP if the function call was a success\&.
  47. .br
  48. \fITSS2_FAPI_RC_BAD_REFERENCE\fP if context, nvPath or data is NULL\&.
  49. .br
  50. \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&.
  51. .br
  52. \fITSS2_FAPI_RC_BAD_PATH\fP if nvPath is not found\&.
  53. .br
  54. \fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if authorization fails\&.
  55. .br
  56. \fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if don't know how to authenticate\&.
  57. .br
  58. \fITSS2_FAPI_RC_NV_NOT_READABLE\fP if the NV is not a readable index\&.
  59. .br
  60. \fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&.
  61. .br
  62. \fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&.
  63. .br
  64. \fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&.
  65. .br
  66. \fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&.
  67. .br
  68. \fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&.
  69. .br
  70. \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if a key was not found\&.
  71. .br
  72. \fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&.
  73. .br
  74. \fITSS2_FAPI_RC_TRY_AGAIN\fP if an I/O operation is not finished yet and this function needs to be called again\&.
  75. .br
  76. \fITSS2_FAPI_RC_GENERAL_FAILURE\fP if an internal error occurred\&.
  77. .br
  78. \fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if policy search for a certain policy digest was not successful\&.
  79. .br
  80. \fITSS2_ESYS_RC_*\fP possible error codes of ESAPI\&.
  81. .br
  82. \fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&.
  83. .RE
  84. .PP
  85. .SS "TSS2_RC Fapi_NvRead_Async (\fBFAPI_CONTEXT\fP * context, char const * nvPath)"
  86. Asynchronous function for Fapi_NvRead
  87. .PP
  88. Reads data from an NV index within the TPM\&. The FAPI will automatically do the multiple reads if the NV index is larger than the TPM's TPM2_MAX_NV_BUFFER_SIZE\&.
  89. .PP
  90. Call Fapi_NvRead_Finish to finish the execution of this command\&.
  91. .PP
  92. \fBParameters:\fP
  93. .RS 4
  94. \fIcontext\fP The \fBFAPI_CONTEXT\fP
  95. .br
  96. \fInvPath\fP The path of the NV index to read
  97. .RE
  98. .PP
  99. \fBReturn values:\fP
  100. .RS 4
  101. \fITSS2_RC_SUCCESS\fP if the function call was a success\&.
  102. .br
  103. \fITSS2_FAPI_RC_BAD_REFERENCE\fP if context or nvPath is NULL\&. *
  104. .br
  105. \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&.
  106. .br
  107. \fITSS2_FAPI_RC_BAD_PATH\fP if nvPath is not found\&.
  108. .br
  109. \fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if authorization fails\&.
  110. .br
  111. \fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if don't know how to authenticate\&.
  112. .br
  113. \fITSS2_FAPI_RC_NV_NOT_READABLE\fP if the NV is not a readable index\&.
  114. .br
  115. \fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&.
  116. .br
  117. \fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&.
  118. .br
  119. \fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&.
  120. .br
  121. \fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&.
  122. .br
  123. \fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&.
  124. .br
  125. \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if a key was not found\&.
  126. .br
  127. \fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&.
  128. .br
  129. \fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&.
  130. .RE
  131. .PP
  132. .SS "TSS2_RC Fapi_NvRead_Finish (\fBFAPI_CONTEXT\fP * context, uint8_t ** data, size_t * size, char ** logData)"
  133. Asynchronous finish function for Fapi_NvRead
  134. .PP
  135. This function should be called after a previous Fapi_NvRead_Async\&.
  136. .PP
  137. \fBParameters:\fP
  138. .RS 4
  139. \fIcontext\fP The \fBFAPI_CONTEXT\fP
  140. .br
  141. \fIdata\fP The data that was read from the NV index
  142. .br
  143. \fIsize\fP The size of data in bytes\&. May be NULL
  144. .br
  145. \fIlogData\fP The log data of the NV index if the index is of type 'extend'\&. May be NULL
  146. .RE
  147. .PP
  148. \fBReturn values:\fP
  149. .RS 4
  150. \fITSS2_RC_SUCCESS\fP if the function call was a success\&.
  151. .br
  152. \fITSS2_FAPI_RC_BAD_REFERENCE\fP if context or data is NULL\&.
  153. .br
  154. \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&.
  155. .br
  156. \fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&.
  157. .br
  158. \fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&.
  159. .br
  160. \fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&.
  161. .br
  162. \fITSS2_FAPI_RC_TRY_AGAIN\fP if the asynchronous operation is not yet complete\&. Call this function again later\&.
  163. .br
  164. \fITSS2_FAPI_RC_BAD_PATH\fP if a path is used in inappropriate context or contains illegal characters\&.
  165. .br
  166. \fITSS2_FAPI_RC_GENERAL_FAILURE\fP if an internal error occurred\&.
  167. .br
  168. \fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&.
  169. .br
  170. \fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&.
  171. .br
  172. \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if a key was not found\&.
  173. .br
  174. \fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if a required authorization callback is not set\&.
  175. .br
  176. \fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if the authorization attempt fails\&.
  177. .br
  178. \fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if policy search for a certain policy digest was not successful\&.
  179. .br
  180. \fITSS2_ESYS_RC_*\fP possible error codes of ESAPI\&.
  181. .br
  182. \fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&.
  183. .RE
  184. .PP
  185. .SH "Author"
  186. .PP
  187. Generated automatically by Doxygen for tpm2-tss from the source code\&.