Fapi_NvExtend(3)
π Fapi_NvExtend(3) β the NV-extend glow-up, FAPI edition
okay bestie, buckle up π this is the manual page for Fapi_NvExtend, living in section 3 of the library functions manual, and it's basically the "extend a thing onto an NV index" starter pack. two ways to run it: the one-call way, or the async way. both slay. let's go β¨
πΈ NAME
Fapi_NvExtend β literally just Fapi_NvExtend, no cap. that's the whole name. iconic minimalism π
π¦ SYNOPSIS
β¨ Functions
TSS2_RC Fapi_NvExtend (FAPI_CONTEXT *context, char const *path, uint8_t
const *data, size_t size, char const *logData)
TSS2_RC Fapi_NvExtend_Async (FAPI_CONTEXT *context, char const *path,
uint8_t const *data, size_t size, char const *logData)
TSS2_RC Fapi_NvExtend_Finish (FAPI_CONTEXT *context)
π Detailed Description
so these are FAPI functions that let you invoke NvExtend β either as a one-call situation, or asynchronously, if that's your vibe. both paths exist, pick your fighter π«Ά
π Function Documentation
π TSS2_RC Fapi_NvExtend (FAPI_CONTEXT * context, char const * nvPath, uint8_t const * data, size_t dataSize, char const * logData)
One-Call function for Fapi_NvExtend β the "do it all in one go, no follow-up needed" option π«
It performs an extend operation on an NV index that has the type extend. that's the whole assignment, and it ate π₯
π Parameters
contextβ the FAPI contextnvPathβ the path to the NV index that is being extendeddataβ the data to extend on the NV indexdataSizeβ the size of the data to extend. Must be smaller than 1024logDataβ a JSON representation of the data that is written to the event log. May beNULL
π Return values
TSS2_RC_SUCCESSβ if the function call was a success πTSS2_FAPI_RC_BAD_REFERENCEβ ifcontext,nvPath, ordataisNULLTSS2_FAPI_RC_BAD_CONTEXTβ if context corruption is detectedTSS2_FAPI_RC_BAD_PATHβ ifnvPathis not foundTSS2_FAPI_RC_NV_WRONG_TYPEβ if the NV is not an extendable indexTSS2_FAPI_RC_POLICY_UNKNOWNβ if the policy is unknownTSS2_FAPI_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pendingTSS2_FAPI_RC_IO_ERRORβ if the data cannot be savedTSS2_FAPI_RC_MEMORYβ if the FAPI cannot allocate enough memory for internal operations or return parametersTSS2_FAPI_RC_NO_TPMβ if FAPI was initialized in no-TPM-mode via its config fileTSS2_FAPI_RC_BAD_VALUEβ if an invalid value was passed into the functionTSS2_FAPI_RC_PATH_NOT_FOUNDβ if a FAPI object path was not found during authorizationTSS2_FAPI_RC_KEY_NOT_FOUNDβ if a key was not foundTSS2_FAPI_RC_TRY_AGAINβ if an I/O operation is not finished yet and this function needs to be called againTSS2_FAPI_RC_GENERAL_FAILUREβ if an internal error occurredTSS2_FAPI_RC_AUTHORIZATION_UNKNOWNβ if a required authorization callback is not setTSS2_FAPI_RC_AUTHORIZATION_FAILEDβ if the authorization attempt failsTSS2_ESYS_RC_*β possible error codes of ESAPITSS2_FAPI_RC_NOT_PROVISIONEDβ FAPI was not provisioned
π§ TSS2_RC Fapi_NvExtend_Async (FAPI_CONTEXT * context, char const * nvPath, uint8_t const * data, size_t dataSize, char const * logData)
Asynchronous function for Fapi_NvExtend β for when you like a little suspense in your life π
It performs an extend operation on an NV index with the type extend. same energy, different scheduling.
π heads up bestie: call Fapi_NvExtend_Finish to finish the execution of this command. don't leave it hanging, that's rude.
π Parameters
contextβ the FAPI contextnvPathβ the path to the NV index that is extendeddataβ the data to extend on the NV indexdataSizeβ the size of the data to extend. Must be smaller than 1024logDataβ a JSON representation of the data that is written to the event log. May beNULL
π Return values
TSS2_RC_SUCCESSβ if the function call was a success πTSS2_FAPI_RC_BAD_REFERENCEβ ifcontext,nvPath, ordataisNULLTSS2_FAPI_RC_BAD_CONTEXTβ if context corruption is detectedTSS2_FAPI_RC_BAD_VALUEβ ifdataSizeis larger than 1024TSS2_FAPI_RC_BAD_PATHβ ifnvPathis not foundTSS2_FAPI_RC_NV_WRONG_TYPEβ if the NV is not an extendable indexTSS2_FAPI_RC_POLICY_UNKNOWNβ if the policy is unknownTSS2_FAPI_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pendingTSS2_FAPI_RC_IO_ERRORβ if the data cannot be savedTSS2_FAPI_RC_MEMORYβ if the FAPI cannot allocate enough memory for internal operations or return parametersTSS2_FAPI_RC_NO_TPMβ if FAPI was initialized in no-TPM-mode via its config fileTSS2_FAPI_RC_PATH_NOT_FOUNDβ if a FAPI object path was not found during authorizationTSS2_FAPI_RC_KEY_NOT_FOUNDβ if a key was not foundTSS2_FAPI_RC_NOT_PROVISIONEDβ FAPI was not provisioned
π TSS2_RC Fapi_NvExtend_Finish (FAPI_CONTEXT * context)
Asynchronous finish function for Fapi_NvExtend β the part two, the finale, the closing number π«
This function should be called after a previous Fapi_NvExtend.
π Parameters
contextβ TheFAPI_CONTEXT
π Return values
TSS2_RC_SUCCESSβ if the function call was a success πTSS2_FAPI_RC_BAD_REFERENCEβ ifcontextisNULLTSS2_FAPI_RC_BAD_CONTEXTβ if context corruption is detectedTSS2_FAPI_RC_BAD_SEQUENCEβ if the context has an asynchronous operation already pendingTSS2_FAPI_RC_IO_ERRORβ if the data cannot be savedTSS2_FAPI_RC_MEMORYβ if the FAPI cannot allocate enough memory for internal operations or return parametersTSS2_FAPI_RC_TRY_AGAINβ if the asynchronous operation is not yet complete. Call this function again later.TSS2_FAPI_RC_BAD_PATHβ if a path is used in inappropriate context or contains illegal charactersTSS2_FAPI_RC_BAD_VALUEβ if an invalid value was passed into the functionTSS2_FAPI_RC_GENERAL_FAILUREβ if an internal error occurredTSS2_FAPI_RC_PATH_NOT_FOUNDβ if a FAPI object path was not found during authorizationTSS2_FAPI_RC_KEY_NOT_FOUNDβ if a key was not foundTSS2_FAPI_RC_AUTHORIZATION_UNKNOWNβ if a required authorization callback is not setTSS2_FAPI_RC_AUTHORIZATION_FAILEDβ if the authorization attempt failsTSS2_FAPI_RC_POLICY_UNKNOWNβ if policy search for a certain policy digest was not successfulTSS2_ESYS_RC_*β possible error codes of ESAPITSS2_FAPI_RC_NOT_PROVISIONEDβ FAPI was not provisioned
π Author
Generated automatically by Doxygen for tpm2-tss from the source code. (yes, a robot wrote it. and honestly? it understood the assignment π€π
)
π«Ά okay that's the whole page, go extend something gorgeous and remember:dataSizesmaller than 1024,logDatamay beNULL, and always finish your async calls. mwah π
tpm2-tss Β· Version 4.1.5 Β· Fapi_NvExtend(3) β that's the whole footer vibe, catch you in the next man page bestie, slay πβ¨π¦
π¦ where this page comes from
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- fedora 44: tpm2-tss-devel 4.1.5-1.fc44 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms