123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.13"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>tpm2-tss: Utility module</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="navtree.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="resize.js"></script>
- <script type="text/javascript" src="navtreedata.js"></script>
- <script type="text/javascript" src="navtree.js"></script>
- <script type="text/javascript">
- $(document).ready(initResizable);
- </script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td id="projectalign" style="padding-left: 0.5em;">
- <div id="projectname">tpm2-tss
-  <span id="projectnumber">3.2.0</span>
- </div>
- <div id="projectbrief">TPM Software stack 2.0 TCG spec compliant implementation</div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.13 -->
- <script type="text/javascript" src="menudata.js"></script>
- <script type="text/javascript" src="menu.js"></script>
- <script type="text/javascript">
- $(function() {
- initMenu('',false,false,'search.php','Search');
- });
- </script>
- <div id="main-nav"></div>
- </div><!-- top -->
- <div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
- </div>
- <script type="text/javascript">
- $(document).ready(function(){initNavTree('group__ifapi__utility.html','');});
- </script>
- <div id="doc-content">
- <div class="header">
- <div class="summary">
- <a href="#func-members">Functions</a> </div>
- <div class="headertitle">
- <div class="title">Utility module<div class="ingroups"><a class="el" href="group__fapi.html">Feature API</a> » <a class="el" href="group__ifapi.html">Internals of Feature API</a></div></div> </div>
- </div><!--header-->
- <div class="contents">
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
- Functions</h2></td></tr>
- <tr class="memitem:gacd86e4383d793bf8af22a9211097677b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gacd86e4383d793bf8af22a9211097677b">full_path_to_fapi_path</a> (<a class="el" href="struct_i_f_a_p_i___k_e_y_s_t_o_r_e.html">IFAPI_KEYSTORE</a> *keystore, char *path)</td></tr>
- <tr class="separator:gacd86e4383d793bf8af22a9211097677b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac3204ade8ed818b956f5c3ca53ad3638"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gac3204ade8ed818b956f5c3ca53ad3638">ifapi_authorize_object</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> *session)</td></tr>
- <tr class="separator:gac3204ade8ed818b956f5c3ca53ad3638"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab37abaa8781c09afffd7f8cdbddf41d0"><td class="memItemLeft" align="right" valign="top">TPM2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gab37abaa8781c09afffd7f8cdbddf41d0">ifapi_capability_get</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, TPM2_CAP capability, UINT32 count, TPMS_CAPABILITY_DATA **capability_data)</td></tr>
- <tr class="separator:gab37abaa8781c09afffd7f8cdbddf41d0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga02d27104c96d660147f815b21a0b5db0"><td class="memItemLeft" align="right" valign="top">TPM2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga02d27104c96d660147f815b21a0b5db0">ifapi_capability_init</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:ga02d27104c96d660147f815b21a0b5db0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gafbf5e52c628d85dbfed94b556ddb34f7"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gafbf5e52c628d85dbfed94b556ddb34f7">ifapi_change_auth_hierarchy</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> handle, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *hierarchy_object, TPM2B_AUTH *newAuthValue)</td></tr>
- <tr class="separator:gafbf5e52c628d85dbfed94b556ddb34f7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaf8da6bd51aec37159bd57d0aef708669"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gaf8da6bd51aec37159bd57d0aef708669">ifapi_change_policy_hierarchy</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> handle, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *hierarchy_object, <a class="el" href="struct_t_p_m_s___p_o_l_i_c_y.html">TPMS_POLICY</a> *policy)</td></tr>
- <tr class="separator:gaf8da6bd51aec37159bd57d0aef708669"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga72e1d8408ffb92080dd25c589986c754"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga72e1d8408ffb92080dd25c589986c754">ifapi_cleanup_session</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:ga72e1d8408ffb92080dd25c589986c754"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae8580c8f03b32851636c56168a3efbcb"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gae8580c8f03b32851636c56168a3efbcb">ifapi_esys_serialize_object</a> (<a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> *ectx, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object)</td></tr>
- <tr class="separator:gae8580c8f03b32851636c56168a3efbcb"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gad508fab905898a96498e8946e9eafa81"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gad508fab905898a96498e8946e9eafa81">ifapi_flush_object</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> handle)</td></tr>
- <tr class="separator:gad508fab905898a96498e8946e9eafa81"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga5026bdc3c143dee3c9186666d51f23b4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga5026bdc3c143dee3c9186666d51f23b4">ifapi_flush_policy_session</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> session, TSS2_RC r)</td></tr>
- <tr class="separator:ga5026bdc3c143dee3c9186666d51f23b4"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga098a27bf25c1fcb7813f39ee785ed8ed"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga098a27bf25c1fcb7813f39ee785ed8ed">ifapi_free_object</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> **object)</td></tr>
- <tr class="separator:ga098a27bf25c1fcb7813f39ee785ed8ed"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2e9ae4b7a0d5fe381129c5b74d485bdc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga2e9ae4b7a0d5fe381129c5b74d485bdc">ifapi_free_objects</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:ga2e9ae4b7a0d5fe381129c5b74d485bdc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6e7c295cdd5116b49819b6f574efcc15"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga6e7c295cdd5116b49819b6f574efcc15">ifapi_get_certificates</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, UINT32 min_handle, UINT32 max_handle, <a class="el" href="structobject__node.html">NODE_OBJECT_T</a> **cert_list)</td></tr>
- <tr class="separator:ga6e7c295cdd5116b49819b6f574efcc15"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaf20d4ba6e8bfe70dd47bbe6f62941d58"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gaf20d4ba6e8bfe70dd47bbe6f62941d58">ifapi_get_description</a> (<a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object, char **description)</td></tr>
- <tr class="separator:gaf20d4ba6e8bfe70dd47bbe6f62941d58"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga8b347980300c40e62cd7bf264f6267f2"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga8b347980300c40e62cd7bf264f6267f2">ifapi_get_free_handle_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *fctx, TPM2_HANDLE *handle)</td></tr>
- <tr class="separator:ga8b347980300c40e62cd7bf264f6267f2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga0ff2952a882a5c0cd2d353f2814333cc"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga0ff2952a882a5c0cd2d353f2814333cc">ifapi_get_free_handle_finish</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *fctx, TPM2_HANDLE *handle, TPM2_HANDLE max)</td></tr>
- <tr class="separator:ga0ff2952a882a5c0cd2d353f2814333cc"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga3bb761fd8202aadf8fb2c584e27d694d"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga3bb761fd8202aadf8fb2c584e27d694d">ifapi_get_json</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object, char **json_string)</td></tr>
- <tr class="separator:ga3bb761fd8202aadf8fb2c584e27d694d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga943951c1a8d7074c2b94e4fdf44bdb3b"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga943951c1a8d7074c2b94e4fdf44bdb3b">ifapi_get_random</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, size_t numBytes, uint8_t **data)</td></tr>
- <tr class="separator:ga943951c1a8d7074c2b94e4fdf44bdb3b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2c218fb7e487aaf0adb25e2a3e7fda3d"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga2c218fb7e487aaf0adb25e2a3e7fda3d">ifapi_get_session_async</a> (<a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> *esys, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> saltkey, const <a class="el" href="struct_i_f_a_p_i___p_r_o_f_i_l_e.html">IFAPI_PROFILE</a> *profile, TPMI_ALG_HASH hashAlg)</td></tr>
- <tr class="separator:ga2c218fb7e487aaf0adb25e2a3e7fda3d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga62545888fd9143cf2162f4875c1f9ce0"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga62545888fd9143cf2162f4875c1f9ce0">ifapi_get_session_finish</a> (<a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> *esys, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> *session, TPMA_SESSION flags)</td></tr>
- <tr class="separator:ga62545888fd9143cf2162f4875c1f9ce0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga113486736a923a22e1b483d5cbdb8075"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga113486736a923a22e1b483d5cbdb8075">ifapi_get_sessions_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, IFAPI_SESSION_TYPE session_flags, TPMA_SESSION attribute_flags1, TPMA_SESSION attribute_flags2)</td></tr>
- <tr class="separator:ga113486736a923a22e1b483d5cbdb8075"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga8c5b9b5c9b23b126db395cfa8a18385e"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga8c5b9b5c9b23b126db395cfa8a18385e">ifapi_get_sessions_finish</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, const <a class="el" href="struct_i_f_a_p_i___p_r_o_f_i_l_e.html">IFAPI_PROFILE</a> *profile, TPMI_ALG_HASH hash_alg)</td></tr>
- <tr class="separator:ga8c5b9b5c9b23b126db395cfa8a18385e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga5e9e38926dfe21b045f1523e154418b6"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga5e9e38926dfe21b045f1523e154418b6">ifapi_get_sig_scheme</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object, char const *padding, TPM2B_DIGEST *digest, TPMT_SIG_SCHEME *sig_scheme)</td></tr>
- <tr class="separator:ga5e9e38926dfe21b045f1523e154418b6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab00d2057c7a8731916fb55e648226afd"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gab00d2057c7a8731916fb55e648226afd">ifapi_init_primary_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, TSS2_KEY_TYPE ktype)</td></tr>
- <tr class="separator:gab00d2057c7a8731916fb55e648226afd"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2ad6fb8f4137f8e062013c808df66922"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga2ad6fb8f4137f8e062013c808df66922">ifapi_initialize_object</a> (<a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> *ectx, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object)</td></tr>
- <tr class="separator:ga2ad6fb8f4137f8e062013c808df66922"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga67a4e8d4ed0b756b52384190d6d13f54"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga67a4e8d4ed0b756b52384190d6d13f54">ifapi_key_create</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct_i_f_a_p_i___k_e_y___t_e_m_p_l_a_t_e.html">IFAPI_KEY_TEMPLATE</a> *template)</td></tr>
- <tr class="separator:ga67a4e8d4ed0b756b52384190d6d13f54"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gab7cf0466f195320c51a4fd244db1083e"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gab7cf0466f195320c51a4fd244db1083e">ifapi_key_create_prepare</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *keyPath, char const *policyPath)</td></tr>
- <tr class="separator:gab7cf0466f195320c51a4fd244db1083e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga88470e315f1dc08ec5203864849d345b"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga88470e315f1dc08ec5203864849d345b">ifapi_key_create_prepare_auth</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *keyPath, char const *policyPath, char const *authValue)</td></tr>
- <tr class="separator:ga88470e315f1dc08ec5203864849d345b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gad15c0a4612e9abd8add3de32e33fba9b"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gad15c0a4612e9abd8add3de32e33fba9b">ifapi_key_create_prepare_sensitive</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *keyPath, char const *policyPath, size_t dataSize, char const *authValue, uint8_t const *data)</td></tr>
- <tr class="separator:gad15c0a4612e9abd8add3de32e33fba9b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2c33aa24101518e306671c4d53433e1c"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga2c33aa24101518e306671c4d53433e1c">ifapi_key_sign</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *sig_key_object, char const *padding, TPM2B_DIGEST *digest, TPMT_SIGNATURE **tpm_signature, char **publicKey, char **certificate)</td></tr>
- <tr class="separator:ga2c33aa24101518e306671c4d53433e1c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6ba2388e6afec1ec991b37483d461a0a"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga6ba2388e6afec1ec991b37483d461a0a">ifapi_load_key</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *keyPath, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> **key_object)</td></tr>
- <tr class="separator:ga6ba2388e6afec1ec991b37483d461a0a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga864dd52da1908d377d8cd056d5126aff"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga864dd52da1908d377d8cd056d5126aff">ifapi_load_key_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, size_t position)</td></tr>
- <tr class="separator:ga864dd52da1908d377d8cd056d5126aff"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga1ab8ecf0e773f3cff7595ebe80422ac8"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga1ab8ecf0e773f3cff7595ebe80422ac8">ifapi_load_key_finish</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, bool flush_parent)</td></tr>
- <tr class="separator:ga1ab8ecf0e773f3cff7595ebe80422ac8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga7900ce476eee9b6b82ce7c0c3567c39a"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga7900ce476eee9b6b82ce7c0c3567c39a">ifapi_load_keys_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *keyPath)</td></tr>
- <tr class="separator:ga7900ce476eee9b6b82ce7c0c3567c39a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gafb82fade4940b63daa61f44aa4dda4bb"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gafb82fade4940b63daa61f44aa4dda4bb">ifapi_load_keys_finish</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, bool flush_parent, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> *handle, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> **key_object)</td></tr>
- <tr class="separator:gafb82fade4940b63daa61f44aa4dda4bb"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gadcf47a73fcf5f2e725c4c30f2ac0fff8"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gadcf47a73fcf5f2e725c4c30f2ac0fff8">ifapi_load_primary_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char *path)</td></tr>
- <tr class="separator:gadcf47a73fcf5f2e725c4c30f2ac0fff8"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga2d9f27923c1cf5d96f7c7769d19ba8f9"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga2d9f27923c1cf5d96f7c7769d19ba8f9">ifapi_load_primary_finish</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> *handle)</td></tr>
- <tr class="separator:ga2d9f27923c1cf5d96f7c7769d19ba8f9"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga1b364f69d167554f80f7e20284ed43d7"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga1b364f69d167554f80f7e20284ed43d7">ifapi_merge_profile_into_nv_template</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct_i_f_a_p_i___n_v___t_e_m_p_l_a_t_e.html">IFAPI_NV_TEMPLATE</a> *template)</td></tr>
- <tr class="separator:ga1b364f69d167554f80f7e20284ed43d7"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6277caede9eb80950cd75fe64a1f4f68"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga6277caede9eb80950cd75fe64a1f4f68">ifapi_merge_profile_into_template</a> (const <a class="el" href="struct_i_f_a_p_i___p_r_o_f_i_l_e.html">IFAPI_PROFILE</a> *profile, <a class="el" href="struct_i_f_a_p_i___k_e_y___t_e_m_p_l_a_t_e.html">IFAPI_KEY_TEMPLATE</a> *template)</td></tr>
- <tr class="separator:ga6277caede9eb80950cd75fe64a1f4f68"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaae0f1033cf13b33d231d851bc83dd958"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gaae0f1033cf13b33d231d851bc83dd958">ifapi_non_tpm_mode_init</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:gaae0f1033cf13b33d231d851bc83dd958"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga8b65b5752483bc2d82adce311605d82f"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga8b65b5752483bc2d82adce311605d82f">ifapi_nv_read</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, uint8_t **data, size_t *size)</td></tr>
- <tr class="separator:ga8b65b5752483bc2d82adce311605d82f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga52be64f6f08b504bea838b1c30c7a59f"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga52be64f6f08b504bea838b1c30c7a59f">ifapi_nv_write</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char *nvPath, size_t param_offset, uint8_t const *data, size_t size)</td></tr>
- <tr class="separator:ga52be64f6f08b504bea838b1c30c7a59f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga1ee613f9a0a5c735c7af9d5419090005"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga1ee613f9a0a5c735c7af9d5419090005">ifapi_primary_clean</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:ga1ee613f9a0a5c735c7af9d5419090005"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga6a590ec0e5a5fa68a613c16e0bf0d16e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga6a590ec0e5a5fa68a613c16e0bf0d16e">ifapi_session_clean</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:ga6a590ec0e5a5fa68a613c16e0bf0d16e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac68d4eedf5d0762b778865224c267f1f"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gac68d4eedf5d0762b778865224c267f1f">ifapi_session_init</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:gac68d4eedf5d0762b778865224c267f1f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga9d69ade19a6056c73f63bbcb10b63c8e"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga9d69ade19a6056c73f63bbcb10b63c8e">ifapi_set_auth</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *auth_object, const char *description)</td></tr>
- <tr class="separator:ga9d69ade19a6056c73f63bbcb10b63c8e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga50864e60092f6129cf599b541c501ae6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga50864e60092f6129cf599b541c501ae6">ifapi_set_description</a> (<a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object, char *description)</td></tr>
- <tr class="separator:ga50864e60092f6129cf599b541c501ae6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga500edeec0c818127988be9704ed5bb52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga500edeec0c818127988be9704ed5bb52">ifapi_allocate_object</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context)</td></tr>
- <tr class="separator:ga500edeec0c818127988be9704ed5bb52"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga90d89526655fc11b19d1854f9e5c527d"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga90d89526655fc11b19d1854f9e5c527d">ifapi_create_primary</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, <a class="el" href="struct_i_f_a_p_i___k_e_y___t_e_m_p_l_a_t_e.html">IFAPI_KEY_TEMPLATE</a> *template)</td></tr>
- <tr class="separator:ga90d89526655fc11b19d1854f9e5c527d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gac8507196802b538850b5786b8349c0f1"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gac8507196802b538850b5786b8349c0f1">ifapi_get_key_properties</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *key_path, bool *is_primary, bool *in_null_hierarchy)</td></tr>
- <tr class="separator:gac8507196802b538850b5786b8349c0f1"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga934fb38167345b1f4a404666d08e0243"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#ga934fb38167345b1f4a404666d08e0243">ifapi_get_object_path</a> (<a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> *object)</td></tr>
- <tr class="separator:ga934fb38167345b1f4a404666d08e0243"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gaad6c3d930523125105f6dd9b4314502b"><td class="memItemLeft" align="right" valign="top">TSS2_RC </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ifapi__utility.html#gaad6c3d930523125105f6dd9b4314502b">ifapi_load_parent_keys_async</a> (<a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> *context, char const *keyPath)</td></tr>
- <tr class="separator:gaad6c3d930523125105f6dd9b4314502b"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <p>Provides internal utility functions. </p>
- <h2 class="groupheader">Function Documentation</h2>
- <a id="gacd86e4383d793bf8af22a9211097677b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gacd86e4383d793bf8af22a9211097677b">◆ </a></span>full_path_to_fapi_path()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void full_path_to_fapi_path </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_i_f_a_p_i___k_e_y_s_t_o_r_e.html">IFAPI_KEYSTORE</a> * </td>
- <td class="paramname"><em>keystore</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>path</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Convert full FAPI path to relative path.</p>
- <p>The relative path will be copied directly into the passed object.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">keystore</td><td>The key directories and default profile. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">path</td><td>The absolute path. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga500edeec0c818127988be9704ed5bb52"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga500edeec0c818127988be9704ed5bb52">◆ </a></span>ifapi_allocate_object()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">ifapi_allocate_object </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Allocate ifapi object and store the result in a linked list.</p>
- <p>Allocated ifapi objects will be recorded in the context.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">The</td><td>allocated ifapi object. </td></tr>
- <tr><td class="paramname">NULL</td><td>if the object cannot be allocated. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gac3204ade8ed818b956f5c3ca53ad3638"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gac3204ade8ed818b956f5c3ca53ad3638">◆ </a></span>ifapi_authorize_object()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_authorize_object </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> * </td>
- <td class="paramname"><em>session</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine to authorize a key, a NV object of a hierarchy.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The FAPI object. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">session</td><td>The session which can be used for object authorization.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the authorization is successful </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the policy store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If a policy for a certain path was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for the policy execution fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gab37abaa8781c09afffd7f8cdbddf41d0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gab37abaa8781c09afffd7f8cdbddf41d0">◆ </a></span>ifapi_capability_get()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TPM2_RC ifapi_capability_get </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2_CAP </td>
- <td class="paramname"><em>capability</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">UINT32 </td>
- <td class="paramname"><em>count</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMS_CAPABILITY_DATA ** </td>
- <td class="paramname"><em>capability_data</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for receiving TPM capability information.</p>
- <p>The state machine shares the state with the FAPI function Fapi_GetInfo. context->state == GET_INFO_GET_CAP_MORE signals that more capability data can be retrieved.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">capability</td><td>The capability to be retrieved. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>The maximal number of items that should be retrieved. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">capability_data</td><td>The retrieved capability information.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If all capability data is retrieved. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if more capability data is available. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga02d27104c96d660147f815b21a0b5db0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga02d27104c96d660147f815b21a0b5db0">◆ </a></span>ifapi_capability_init()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TPM2_RC ifapi_capability_init </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare the receiving of capability data.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS.</td><td></td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gafbf5e52c628d85dbfed94b556ddb34f7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gafbf5e52c628d85dbfed94b556ddb34f7">◆ </a></span>ifapi_change_auth_hierarchy()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_change_auth_hierarchy </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> </td>
- <td class="paramname"><em>handle</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>hierarchy_object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2B_AUTH * </td>
- <td class="paramname"><em>newAuthValue</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for changing the hierarchy authorization.</p>
- <p>First it will be tried to set the auth value of the hierarchy with a "null" authorization. If this trial is not successful it will be tried to authorize the hierarchy via a callback. If an not null auth value is passed with_auth is set to yes for the object otherwise to no. So for later authorizations it will be clear whether null authorization is possible or not.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>The ESAPI handle of the hierarchy. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">hierarchy_object</td><td>The internal FAPI representation of a hierarchy. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">newAuthValue</td><td>The new authorization for the hierarchy.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occured. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an error occured while accessing the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>if policy search for a certain policy digest was not successful. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gaf8da6bd51aec37159bd57d0aef708669"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gaf8da6bd51aec37159bd57d0aef708669">◆ </a></span>ifapi_change_policy_hierarchy()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_change_policy_hierarchy </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> </td>
- <td class="paramname"><em>handle</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>hierarchy_object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct_t_p_m_s___p_o_l_i_c_y.html">TPMS_POLICY</a> * </td>
- <td class="paramname"><em>policy</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for changing the policy of a hierarchy.</p>
- <p>Based on a passed policy the policy digest will be computed. First it will be tried to set the policy of the hierarchy with a "null" authorization. If this trial is not successful it will be tried to authorize the hierarchy via a callback. If an not null auth value is passed with_auth is set to yes for the object otherwise to no. So for later authorizations it will be clear whether null authorization is possible or not.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>The ESAPI handle of the hierarchy. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">hierarchy_object</td><td>The internal FAPI representation of a hierarchy. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>The new policy assigned to the hierarchy.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is not covered by other return codes. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during policy calculation. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the policy store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If an object needed for policy calculation was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- <p>< no path needed </p>
- </div>
- </div>
- <a id="ga72e1d8408ffb92080dd25c589986c754"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga72e1d8408ffb92080dd25c589986c754">◆ </a></span>ifapi_cleanup_session()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_cleanup_session </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for asynchronous cleanup of a FAPI session.</p>
- <p>Used sessions and the SRK will be flushed.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> storing the used handles.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga90d89526655fc11b19d1854f9e5c527d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga90d89526655fc11b19d1854f9e5c527d">◆ </a></span>ifapi_create_primary()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">ifapi_create_primary </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct_i_f_a_p_i___k_e_y___t_e_m_p_l_a_t_e.html">IFAPI_KEY_TEMPLATE</a> * </td>
- <td class="paramname"><em>template</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Creation of a primary key.</p>
- <p>Depending on the flags stored in the context the creation of a primary key will be prepared.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template which defines the key attributes and whether the key will be persistent. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if a wrong type was passed. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an error occurred while accessing the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>if policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_ALREADY_EXISTS</td><td>if the object already exists in object store. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gae8580c8f03b32851636c56168a3efbcb"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gae8580c8f03b32851636c56168a3efbcb">◆ </a></span>ifapi_esys_serialize_object()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_esys_serialize_object </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> * </td>
- <td class="paramname"><em>ectx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Serialize persistent objects into buffer of keystore object.</p>
- <p>NV objects and persistent keys will serialized via the ESYS API to enable reconstruction durinng loading from keystore.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">ectx</td><td>The ESAPI context. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">object</td><td>The nv object or the key. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>if the function call was a success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occured. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gad508fab905898a96498e8946e9eafa81"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gad508fab905898a96498e8946e9eafa81">◆ </a></span>ifapi_flush_object()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_flush_object </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> </td>
- <td class="paramname"><em>handle</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for flushing objects.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>of the object to be flushed.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga5026bdc3c143dee3c9186666d51f23b4"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga5026bdc3c143dee3c9186666d51f23b4">◆ </a></span>ifapi_flush_policy_session()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ifapi_flush_policy_session </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> </td>
- <td class="paramname"><em>session</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TSS2_RC </td>
- <td class="paramname"><em>r</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Check whether policy session has to be flushed.</p>
- <p>Policy sessions with cleared continue session flag are not flushed in error cases. Therefore the return code will be checked and if a policy session was used the session will be flushed if the command was not executed successfully.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>the session to be checked whether flush is needed. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>The return code of the command using the session. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga098a27bf25c1fcb7813f39ee785ed8ed"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga098a27bf25c1fcb7813f39ee785ed8ed">◆ </a></span>ifapi_free_object()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ifapi_free_object </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> ** </td>
- <td class="paramname"><em>object</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Free ifapi a object stored in the context.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">object</td><td>The object which should be removed from the the linked list stored in context. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga2e9ae4b7a0d5fe381129c5b74d485bdc"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga2e9ae4b7a0d5fe381129c5b74d485bdc">◆ </a></span>ifapi_free_objects()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ifapi_free_objects </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Free all ifapi objects stored in the context.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga6e7c295cdd5116b49819b6f574efcc15"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga6e7c295cdd5116b49819b6f574efcc15">◆ </a></span>ifapi_get_certificates()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_certificates </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">UINT32 </td>
- <td class="paramname"><em>min_handle</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">UINT32 </td>
- <td class="paramname"><em>max_handle</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structobject__node.html">NODE_OBJECT_T</a> ** </td>
- <td class="paramname"><em>cert_list</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get certificates stored in NV ram.</p>
- <p>The NV handles in the certificate range are determined. The corresponding certificates are read out and stored in a linked list.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. The sub context for NV reading will be used. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">min_handle</td><td>The first possible handle in the handle range. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">max_handle</td><td>Maximal handle to filter out the handles not in the handle range for certificates. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">cert_list</td><td>The callee allocates linked list of certificates.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated.</td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an error occurred while accessing the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>if policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gaf20d4ba6e8bfe70dd47bbe6f62941d58"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gaf20d4ba6e8bfe70dd47bbe6f62941d58">◆ </a></span>ifapi_get_description()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_description </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>description</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get description of an internal FAPI object.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The object with the description. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">description</td><td>The callee allocated description.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If a copy of the description can be returned or if no description exists. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>in the copy cannot be allocated. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga8b347980300c40e62cd7bf264f6267f2"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga8b347980300c40e62cd7bf264f6267f2">◆ </a></span>ifapi_get_free_handle_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_free_handle_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>fctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2_HANDLE * </td>
- <td class="paramname"><em>handle</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Preparation for getting a free handle after a start handle number.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">fctx</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>The start value for handle search.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga0ff2952a882a5c0cd2d353f2814333cc"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga0ff2952a882a5c0cd2d353f2814333cc">◆ </a></span>ifapi_get_free_handle_finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_free_handle_finish </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>fctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2_HANDLE * </td>
- <td class="paramname"><em>handle</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2_HANDLE </td>
- <td class="paramname"><em>max</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Execution of get capability until a free handle is found.</p>
- <p>The get capability method is called until a free handle is found or the max number of trials passe to the function is exeeded.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">fctx</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">handle</td><td>The free handle. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">max</td><td>The maximal number of trials.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NV_TOO_SMALL</td><td>if too many NV handles are defined. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga3bb761fd8202aadf8fb2c584e27d694d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga3bb761fd8202aadf8fb2c584e27d694d">◆ </a></span>ifapi_get_json()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_json </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>json_string</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get json encoding for FAPI object.</p>
- <p>A json representation which can be used for exporting of a FAPI object will be created.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The object to be serialized. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">json_string</td><td>The json string created by the deserialzation function (callee-allocated).</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the serialization was successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during serialization. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>If a NULL pointer was passed for the object. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gac8507196802b538850b5786b8349c0f1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gac8507196802b538850b5786b8349c0f1">◆ </a></span>ifapi_get_key_properties()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">ifapi_get_key_properties </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>key_path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool * </td>
- <td class="paramname"><em>is_primary</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool * </td>
- <td class="paramname"><em>in_null_hierarchy</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Determine key properties (primary, null hierarchy).</p>
- <p>It will be checked whether a path is the path of a primary key, and whether it's a key in null hiearchy</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">key_path</td><td>the key path. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">is_primary</td><td>if key path is the path of a primary. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">in_null_hierarchy</td><td>if key is a null hierarchy key.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the preparation is successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga934fb38167345b1f4a404666d08e0243"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga934fb38167345b1f4a404666d08e0243">◆ </a></span>ifapi_get_object_path()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">ifapi_get_object_path </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get relative path of a FAPI object.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The internal FAPI object.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">The</td><td>relative path of the object. </td></tr>
- <tr><td class="paramname">NULL</td><td>if no path is available. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga943951c1a8d7074c2b94e4fdf44bdb3b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga943951c1a8d7074c2b94e4fdf44bdb3b">◆ </a></span>ifapi_get_random()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_random </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>numBytes</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t ** </td>
- <td class="paramname"><em>data</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine to retrieve random data from TPM.</p>
- <p>If the buffer size exceeds the maximum size, several ESAPI calls are made.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">numBytes</td><td>Number of random bytes to be computed. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>The random data.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If random data can be computed. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga2c218fb7e487aaf0adb25e2a3e7fda3d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga2c218fb7e487aaf0adb25e2a3e7fda3d">◆ </a></span>ifapi_get_session_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_session_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> * </td>
- <td class="paramname"><em>esys</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> </td>
- <td class="paramname"><em>saltkey</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="struct_i_f_a_p_i___p_r_o_f_i_l_e.html">IFAPI_PROFILE</a> * </td>
- <td class="paramname"><em>profile</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMI_ALG_HASH </td>
- <td class="paramname"><em>hashAlg</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Preparation for getting a session handle.</p>
- <p>The corresponding async call be executed and a session secret for encryption TPM2B parameters will be created.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">esys</td><td>The <a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">saltkey</td><td>The key which will be used for the encryption of the session secret. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">profile</td><td>The FAPI profile will be used to adjust the sessions symmetric parameters. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">hashAlg</td><td>The hash algorithm used for the session.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga62545888fd9143cf2162f4875c1f9ce0"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga62545888fd9143cf2162f4875c1f9ce0">◆ </a></span>ifapi_get_session_finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_session_finish </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> * </td>
- <td class="paramname"><em>esys</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> * </td>
- <td class="paramname"><em>session</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMA_SESSION </td>
- <td class="paramname"><em>flags</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Call for getting a session handle and adjust session parameters.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">esys</td><td>The <a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">session</td><td>The session handle. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>The flags to adjust the session attributes.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga113486736a923a22e1b483d5cbdb8075"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga113486736a923a22e1b483d5cbdb8075">◆ </a></span>ifapi_get_sessions_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_sessions_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">IFAPI_SESSION_TYPE </td>
- <td class="paramname"><em>session_flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMA_SESSION </td>
- <td class="paramname"><em>attribute_flags1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMA_SESSION </td>
- <td class="paramname"><em>attribute_flags2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare the session creation of a FAPI command.</p>
- <p>The initial state of the state machine for session creation will be determined. Depending of the session_flags creation of a primary for the encryption of the session secret can be adjusted. The session passed session attributes will be used for the ESAPI command Esys_TRSess_SetAttributes.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> storing the used handles. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">session_flags</td><td>The flags to adjust used session and encryption key. With IFAPI_SESSION1 and IFAPI_SESSION2 the session creation for sesion1 and session2 can be activated, IFAPI_SESSION_GENEK triggers the creation of the primary for session secret encryption. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">attribute_flags1</td><td>The attributes used for session1. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">attribute_flags2</td><td>The attributes used for session2.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if the hierarchy file or the primary key file does not exist. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. of the primary. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an error occurred while accessing the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga8c5b9b5c9b23b126db395cfa8a18385e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga8c5b9b5c9b23b126db395cfa8a18385e">◆ </a></span>ifapi_get_sessions_finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_sessions_finish </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const <a class="el" href="struct_i_f_a_p_i___p_r_o_f_i_l_e.html">IFAPI_PROFILE</a> * </td>
- <td class="paramname"><em>profile</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMI_ALG_HASH </td>
- <td class="paramname"><em>hash_alg</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for the session creation of a FAPI command.</p>
- <p>The sessions needed for a FAPI command will be created. If needed also the primary key for session encryption will be created.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> storing the used handles. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">profile</td><td>The FAPI profile will be used to adjust session parameters. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">hash_alg</td><td>The hash algorithm used for the session.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an I/O error was encountered. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>if policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga5e9e38926dfe21b045f1523e154418b6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga5e9e38926dfe21b045f1523e154418b6">◆ </a></span>ifapi_get_sig_scheme()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_get_sig_scheme </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>padding</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2B_DIGEST * </td>
- <td class="paramname"><em>digest</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMT_SIG_SCHEME * </td>
- <td class="paramname"><em>sig_scheme</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get signature scheme for key.</p>
- <p>If padding is passed the scheme will be derived from paddint otherwise the scheme form object will be used.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The internal FAPI object of the key. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">padding</td><td>The strings RSA_SSA or RSA_PSS will be converted into the TSS constants used for the signing scheme. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">digest</td><td>The digest size will be used to determine the hashalg for the signature scheme. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">sig_scheme</td><td>The computed signature scheme.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If the digest size is not appropriate. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gab00d2057c7a8731916fb55e648226afd"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gab00d2057c7a8731916fb55e648226afd">◆ </a></span>ifapi_init_primary_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_init_primary_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TSS2_KEY_TYPE </td>
- <td class="paramname"><em>ktype</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare the creation of a primary key.</p>
- <p>Depending on the parameters the creation of an endorsement or storage root key will be prepared.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">ktype</td><td>The type of key TSS2_EK or TSS2_SRK. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if a wrong type was passed. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an error occurred while accessing the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- <p>< no path needed </p>
- </div>
- </div>
- <a id="ga2ad6fb8f4137f8e062013c808df66922"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga2ad6fb8f4137f8e062013c808df66922">◆ </a></span>ifapi_initialize_object()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_initialize_object </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__esys__int.html#struct_e_s_y_s___c_o_n_t_e_x_t">ESYS_CONTEXT</a> * </td>
- <td class="paramname"><em>ectx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initialize the part of an IFAPI_OBJECT which is not serialized.</p>
- <p>For persistent objects the correspodning ESYS object will be created.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">ectx</td><td>The ESYS context. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">object</td><td>the deserialzed binary object. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>if the function call was a success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if the json object can't be deserialized. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga67a4e8d4ed0b756b52384190d6d13f54"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga67a4e8d4ed0b756b52384190d6d13f54">◆ </a></span>ifapi_key_create()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_key_create </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct_i_f_a_p_i___k_e_y___t_e_m_p_l_a_t_e.html">IFAPI_KEY_TEMPLATE</a> * </td>
- <td class="paramname"><em>template</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for key creation.</p>
- <p>The function for the preparation of the key have to called before the state machine can be activated. The linked list for the used directories must be available in the FAPI context. It will be checked whether the object already exists in key store and the FAPI context will be initialized appropriate for key creation.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template which defines the key attributes and whether the key will be persistent.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the key could be generated. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is not covered by other return codes. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the policy store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If an object needed for creation or authentication was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for creation fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_ALREADY_EXISTS</td><td>if the object already exists in object store. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gab7cf0466f195320c51a4fd244db1083e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gab7cf0466f195320c51a4fd244db1083e">◆ </a></span>ifapi_key_create_prepare()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_key_create_prepare </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>keyPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>policyPath</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare key creation if possible.</p>
- <p>It will be checked whether the object already exists in key store and the FAPI context will be initialized appropriate for key creation.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">keyPath</td><td>the key path without the parent directories of the key store. (e.g. HE/EK, HS/SRK/mykey) </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">policyPath</td><td>identifies the policy to be associated with the new key. policyPath MAY be NULL. If policyPath is NULL then no policy will be associated with the key.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the preparation was successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_ALREADY_EXISTS</td><td>If the object with does already exist in keystore. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NO_TPM</td><td>if FAPI was initialized in no-TPM-mode via its config file. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga88470e315f1dc08ec5203864849d345b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga88470e315f1dc08ec5203864849d345b">◆ </a></span>ifapi_key_create_prepare_auth()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_key_create_prepare_auth </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>keyPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>policyPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>authValue</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare key creation with an auth value.</p>
- <p>The auth value will be copied int the FAPI context for later use in key creation.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">keyPath</td><td>the key path without the parent directories of the key store. (e.g. HE/EK, HS/SRK/mykey) </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">policyPath</td><td>identifies the policy to be associated with the new key. policyPath MAY be NULL. If policyPath is NULL then no policy will be associated with the key. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">authValue</td><td>The authentication value of the key.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the preparation was successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_ALREADY_EXISTS</td><td>If the object with does already exist in keystore. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NO_TPM</td><td>if FAPI was initialized in no-TPM-mode via its config file. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gad15c0a4612e9abd8add3de32e33fba9b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gad15c0a4612e9abd8add3de32e33fba9b">◆ </a></span>ifapi_key_create_prepare_sensitive()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_key_create_prepare_sensitive </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>keyPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>policyPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>dataSize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>authValue</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t const * </td>
- <td class="paramname"><em>data</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare key creation with an auth value and sensitive data.</p>
- <p>The auth value and the sensitive data will be copied int the FAPI context for later use in key creation.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">keyPath</td><td>the key path without the parent directories of the key store. (e.g. HE/EK, HS/SRK/mykey) </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">policyPath</td><td>identifies the policy to be associated with the new key. policyPath MAY be NULL. If policyPath is NULL then no policy will be associated with the key. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">dataSize</td><td>The size of the sensitive data. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">authValue</td><td>The authentication value of the key. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The sensitive data.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the preparation was successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_ALREADY_EXISTS</td><td>If the object with does already exist in keystore. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NO_TPM</td><td>if FAPI was initialized in no-TPM-mode via its config file. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga2c33aa24101518e306671c4d53433e1c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga2c33aa24101518e306671c4d53433e1c">◆ </a></span>ifapi_key_sign()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_key_sign </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>sig_key_object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>padding</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPM2B_DIGEST * </td>
- <td class="paramname"><em>digest</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">TPMT_SIGNATURE ** </td>
- <td class="paramname"><em>tpm_signature</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>publicKey</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>certificate</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for signing operation.</p>
- <p>The key used for signing will be authorized and the signing of the passed data will be executed.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">sig_key_object</td><td>The Fapi key object which will be used to sign the passed digest. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">padding</td><td>is the padding algorithm used. Possible values are RSA_SSA, RSA_PPSS (case insensitive). padding MAY be NULL. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">digest</td><td>is the data to be signed, already hashed. digest MUST NOT be NULL. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">tpm_signature</td><td>returns the signature in binary form (DER format). tpm_signature MUST NOT be NULL (callee-allocated). </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">publicKey</td><td>is the public key of the signing key in PEM format. publicKey is callee allocated and MAY be NULL. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">certificate</td><td>is the certificate associated with the signing key in PEM format. certificate MAY be NULL.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the signing was successful. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is not covered by other return codes. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the policy store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If a policy for a certain path was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_TEMPLATE</td><td>In a invalid policy is loaded during execution. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for policy execution fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga6ba2388e6afec1ec991b37483d461a0a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga6ba2388e6afec1ec991b37483d461a0a">◆ </a></span>ifapi_load_key()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_key </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>keyPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> ** </td>
- <td class="paramname"><em>key_object</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Load a key and initialize profile and session for ESAPI execution.</p>
- <p>This state machine prepares the session for key loading. Some session related parameters will be taken from profile.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">keyPath</td><td>the key path without the parent directories of the key store. (e.g. HE/EK, HS/SRK/mykey) </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">key_object</td><td>The callee allocated internal representation of a key object.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the key was loaded successfully. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is not covered by other return codes. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If a policy or key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for policy execution fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga864dd52da1908d377d8cd056d5126aff"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga864dd52da1908d377d8cd056d5126aff">◆ </a></span>ifapi_load_key_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_key_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>position</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initialize state machine for loading a key.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>the position of the key in path list stored in context->loadKey.path_list.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga1ab8ecf0e773f3cff7595ebe80422ac8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga1ab8ecf0e773f3cff7595ebe80422ac8">◆ </a></span>ifapi_load_key_finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_key_finish </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>flush_parent</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine for loading a key.</p>
- <p>A stack with all sup keys will be created and decremented during the loading auf all keys. The object of the loaded key will be stored in: context->loadKey.auth_object</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">flush_parent</td><td>If flush_parent is false parent is only flushed if a new parent is available.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the loading of the key was successful. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is not covered by other return codes. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the policy store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If an object needed for loading or authentication was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for loading fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- </table>
- </dd>
- </dl>
- <p>< to avoid scan-build errors.</p>
- <p>< to avoid scan-build errors. </p>
- </div>
- </div>
- <a id="ga7900ce476eee9b6b82ce7c0c3567c39a"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga7900ce476eee9b6b82ce7c0c3567c39a">◆ </a></span>ifapi_load_keys_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_keys_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>keyPath</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Asynchronous preparation for loading a key and parent keys.</p>
- <p>The key loading is prepared. The pathname will be extended if possible and a linked list with the directories will be created.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">keyPath</td><td>the key path without the parent directories of the key store. (e.g. HE/EK, HS/SRK/mykey)</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the preparation is successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gafb82fade4940b63daa61f44aa4dda4bb"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gafb82fade4940b63daa61f44aa4dda4bb">◆ </a></span>ifapi_load_keys_finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_keys_finish </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>flush_parent</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> * </td>
- <td class="paramname"><em>handle</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> ** </td>
- <td class="paramname"><em>key_object</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Asynchronous finish function for loading a key.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">flush_parent</td><td>If false the parent of the key to be loaded will not be flushed. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">handle</td><td>The ESYS handle of the key. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">key_object</td><td>The object which will be used for the authorization of the loaded key. </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an error occurred while accessing the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>if policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gaad6c3d930523125105f6dd9b4314502b"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gaad6c3d930523125105f6dd9b4314502b">◆ </a></span>ifapi_load_parent_keys_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">ifapi_load_parent_keys_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char const * </td>
- <td class="paramname"><em>keyPath</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Asynchronous preparation for loading of the parent keys.</p>
- <p>The key loading is prepared. The pathname will be extended if possible and a linked list with the directories will be created.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">keyPath</td><td>the key path without the parent directories of the key store. (e.g. HE/EK, HS/SRK/mykey)</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the preparation is successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if an invalid value was passed into the function. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if a FAPI object path was not found during authorization. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gadcf47a73fcf5f2e725c4c30f2ac0fff8"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gadcf47a73fcf5f2e725c4c30f2ac0fff8">◆ </a></span>ifapi_load_primary_async()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_primary_async </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>path</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare the loading of a primary key from key store.</p>
- <p>The asynchronous loading or the key from keystore will be prepared and the path will be stored in the FAPI context.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>The FAPI path of the primary key.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if a wrong type was passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an I/O error was encountered. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if the file does not exist. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga2d9f27923c1cf5d96f7c7769d19ba8f9"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga2d9f27923c1cf5d96f7c7769d19ba8f9">◆ </a></span>ifapi_load_primary_finish()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_load_primary_finish </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group___e_s_y_s___t_r.html#ga65d10db3b0b31fcd709e692f1545d30f">ESYS_TR</a> * </td>
- <td class="paramname"><em>handle</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine to finalize the loading of a primary key from key store.</p>
- <p>The asynchronous loading or the key from keystore will be finalized. Afterwards the hierarchy object, which will be used for authorization will be loaded and the ESAPI functions for primary generation will be called if the primary is not persistent.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">handle</td><td>The object handle of the primary key.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>if a wrong type was passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>if the hierarchy file does not exist. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>if an I/O error was encountered. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if memory could not be allocated for path names. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>if an internal error occurred. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a required authorization callback is not set. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>if policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if the path is used in inappropriate context or contains illegal characters. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga1b364f69d167554f80f7e20284ed43d7"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga1b364f69d167554f80f7e20284ed43d7">◆ </a></span>ifapi_merge_profile_into_nv_template()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_merge_profile_into_nv_template </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct_i_f_a_p_i___n_v___t_e_m_p_l_a_t_e.html">IFAPI_NV_TEMPLATE</a> * </td>
- <td class="paramname"><em>template</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Merge profile already stored in FAPI context into a NV object template.</p>
- <p>The defaults for NV creation which are stored in the FAPI default profile will be merged in the passed templates default values.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> with the default profile. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template with the default values for the NV object.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga6277caede9eb80950cd75fe64a1f4f68"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga6277caede9eb80950cd75fe64a1f4f68">◆ </a></span>ifapi_merge_profile_into_template()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_merge_profile_into_template </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="struct_i_f_a_p_i___p_r_o_f_i_l_e.html">IFAPI_PROFILE</a> * </td>
- <td class="paramname"><em>profile</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct_i_f_a_p_i___k_e_y___t_e_m_p_l_a_t_e.html">IFAPI_KEY_TEMPLATE</a> * </td>
- <td class="paramname"><em>template</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Merge profile already stored in FAPI context into a key template.</p>
- <p>The defaults for key creation which are stored in the FAPI default profile will be merged in the passed templates default values.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">profile</td><td>The profile which will be used to adjust the template. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">template</td><td>The template with the default values for the key object.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gaae0f1033cf13b33d231d851bc83dd958"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gaae0f1033cf13b33d231d851bc83dd958">◆ </a></span>ifapi_non_tpm_mode_init()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_non_tpm_mode_init </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare session for FAPI command execution without TPM.</p>
- <p>It will be checked whether the context of FAPI is initialized and whether no other FAPI command session is running. Also some handle variables in the context are initialized.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>if the context is not initialized. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>If a FAPI command session is active. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga8b65b5752483bc2d82adce311605d82f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga8b65b5752483bc2d82adce311605d82f">◆ </a></span>ifapi_nv_read()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_nv_read </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t ** </td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t * </td>
- <td class="paramname"><em>size</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine to read data from the NV ram of the TPM.</p>
- <p>Context nv_cmd has to be prepared before the call of this function:</p><ul>
- <li>auth_index The ESAPI handle of the authorization object.</li>
- <li>numBytes The number of bytes which should be read.</li>
- <li>esys_handle The ESAPI handle of the NV object.</li>
- </ul>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>the data fetched from TPM. </td></tr>
- <tr><td class="paramdir">[in,out]</td><td class="paramname">size</td><td>The number of bytes requested and fetched.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If the data was read successfully. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is<ul>
- <li>not covered by other return codes. </li>
- </ul>
- </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>If a policy for a certain path was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for the execution fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga52be64f6f08b504bea838b1c30c7a59f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga52be64f6f08b504bea838b1c30c7a59f">◆ </a></span>ifapi_nv_write()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_nv_write </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>nvPath</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>param_offset</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint8_t const * </td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t </td>
- <td class="paramname"><em>size</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>State machine to write data to the NV ram of the TPM.</p>
- <p>The NV object will be read from object store and the data will be written by one, or more than one if necessary, ESAPI calls to the NV ram of the TPM. The sub context nv_cmd will be prepared:</p><ul>
- <li>data The buffer for the data which has to be written</li>
- <li>offset The current offset for writing</li>
- <li>numBytes The number of bytes which have to be written.</li>
- </ul>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>for storing all state information. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">nvPath</td><td>The fapi path of the NV object. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">param_offset</td><td>The offset in the NV memory (will be stored in context). </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The pointer to the data to be written. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The number of bytes to be written.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>If data can be written. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_MEMORY</td><td>if not enough memory can be allocated. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_VALUE</td><td>If wrong values are detected during execution. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_GENERAL_FAILURE</td><td>If an internal error occurs, which is<ul>
- <li>not covered by other return codes. </li>
- </ul>
- </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_IO_ERROR</td><td>If an error occurs during access to the object store. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_PATH_NOT_FOUND</td><td>The nv object or an object needed for authentication was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_POLICY_UNKNOWN</td><td>If policy search for a certain policy digest was not successful. </td></tr>
- <tr><td class="paramname">TPM2_RC_BAD_AUTH</td><td>If the authentication for an object needed for the command execution fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>if a needed authorization callback is not defined. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_PATH</td><td>if a path is used in inappropriate context or contains illegal characters. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_TRY_AGAIN</td><td>if an I/O operation is not finished yet and this function needs to be called again. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>if the context has an asynchronous operation already pending. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_KEY_NOT_FOUND</td><td>if a key was not found. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>a invalid null pointer is passed. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_FAILED</td><td>if the authorization attempt fails. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NOT_PROVISIONED</td><td>FAPI was not provisioned. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga1ee613f9a0a5c735c7af9d5419090005"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga1ee613f9a0a5c735c7af9d5419090005">◆ </a></span>ifapi_primary_clean()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ifapi_primary_clean </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Cleanup primary keys in error cases (non asynchronous).</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> storing the used handles.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_ESYS_RC_*</td><td>possible error codes of ESAPI. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga6a590ec0e5a5fa68a613c16e0bf0d16e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga6a590ec0e5a5fa68a613c16e0bf0d16e">◆ </a></span>ifapi_session_clean()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ifapi_session_clean </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Cleanup FAPI sessions in error cases.</p>
- <p>The uses sessions and the SRK (if not persistent) will be flushed non asynchronous in error cases.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="gac68d4eedf5d0762b778865224c267f1f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#gac68d4eedf5d0762b778865224c267f1f">◆ </a></span>ifapi_session_init()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_session_init </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Prepare session for FAPI command execution.</p>
- <p>It will be checked whether the context of FAPI and ESAPI is initialized and whether no other FAPI command session is running. Also some handle variables in the context are initialized.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_REFERENCE</td><td>if the context is not initialized. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_BAD_SEQUENCE</td><td>If a FAPI command session is active. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_NO_TPM</td><td>if the ESAPI context is not initialized. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga9d69ade19a6056c73f63bbcb10b63c8e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga9d69ade19a6056c73f63bbcb10b63c8e">◆ </a></span>ifapi_set_auth()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">TSS2_RC ifapi_set_auth </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a> * </td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>auth_object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>description</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set authorization value for a FAPI object.</p>
- <p>The callback which provides the auth value must be defined.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">context</td><td>The <a class="el" href="struct_f_a_p_i___c_o_n_t_e_x_t.html">FAPI_CONTEXT</a>. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">auth_object</td><td>The auth value will be assigned to this object. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">description</td><td>The description will be passed to the callback which delivers the auth value.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="retval"><dt>Return values</dt><dd>
- <table class="retval">
- <tr><td class="paramname">TSS2_RC_SUCCESS</td><td>on success. </td></tr>
- <tr><td class="paramname">TSS2_FAPI_RC_AUTHORIZATION_UNKNOWN</td><td>If the callback for getting the auth value is not defined. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a id="ga50864e60092f6129cf599b541c501ae6"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ga50864e60092f6129cf599b541c501ae6">◆ </a></span>ifapi_set_description()</h2>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ifapi_set_description </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="struct___i_f_a_p_i___o_b_j_e_c_t.html">IFAPI_OBJECT</a> * </td>
- <td class="paramname"><em>object</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>description</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Set description of an internal FAPI object.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in,out]</td><td class="paramname">object</td><td>The object with the description. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">description</td><td>The description char strint or NULL. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- </div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
- </ul>
- </div>
- </body>
- </html>
|