Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 67e32647b06c0323bf90c6b54a6438d1 > files > 658

rpm-apidocs-4.4.2.3-34.el5.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>rpm: lib/rpmts.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<h1>lib/rpmts.h</h1><a href="rpmts_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef H_RPMTS</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define H_RPMTS</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00009"></a>00009 <span class="preprocessor">#include "<a class="code" href="rpmps_8h.html">rpmps.h</a>"</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="rpmsw_8h.html">rpmsw.h</a>"</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="rpmsx_8h.html">rpmsx.h</a>"</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00014"></a>00014 <span class="comment">/*@unchecked@*/</span>
<a name="l00015"></a>00015 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="poptALL_8c.html#d663cf81dfc3020fdee088b820bc2cf5">_rpmts_debug</a>;
<a name="l00016"></a>00016 <span class="comment">/*@unchecked@*/</span>
<a name="l00017"></a>00017 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="poptALL_8c.html#76af99570cb516c74b5ef9e4e59bf2b4">_rpmts_stats</a>;
<a name="l00018"></a>00018 <span class="comment">/*@unchecked@*/</span>
<a name="l00019"></a>00019 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="poptALL_8c.html#35245f6e78b3d20a5895cb3bbf76b4f0">_fps_debug</a>;
<a name="l00020"></a>00020 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00021"></a>00021 
<a name="l00025"></a><a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d">00025</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d">rpmVSFlags_e</a> {
<a name="l00026"></a>00026     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d243cc0d477d56980d0775f606412d2d1">RPMVSF_DEFAULT</a>      = 0,
<a name="l00027"></a>00027     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602daa6d0b979fd5881394e98f2912cff11f">RPMVSF_NOHDRCHK</a>     = (1 &lt;&lt;  0),
<a name="l00028"></a>00028     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d22ad1bd80773be36567db398437f5c0b">RPMVSF_NEEDPAYLOAD</a>  = (1 &lt;&lt;  1),
<a name="l00029"></a>00029     <span class="comment">/* bit(s) 2-7 unused */</span>
<a name="l00030"></a>00030     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602df7252b6316f6bef89c95f2c5e9f92917">RPMVSF_NOSHA1HEADER</a> = (1 &lt;&lt;  8),
<a name="l00031"></a>00031     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602deb3873aed89811924ab370092a212291">RPMVSF_NOMD5HEADER</a>  = (1 &lt;&lt;  9),    <span class="comment">/* unimplemented */</span>
<a name="l00032"></a>00032     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d4ef2f7fca9a94f73d001933a029ae3f3">RPMVSF_NODSAHEADER</a>  = (1 &lt;&lt; 10),
<a name="l00033"></a>00033     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d8b16897a9fe3f80b0a83a020d340ef98">RPMVSF_NORSAHEADER</a>  = (1 &lt;&lt; 11),    <span class="comment">/* unimplemented */</span>
<a name="l00034"></a>00034     <span class="comment">/* bit(s) 12-15 unused */</span>
<a name="l00035"></a>00035     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602db4d6d5f4b1a56821418ca090168e5b60">RPMVSF_NOSHA1</a>       = (1 &lt;&lt; 16),    <span class="comment">/* unimplemented */</span>
<a name="l00036"></a>00036     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d66c69b05f49ce384ffb126235ba3ad9e">RPMVSF_NOMD5</a>        = (1 &lt;&lt; 17),
<a name="l00037"></a>00037     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602dadb72320d5dbd46383a235c877fd6c92">RPMVSF_NODSA</a>        = (1 &lt;&lt; 18),
<a name="l00038"></a>00038     <a class="code" href="rpmts_8h.html#081c96e55d490b5e99505eda7e93602d67f42f762ffdc38638984ff9b6ae9a3e">RPMVSF_NORSA</a>        = (1 &lt;&lt; 19)
<a name="l00039"></a>00039     <span class="comment">/* bit(s) 16-31 unused */</span>
<a name="l00040"></a>00040 } <a class="code" href="rpmts_8h.html#a9db567bc7c49d7d84ac7fc178543348">rpmVSFlags</a>;
<a name="l00041"></a>00041 
<a name="l00045"></a><a class="code" href="rpmts_8h.html#df8d91cfe26784d7698c0a7ff9d7c5a4">00045</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="rpmts_8h.html#df8d91cfe26784d7698c0a7ff9d7c5a4">rpmtsType_e</a> {
<a name="l00046"></a>00046         <a class="code" href="rpmts_8h.html#df8d91cfe26784d7698c0a7ff9d7c5a4fc9b73fcbb46d8e8cadd575da95ce6ad">RPMTRANS_TYPE_NORMAL</a>       = 0,
<a name="l00047"></a>00047         <a class="code" href="rpmts_8h.html#df8d91cfe26784d7698c0a7ff9d7c5a4b85324ec78df9059f2de60763a73c394">RPMTRANS_TYPE_ROLLBACK</a>     = (1 &lt;&lt; 0),
<a name="l00048"></a>00048         <a class="code" href="rpmts_8h.html#df8d91cfe26784d7698c0a7ff9d7c5a4290f32ddd88d0da7de23261f4200fcd8">RPMTRANS_TYPE_AUTOROLLBACK</a> = (1 &lt;&lt; 1)
<a name="l00049"></a>00049 } <a class="code" href="rpmts_8h.html#aa0f7d826f3af5282a633f49058e6fae">rpmtsType</a>;
<a name="l00050"></a>00050 
<a name="l00051"></a><a class="code" href="rpmts_8h.html#eece22238af582ac0a41afdafa77df77">00051</a> <span class="preprocessor">#define _RPMVSF_NODIGESTS       \</span>
<a name="l00052"></a>00052 <span class="preprocessor">  ( RPMVSF_NOSHA1HEADER |       \</span>
<a name="l00053"></a>00053 <span class="preprocessor">    RPMVSF_NOMD5HEADER |        \</span>
<a name="l00054"></a>00054 <span class="preprocessor">    RPMVSF_NOSHA1 |             \</span>
<a name="l00055"></a>00055 <span class="preprocessor">    RPMVSF_NOMD5 )</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a><a class="code" href="rpmts_8h.html#7515813532c9d4ead6bfd4b51860078f">00057</a> <span class="preprocessor">#define _RPMVSF_NOSIGNATURES    \</span>
<a name="l00058"></a>00058 <span class="preprocessor">  ( RPMVSF_NODSAHEADER |        \</span>
<a name="l00059"></a>00059 <span class="preprocessor">    RPMVSF_NORSAHEADER |        \</span>
<a name="l00060"></a>00060 <span class="preprocessor">    RPMVSF_NODSA |              \</span>
<a name="l00061"></a>00061 <span class="preprocessor">    RPMVSF_NORSA )</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span>
<a name="l00063"></a><a class="code" href="rpmts_8h.html#03c171c50b806012e0d030df2bf7d1fa">00063</a> <span class="preprocessor">#define _RPMVSF_NOHEADER        \</span>
<a name="l00064"></a>00064 <span class="preprocessor">  ( RPMVSF_NOSHA1HEADER |       \</span>
<a name="l00065"></a>00065 <span class="preprocessor">    RPMVSF_NOMD5HEADER |        \</span>
<a name="l00066"></a>00066 <span class="preprocessor">    RPMVSF_NODSAHEADER |        \</span>
<a name="l00067"></a>00067 <span class="preprocessor">    RPMVSF_NORSAHEADER )</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>
<a name="l00069"></a><a class="code" href="rpmts_8h.html#e7a1afc8a496d6a220fe42b9f2471724">00069</a> <span class="preprocessor">#define _RPMVSF_NOPAYLOAD       \</span>
<a name="l00070"></a>00070 <span class="preprocessor">  ( RPMVSF_NOSHA1 |             \</span>
<a name="l00071"></a>00071 <span class="preprocessor">    RPMVSF_NOMD5 |              \</span>
<a name="l00072"></a>00072 <span class="preprocessor">    RPMVSF_NODSA |              \</span>
<a name="l00073"></a>00073 <span class="preprocessor">    RPMVSF_NORSA )</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span>
<a name="l00078"></a><a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8">00078</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8">rpmtsOpX_e</a> {
<a name="l00079"></a>00079     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e86f0ce5af93689019395f5cdc494c5a24">RPMTS_OP_TOTAL</a>              =  0,
<a name="l00080"></a>00080     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e85356fe639387efd7b53a4057c378ae49">RPMTS_OP_CHECK</a>              =  1,
<a name="l00081"></a>00081     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8e2b521ca0e6ba2527c3cdca5d149cbce">RPMTS_OP_ORDER</a>              =  2,
<a name="l00082"></a>00082     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e85e6cf3176fa06fbffbd4a878e5f59a84">RPMTS_OP_FINGERPRINT</a>        =  3,
<a name="l00083"></a>00083     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e87af7e219842c35089372067203353ca6">RPMTS_OP_REPACKAGE</a>          =  4,
<a name="l00084"></a>00084     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e825ff61ecf1c593fe1a72a6e14a227316">RPMTS_OP_INSTALL</a>            =  5,
<a name="l00085"></a>00085     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8317efd907cc662db71f7f5469273cb0d">RPMTS_OP_ERASE</a>              =  6,
<a name="l00086"></a>00086     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e82aa94b9f182b64fd706ed2b5b1a201a1">RPMTS_OP_SCRIPTLETS</a>         =  7,
<a name="l00087"></a>00087     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e87e0fe8ee0f9b01955f30c80e68b1acbe">RPMTS_OP_COMPRESS</a>           =  8,
<a name="l00088"></a>00088     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8dbde80944b206dced013cd6da4de5865">RPMTS_OP_UNCOMPRESS</a>         =  9,
<a name="l00089"></a>00089     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8a1b0a28f4a226d6ede631a48c893c699">RPMTS_OP_DIGEST</a>             = 10,
<a name="l00090"></a>00090     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8cd751b874525c4a91d5069882ea4c3bd">RPMTS_OP_SIGNATURE</a>          = 11,
<a name="l00091"></a>00091     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e84d802f91d5b76c20daf5dd1f579883e0">RPMTS_OP_DBADD</a>              = 12,
<a name="l00092"></a>00092     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e805da8ae6b82fd3208443c6b90c95e070">RPMTS_OP_DBREMOVE</a>           = 13,
<a name="l00093"></a>00093     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8c4791034799125d1f92002d496bad726">RPMTS_OP_DBGET</a>              = 14,
<a name="l00094"></a>00094     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8a29ec872ee0db9c6f9e090fa0eabe5a8">RPMTS_OP_DBPUT</a>              = 15,
<a name="l00095"></a>00095     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e80966ecba921a4f1ec2c16a6df4a993ae">RPMTS_OP_DBDEL</a>              = 16,
<a name="l00096"></a>00096     <a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8d2c92e89ffba274614ed8c39d3e3b6f0">RPMTS_OP_MAX</a>                = 17
<a name="l00097"></a>00097 } <a class="code" href="rpmts_8h.html#dd3d65bbb5f7b28f08b940c1aa55cee1">rpmtsOpX</a>;
<a name="l00098"></a>00098 
<a name="l00099"></a>00099 <span class="preprocessor">#if defined(_RPMTS_INTERNAL)</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span>
<a name="l00101"></a>00101 <span class="preprocessor">#include "<a class="code" href="rpmhash_8h.html">rpmhash.h</a>"</span>    <span class="comment">/* XXX hashTable */</span>
<a name="l00102"></a>00102 <span class="preprocessor">#include "<a class="code" href="rpmal_8h.html">rpmal.h</a>"</span>      <span class="comment">/* XXX availablePackage/relocateFileList ,*/</span>
<a name="l00103"></a>00103 
<a name="l00104"></a>00104 <span class="comment">/**********************</span>
<a name="l00105"></a>00105 <span class="comment"> * Transaction Scores *</span>
<a name="l00106"></a>00106 <span class="comment"> **********************</span>
<a name="l00107"></a>00107 <span class="comment"> *</span>
<a name="l00108"></a>00108 <span class="comment"> * In order to allow instance counts to be adjusted properly when an</span>
<a name="l00109"></a>00109 <span class="comment"> * autorollback transaction is ran, we keep a list that is indexed</span>
<a name="l00110"></a>00110 <span class="comment"> * by rpm name of whether the rpm has been installed or erased.  This listed</span>
<a name="l00111"></a>00111 <span class="comment"> * is only updated:</span>
<a name="l00112"></a>00112 <span class="comment"> *</span>
<a name="l00113"></a>00113 <span class="comment"> *      iif autorollbacks are enabled.</span>
<a name="l00114"></a>00114 <span class="comment"> *      iif this is not a rollback or autorollback transaction.</span>
<a name="l00115"></a>00115 <span class="comment"> *</span>
<a name="l00116"></a>00116 <span class="comment"> * When creating an autorollback transaction, its rpmts points to the same</span>
<a name="l00117"></a>00117 <span class="comment"> * rpmtsScore object as the running transaction.  So when the autorollback</span>
<a name="l00118"></a>00118 <span class="comment"> * transaction runs it can see where each package was in the running transaction</span>
<a name="l00119"></a>00119 <span class="comment"> * at the point the running transaction failed, and thus on a per package</span>
<a name="l00120"></a>00120 <span class="comment"> * basis make adjustments to the instance counts.</span>
<a name="l00121"></a>00121 <span class="comment"> *</span>
<a name="l00122"></a>00122 <span class="comment"> * XXX: Jeff, I am not convinced that this does not need to be in its own file</span>
<a name="l00123"></a>00123 <span class="comment"> *      (i.e. rpmtsScore.{h,c}), but I first wanted to get it working.</span>
<a name="l00124"></a>00124 <span class="comment"> */</span>
<a name="l00125"></a>00125 <span class="keyword">struct </span>rpmtsScoreEntry_s {
<a name="l00126"></a>00126     <span class="keywordtype">char</span> *         N;                   
<a name="l00127"></a>00127     <a class="code" href="group__rpmte.html#g1dfdf5acad502ff9326eba93d0e2ab57">rpmElementType</a> te_types;            
<a name="l00128"></a>00128     <span class="keywordtype">int</span>            installed;           
<a name="l00129"></a>00129     <span class="keywordtype">int</span>            erased;              
<a name="l00130"></a>00130 };
<a name="l00131"></a>00131 
<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="comment">/*@abstract@*/</span> <span class="keyword">struct </span>rpmtsScoreEntry_s * rpmtsScoreEntry;
<a name="l00133"></a>00133 
<a name="l00134"></a>00134 <span class="keyword">struct </span>rpmtsScore_s {
<a name="l00135"></a>00135         <span class="keywordtype">int</span> entries;                    
<a name="l00136"></a>00136         rpmtsScoreEntry * scores;       
<a name="l00137"></a>00137         <span class="keywordtype">int</span> nrefs;                      
<a name="l00138"></a>00138 };
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 <span class="keyword">typedef</span> <span class="comment">/*@abstract@*/</span> <span class="keyword">struct </span>rpmtsScore_s * rpmtsScore;
<a name="l00141"></a>00141 
<a name="l00142"></a>00142 
<a name="l00150"></a>00150 <a class="code" href="rpmlib_8h.html#06da857c39457bfb6ea9049643fdb706">rpmRC</a> <a class="code" href="rpmts_8c.html#a0d2a6ce593272a655d19c5a55f1c0ed">rpmtsScoreInit</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> runningTS, <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> rollbackTS)
<a name="l00151"></a>00151         <span class="comment">/*@globals fileSystem @*/</span>
<a name="l00152"></a>00152         <span class="comment">/*@modifies runningTS, rollbackTS, fileSystem @*/</span>;
<a name="l00153"></a>00153 
<a name="l00159"></a>00159 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00160"></a>00160 <span class="comment">/*@null@*/</span>
<a name="l00161"></a>00161 rpmtsScore <a class="code" href="rpmts_8c.html#f1f5177127ce75f7afa0822160f408e7">rpmtsScoreFree</a>(<span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> rpmtsScore score)
<a name="l00162"></a>00162         <span class="comment">/*@modifies score @*/</span>;
<a name="l00163"></a>00163 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00164"></a>00164 
<a name="l00170"></a>00170 <span class="comment">/*@exposed@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00171"></a>00171 rpmtsScore <a class="code" href="rpmts_8c.html#f8a6938a2063c15dd3cc7d78bbc0745f">rpmtsGetScore</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00172"></a>00172         <span class="comment">/*@*/</span>;
<a name="l00173"></a>00173 
<a name="l00179"></a>00179 <span class="comment">/*@null@*/</span>
<a name="l00180"></a>00180 rpmtsScoreEntry <a class="code" href="rpmts_8c.html#769d1d67118a174f004cc9144ff19548">rpmtsScoreGetEntry</a>(rpmtsScore score, <span class="keyword">const</span> <span class="keywordtype">char</span> *N)
<a name="l00181"></a>00181         <span class="comment">/*@*/</span>;
<a name="l00182"></a>00182 
<a name="l00188"></a>00188 <span class="comment">/**************************</span>
<a name="l00189"></a>00189 <span class="comment"> * END Transaction Scores *</span>
<a name="l00190"></a>00190 <span class="comment"> **************************/</span>
<a name="l00191"></a>00191 
<a name="l00192"></a>00192 <span class="comment">/*@unchecked@*/</span>
<a name="l00193"></a>00193 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00194"></a>00194 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="depends_8c.html#b3bbab058bc50bb64ebb30d0b08326e5">_cacheDependsRC</a>;
<a name="l00195"></a>00195 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00196"></a>00196 
<a name="l00199"></a>00199 <span class="keyword">typedef</span> <span class="comment">/*@abstract@*/</span> <span class="keyword">struct </span>diskspaceInfo_s * rpmDiskSpaceInfo;
<a name="l00200"></a>00200 
<a name="l00203"></a>00203 <span class="keyword">struct </span>diskspaceInfo_s {
<a name="l00204"></a>00204     dev_t dev;                  
<a name="l00205"></a>00205     <span class="keywordtype">signed</span> <span class="keywordtype">long</span> bneeded;        
<a name="l00206"></a>00206     <span class="keywordtype">signed</span> <span class="keywordtype">long</span> ineeded;        
<a name="l00207"></a>00207     <span class="keywordtype">int</span> bsize;                  
<a name="l00208"></a>00208     <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> bavail;    
<a name="l00209"></a>00209     <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> iavail;    
<a name="l00210"></a>00210 };
<a name="l00211"></a>00211 
<a name="l00215"></a>00215 <span class="preprocessor">#define adj_fs_blocks(_nb)      (((_nb) * 21) / 20)</span>
<a name="l00216"></a>00216 <span class="preprocessor"></span>
<a name="l00217"></a>00217 <span class="comment">/* argon thought a shift optimization here was a waste of time...  he's</span>
<a name="l00218"></a>00218 <span class="comment">   probably right :-( */</span>
<a name="l00219"></a>00219 <span class="preprocessor">#define BLOCK_ROUND(size, block) (((size) + (block) - 1) / (block))</span>
<a name="l00220"></a>00220 <span class="preprocessor"></span>
<a name="l00223"></a>00223 <span class="keyword">typedef</span> <span class="keyword">enum</span> tsStage_e {
<a name="l00224"></a>00224     TSM_UNKNOWN         =  0,
<a name="l00225"></a>00225     TSM_INSTALL         =  7,
<a name="l00226"></a>00226     TSM_ERASE           =  8,
<a name="l00227"></a>00227 } tsmStage;
<a name="l00228"></a>00228 
<a name="l00232"></a>00232 <span class="keyword">struct </span>rpmts_s {
<a name="l00233"></a>00233     <a class="code" href="rpmlib_8h.html#d87e8817307660c512cd00b63d08319c">rpmtransFlags</a> transFlags;   
<a name="l00234"></a>00234     tsmStage goal;              
<a name="l00235"></a>00235     <a class="code" href="rpmts_8h.html#aa0f7d826f3af5282a633f49058e6fae">rpmtsType</a> type;             
<a name="l00237"></a>00237 <span class="comment">/*@refcounted@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00238"></a>00238     <a class="code" href="structrpmdb__s.html">rpmdb</a> sdb;                  
<a name="l00239"></a>00239     <span class="keywordtype">int</span> sdbmode;                
<a name="l00240"></a>00240 <span class="comment">/*@null@*/</span>
<a name="l00241"></a>00241     int (*solve) (<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmlib_8h.html#8ee68aea070136e6b8c844995ff0c5a8">rpmds</a> key, <span class="keyword">const</span> <span class="keywordtype">void</span> * data)
<a name="l00242"></a>00242         <span class="comment">/*@modifies ts @*/</span>;     
<a name="l00243"></a>00243 <span class="comment">/*@relnull@*/</span>
<a name="l00244"></a>00244     <span class="keyword">const</span> <span class="keywordtype">void</span> * solveData;     
<a name="l00245"></a>00245     <span class="keywordtype">int</span> nsuggests;              
<a name="l00246"></a>00246 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00247"></a>00247     <span class="keyword">const</span> <span class="keywordtype">void</span> ** suggests;     
<a name="l00249"></a>00249 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00250"></a>00250     <a class="code" href="rpmmessages_8h.html#08e6e8b5410bd79e1e9fef0bb92d0583">rpmCallbackFunction</a> notify; 
<a name="l00251"></a>00251 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00252"></a>00252     <a class="code" href="rpmmessages_8h.html#067882612b4f56c9edad5e9c4382ee3e">rpmCallbackData</a> notifyData; 
<a name="l00254"></a>00254 <span class="comment">/*@refcounted@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00255"></a>00255     <a class="code" href="structrpmps__s.html">rpmps</a> probs;                
<a name="l00256"></a>00256     <a class="code" href="rpmlib_8h.html#4fae99c0cb085dffdb1d258d9027bf42">rpmprobFilterFlags</a> ignoreSet;
<a name="l00259"></a>00259     <span class="keywordtype">int</span> filesystemCount;        
<a name="l00260"></a>00260 <span class="comment">/*@dependent@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00261"></a>00261     <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="fs_8c.html#531df9c9c92bacc09f22ee65e9e53fbc">filesystems</a>;  
<a name="l00262"></a>00262 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00263"></a>00263     rpmDiskSpaceInfo dsi;       
<a name="l00265"></a>00265 <span class="comment">/*@refcounted@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00266"></a>00266     <a class="code" href="structrpmdb__s.html">rpmdb</a> rdb;                  
<a name="l00267"></a>00267     <span class="keywordtype">int</span> dbmode;                 
<a name="l00268"></a>00268 <span class="comment">/*@only@*/</span>
<a name="l00269"></a>00269     <a class="code" href="structhashTable__s.html">hashTable</a> ht;               
<a name="l00271"></a>00271 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00272"></a>00272     <span class="keywordtype">int</span> * removedPackages;      
<a name="l00273"></a>00273     <span class="keywordtype">int</span> numRemovedPackages;     
<a name="l00274"></a>00274     <span class="keywordtype">int</span> allocedRemovedPackages; 
<a name="l00276"></a>00276 <span class="comment">/*@only@*/</span>
<a name="l00277"></a>00277     <a class="code" href="structrpmal__s.html">rpmal</a> addedPackages;        
<a name="l00278"></a>00278     <span class="keywordtype">int</span> numAddedPackages;       
<a name="l00280"></a>00280 <span class="preprocessor">#ifndef DYING</span>
<a name="l00281"></a>00281 <span class="preprocessor"></span><span class="comment">/*@only@*/</span>
<a name="l00282"></a>00282     <a class="code" href="structrpmal__s.html">rpmal</a> availablePackages;    
<a name="l00283"></a>00283     <span class="keywordtype">int</span> numAvailablePackages;   
<a name="l00284"></a>00284 <span class="preprocessor">#endif</span>
<a name="l00285"></a>00285 <span class="preprocessor"></span>
<a name="l00286"></a>00286 <span class="comment">/*@refcounted@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00287"></a>00287     <a class="code" href="rpmsx_8h.html#0aa3c21be12f3a6e6ce79c4e3aea816f">rpmsx</a> sx;                   
<a name="l00289"></a>00289 <span class="comment">/*@null@*/</span>
<a name="l00290"></a>00290     <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> relocateElement;      
<a name="l00292"></a>00292 <span class="comment">/*@owned@*/</span> <span class="comment">/*@relnull@*/</span>
<a name="l00293"></a>00293     <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> * order;              
<a name="l00294"></a>00294     <span class="keywordtype">int</span> orderCount;             
<a name="l00295"></a>00295     <span class="keywordtype">int</span> orderAlloced;           
<a name="l00296"></a>00296     <span class="keywordtype">int</span> unorderedSuccessors;    
<a name="l00297"></a>00297     <span class="keywordtype">int</span> ntrees;                 
<a name="l00298"></a>00298     <span class="keywordtype">int</span> maxDepth;               
<a name="l00300"></a>00300     <span class="keywordtype">int</span> selinuxEnabled;         
<a name="l00301"></a>00301     <span class="keywordtype">int</span> chrootDone;             
<a name="l00302"></a>00302 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00303"></a>00303     <span class="keyword">const</span> <span class="keywordtype">char</span> * rootDir;       
<a name="l00304"></a>00304 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00305"></a>00305     <span class="keyword">const</span> <span class="keywordtype">char</span> * currDir;       
<a name="l00306"></a>00306 <span class="comment">/*@null@*/</span>
<a name="l00307"></a>00307     <a class="code" href="struct__FD__s.html">FD_t</a> scriptFd;              
<a name="l00308"></a>00308     <span class="keywordtype">int</span> delta;                  
<a name="l00309"></a>00309     <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> tid;                 
<a name="l00311"></a>00311     <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> color;              
<a name="l00312"></a>00312     <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> prefcolor;          
<a name="l00314"></a>00314     <a class="code" href="rpmts_8h.html#a9db567bc7c49d7d84ac7fc178543348">rpmVSFlags</a> <a class="code" href="rpmcache_8c.html#0db9ecdc1e541264501b025ef23d7c69">vsflags</a>;         
<a name="l00316"></a>00316 <span class="comment">/*@observer@*/</span> <span class="comment">/*@dependent@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00317"></a>00317     <span class="keyword">const</span> <span class="keywordtype">char</span> * fn;            
<a name="l00318"></a>00318     <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a>  sigtag;             
<a name="l00319"></a>00319     <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a>  sigtype;            
<a name="l00320"></a>00320 <span class="comment">/*@null@*/</span>
<a name="l00321"></a>00321     <span class="keyword">const</span> <span class="keywordtype">void</span> * sig;           
<a name="l00322"></a>00322     <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> siglen;              
<a name="l00324"></a>00324 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00325"></a>00325     <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * pkpkt;
<a name="l00326"></a>00326     size_t pkpktlen;            
<a name="l00327"></a>00327     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> pksignid[8];  
<a name="l00329"></a>00329     <span class="keyword">struct </span><a class="code" href="structrpmop__s.html">rpmop_s</a> <a class="code" href="rpmio__internal_8h.html#0db1fac298fd8c2f115ae01184e50148">ops</a>[<a class="code" href="rpmts_8h.html#91b5b6bbde8250526b406de6b91735e8d2c92e89ffba274614ed8c39d3e3b6f0">RPMTS_OP_MAX</a>];
<a name="l00330"></a>00330 
<a name="l00331"></a>00331 <span class="comment">/*@null@*/</span>
<a name="l00332"></a>00332     <a class="code" href="structpgpDig__s.html">pgpDig</a> dig;                 
<a name="l00334"></a>00334 <span class="comment">/*@null@*/</span>
<a name="l00335"></a>00335     <a class="code" href="structSpec__s.html">Spec</a> spec;                  
<a name="l00337"></a>00337 <span class="comment">/*@kept@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00338"></a>00338     rpmtsScore score;           
<a name="l00340"></a>00340 <span class="comment">/*@refs@*/</span>
<a name="l00341"></a>00341     <span class="keywordtype">int</span> nrefs;                  
<a name="l00342"></a>00342 };
<a name="l00343"></a>00343 <span class="preprocessor">#endif  </span><span class="comment">/* _RPMTS_INTERNAL */</span>
<a name="l00344"></a>00344 
<a name="l00345"></a>00345 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00346"></a>00346 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00347"></a>00347 <span class="preprocessor">#endif</span>
<a name="l00348"></a>00348 <span class="preprocessor"></span>
<a name="l00359"></a>00359 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#geb564de4ae14b941c0eb37156c77e7df">rpmtsCheck</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00360"></a>00360         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00361"></a>00361         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00362"></a>00362 
<a name="l00379"></a>00379 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#gc1689f2882788245b3741dee4c0ae120">rpmtsOrder</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00380"></a>00380         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00381"></a>00381         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00382"></a>00382 
<a name="l00400"></a>00400 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g3212cf94e6299cc6ec114f2c49e93acd">rpmtsRun</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="structrpmps__s.html">rpmps</a> okProbs, <a class="code" href="rpmlib_8h.html#4fae99c0cb085dffdb1d258d9027bf42">rpmprobFilterFlags</a> ignoreSet)
<a name="l00401"></a>00401         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00402"></a>00402         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00403"></a>00403 
<a name="l00410"></a>00410 <span class="comment">/*@unused@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00411"></a>00411 <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> <a class="code" href="rpmts_8h.html#f27db7edb1920f8c496fc083fd123cf0">rpmtsUnlink</a> (<span class="comment">/*@killref@*/</span> <span class="comment">/*@only@*/</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l00412"></a>00412                 <span class="keyword">const</span> <span class="keywordtype">char</span> * msg)
<a name="l00413"></a>00413         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00414"></a>00414 
<a name="l00416"></a>00416 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00417"></a>00417 <span class="comment">/*@null@*/</span>
<a name="l00418"></a>00418 <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> <a class="code" href="rpmts_8c.html#3bee3d8c3017a78ba22389488c2553fe">XrpmtsUnlink</a> (<span class="comment">/*@killref@*/</span> <span class="comment">/*@only@*/</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l00419"></a>00419                 <span class="keyword">const</span> <span class="keywordtype">char</span> * msg, <span class="keyword">const</span> <span class="keywordtype">char</span> * fn, <span class="keywordtype">unsigned</span> ln)
<a name="l00420"></a>00420         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00421"></a>00421 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00422"></a><a class="code" href="rpmts_8h.html#f27db7edb1920f8c496fc083fd123cf0">00422</a> <span class="preprocessor">#define rpmtsUnlink(_ts, _msg)  XrpmtsUnlink(_ts, _msg, __FILE__, __LINE__)</span>
<a name="l00423"></a>00423 <span class="preprocessor"></span>
<a name="l00430"></a>00430 <span class="comment">/*@unused@*/</span>
<a name="l00431"></a>00431 <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> <a class="code" href="rpmts_8h.html#ff6f4de19581560802e96cdfc0d3d5fd">rpmtsLink</a> (<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keyword">const</span> <span class="keywordtype">char</span> * msg)
<a name="l00432"></a>00432         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00433"></a>00433 
<a name="l00435"></a>00435 <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> <a class="code" href="rpmts_8c.html#706e8adc4e5064204d761b1208afd699">XrpmtsLink</a> (<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l00436"></a>00436                 <span class="keyword">const</span> <span class="keywordtype">char</span> * msg, <span class="keyword">const</span> <span class="keywordtype">char</span> * fn, <span class="keywordtype">unsigned</span> ln)
<a name="l00437"></a>00437         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00438"></a><a class="code" href="rpmts_8h.html#ff6f4de19581560802e96cdfc0d3d5fd">00438</a> <span class="preprocessor">#define rpmtsLink(_ts, _msg)    XrpmtsLink(_ts, _msg, __FILE__, __LINE__)</span>
<a name="l00439"></a>00439 <span class="preprocessor"></span>
<a name="l00445"></a>00445 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#gdf6909a1fd8b304e57583ccae8adefa7">rpmtsCloseDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00446"></a>00446         <span class="comment">/*@globals fileSystem @*/</span>
<a name="l00447"></a>00447         <span class="comment">/*@modifies ts, fileSystem @*/</span>;
<a name="l00448"></a>00448 
<a name="l00455"></a>00455 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g91749a850b2cffae16007437b7768570">rpmtsOpenDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keywordtype">int</span> dbmode)
<a name="l00456"></a>00456         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00457"></a>00457         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00458"></a>00458 
<a name="l00466"></a>00466 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#gc5c481337c698b24e3e88a050fd9d50e">rpmtsInitDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keywordtype">int</span> dbmode)
<a name="l00467"></a>00467         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00468"></a>00468         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00469"></a>00469 
<a name="l00475"></a>00475 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g363e4ac3170e62c0e84913dbc2712785">rpmtsRebuildDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00476"></a>00476         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00477"></a>00477         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00478"></a>00478 
<a name="l00484"></a>00484 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#gaa8ba16c69e83f4062910eccc03ff0cf">rpmtsVerifyDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00485"></a>00485         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00486"></a>00486         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00487"></a>00487 
<a name="l00496"></a>00496 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00497"></a>00497 <a class="code" href="struct__rpmdbMatchIterator.html">rpmdbMatchIterator</a> <a class="code" href="group__rpmts.html#g16ebec8beff205af120f86b2b6c7e25d">rpmtsInitIterator</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmlib_8h.html#d0da081a8aa5491edae4ad732d03c2f3">rpmTag</a> rpmtag,
<a name="l00498"></a>00498                         <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * keyp, size_t keylen)
<a name="l00499"></a>00499         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00500"></a>00500         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00501"></a>00501 
<a name="l00507"></a>00507 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00508"></a>00508 <a class="code" href="rpmlib_8h.html#06da857c39457bfb6ea9049643fdb706">rpmRC</a> <a class="code" href="rpmts_8c.html#a023ea4074128da4eaeab8370dc65a2d">rpmtsFindPubkey</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00509"></a>00509         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00510"></a>00510         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState */</span>;
<a name="l00511"></a>00511 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00512"></a>00512 
<a name="l00518"></a>00518 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00519"></a>00519 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#gd73fcf6b5e1763a6c95aefb3074bfffc">rpmtsCloseSDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00520"></a>00520         <span class="comment">/*@globals fileSystem @*/</span>
<a name="l00521"></a>00521         <span class="comment">/*@modifies ts, fileSystem @*/</span>;
<a name="l00522"></a>00522 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00523"></a>00523 
<a name="l00530"></a>00530 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00531"></a>00531 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g274af81b52b26a641c8ece539bd9a839">rpmtsOpenSDB</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keywordtype">int</span> dbmode)
<a name="l00532"></a>00532         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00533"></a>00533         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00534"></a>00534 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00535"></a>00535 
<a name="l00543"></a>00543 <span class="comment">/*@-exportlocal@*/</span>
<a name="l00544"></a>00544 <span class="keywordtype">int</span> <a class="code" href="rpmts_8c.html#b617c3b74e6dc3771e94353c3234b3b0">rpmtsSolve</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmlib_8h.html#8ee68aea070136e6b8c844995ff0c5a8">rpmds</a> ds, <span class="keyword">const</span> <span class="keywordtype">void</span> * data)
<a name="l00545"></a>00545         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l00546"></a>00546         <span class="comment">/*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l00547"></a>00547 <span class="comment">/*@=exportlocal@*/</span>
<a name="l00548"></a>00548 
<a name="l00556"></a>00556 <span class="comment">/*@unused@*/</span>
<a name="l00557"></a>00557 <span class="keywordtype">int</span> <a class="code" href="rpmts_8c.html#56998648b98505ffe927ba685449760e">rpmtsAvailable</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#8ee68aea070136e6b8c844995ff0c5a8">rpmds</a> ds)
<a name="l00558"></a>00558         <span class="comment">/*@globals fileSystem @*/</span>
<a name="l00559"></a>00559         <span class="comment">/*@modifies ts, fileSystem @*/</span>;
<a name="l00560"></a>00560 
<a name="l00568"></a>00568 <span class="keywordtype">int</span> <a class="code" href="rpmts_8c.html#5694d89afc49fe5dbfc567a49bf29ed0">rpmtsSetSolveCallback</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l00569"></a>00569                 <span class="keywordtype">int</span> (*solve) (<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmlib_8h.html#8ee68aea070136e6b8c844995ff0c5a8">rpmds</a> ds, <span class="keyword">const</span> <span class="keywordtype">void</span> * data),
<a name="l00570"></a>00570                 <span class="keyword">const</span> <span class="keywordtype">void</span> * solveData)
<a name="l00571"></a>00571         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00572"></a>00572 
<a name="l00578"></a>00578 <a class="code" href="rpmts_8h.html#aa0f7d826f3af5282a633f49058e6fae">rpmtsType</a> <a class="code" href="rpmts_8c.html#0ecab570b23d1701f7adebd4591ee145">rpmtsGetType</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00579"></a>00579         <span class="comment">/*@*/</span>;
<a name="l00580"></a>00580 
<a name="l00592"></a>00592 <span class="keywordtype">void</span> <a class="code" href="rpmts_8c.html#5618ea71add89b2dcbced4662992870f">rpmtsSetType</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmts_8h.html#aa0f7d826f3af5282a633f49058e6fae">rpmtsType</a> type)
<a name="l00593"></a>00593         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00594"></a>00594 
<a name="l00600"></a>00600 <span class="comment">/*@null@*/</span>
<a name="l00601"></a>00601 <a class="code" href="structrpmps__s.html">rpmps</a> <a class="code" href="rpmts_8c.html#2b23bab4be67f04a60ce463d4acfd63c">rpmtsProblems</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00602"></a>00602         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00603"></a>00603 
<a name="l00608"></a>00608 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#g309c0de1f11110480d49295733c7b12a">rpmtsCleanDig</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00609"></a>00609         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00610"></a>00610 
<a name="l00615"></a>00615 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#gd3104a1a8c915cde09f2101a16f78133">rpmtsClean</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00616"></a>00616         <span class="comment">/*@globals fileSystem, internalState @*/</span>
<a name="l00617"></a>00617         <span class="comment">/*@modifies ts, fileSystem , internalState@*/</span>;
<a name="l00618"></a>00618 
<a name="l00623"></a>00623 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#g750ffc50f4e538262f607c567adf0ef5">rpmtsEmpty</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00624"></a>00624         <span class="comment">/*@globals fileSystem, internalState @*/</span>
<a name="l00625"></a>00625         <span class="comment">/*@modifies ts, fileSystem, internalState @*/</span>;
<a name="l00626"></a>00626 
<a name="l00632"></a>00632 <span class="comment">/*@null@*/</span>
<a name="l00633"></a>00633 <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> <a class="code" href="group__rpmts.html#g5315165a6e80a0c71dbe5eb07dd18f58">rpmtsFree</a>(<span class="comment">/*@killref@*/</span> <span class="comment">/*@only@*/</span><span class="comment">/*@null@*/</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00634"></a>00634         <span class="comment">/*@globals fileSystem, internalState @*/</span>
<a name="l00635"></a>00635         <span class="comment">/*@modifies ts, fileSystem, internalState @*/</span>;
<a name="l00636"></a>00636 
<a name="l00642"></a>00642 <a class="code" href="rpmts_8h.html#a9db567bc7c49d7d84ac7fc178543348">rpmVSFlags</a> <a class="code" href="group__rpmts.html#g47b09cd4427cbb6c23d124e6dad07f81">rpmtsVSFlags</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00643"></a>00643         <span class="comment">/*@*/</span>;
<a name="l00644"></a>00644 
<a name="l00651"></a>00651 <a class="code" href="rpmts_8h.html#a9db567bc7c49d7d84ac7fc178543348">rpmVSFlags</a> <a class="code" href="group__rpmts.html#g586c60d8364e263aa5e22736cbac1e69">rpmtsSetVSFlags</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmts_8h.html#a9db567bc7c49d7d84ac7fc178543348">rpmVSFlags</a> <a class="code" href="rpmcache_8c.html#0db9ecdc1e541264501b025ef23d7c69">vsflags</a>)
<a name="l00652"></a>00652         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00653"></a>00653 
<a name="l00660"></a>00660 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g079629930e563a19f00ba563c9d2cd87">rpmtsUnorderedSuccessors</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keywordtype">int</span> first)
<a name="l00661"></a>00661         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00662"></a>00662 
<a name="l00668"></a>00668 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00669"></a>00669 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmts.html#gdf9c9eb5ddc9ec497575bfc0335ace15">rpmtsRootDir</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00670"></a>00670         <span class="comment">/*@*/</span>;
<a name="l00671"></a>00671 
<a name="l00677"></a>00677 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#gf439dbffbc12be3957438824fa206282">rpmtsSetRootDir</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * rootDir)
<a name="l00678"></a>00678         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00679"></a>00679 
<a name="l00685"></a>00685 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00686"></a>00686 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmts.html#g4126dff567b54b5acae71c565075e3da">rpmtsCurrDir</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00687"></a>00687         <span class="comment">/*@*/</span>;
<a name="l00688"></a>00688 
<a name="l00694"></a>00694 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#g39857606b5c3093351c628a7dfcd5a5a">rpmtsSetCurrDir</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * currDir)
<a name="l00695"></a>00695         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00696"></a>00696 
<a name="l00702"></a>00702 <span class="comment">/*@null@*/</span>
<a name="l00703"></a>00703 <a class="code" href="struct__FD__s.html">FD_t</a> <a class="code" href="group__rpmts.html#gf9185d7ec5096c8e1058750937a299e7">rpmtsScriptFd</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00704"></a>00704         <span class="comment">/*@*/</span>;
<a name="l00705"></a>00705 
<a name="l00711"></a>00711 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#g6efeaa9304a312707f2940577bc7a398">rpmtsSetScriptFd</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="comment">/*@null@*/</span> <a class="code" href="struct__FD__s.html">FD_t</a> scriptFd)
<a name="l00712"></a>00712         <span class="comment">/*@modifies ts, scriptFd @*/</span>;
<a name="l00713"></a>00713 
<a name="l00719"></a>00719 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g05e5e58b25c9bb474d70000c9b24697c">rpmtsSELinuxEnabled</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00720"></a>00720         <span class="comment">/*@*/</span>;
<a name="l00721"></a>00721 
<a name="l00727"></a>00727 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g1db773f0137abb1593a35a396eed168a">rpmtsChrootDone</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00728"></a>00728         <span class="comment">/*@*/</span>;
<a name="l00729"></a>00729 
<a name="l00736"></a>00736 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g1b06d5545f2232201dc199bcbe9d0f04">rpmtsSetChrootDone</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keywordtype">int</span> chrootDone)
<a name="l00737"></a>00737         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00738"></a>00738 
<a name="l00744"></a>00744 <span class="comment">/*@null@*/</span>
<a name="l00745"></a>00745 <a class="code" href="rpmsx_8h.html#0aa3c21be12f3a6e6ce79c4e3aea816f">rpmsx</a> <a class="code" href="group__rpmts.html#g46c88c252cd16ecc25168cc756c89ca7">rpmtsREContext</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00746"></a>00746         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00747"></a>00747 
<a name="l00754"></a>00754 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g0fa704711d6ee0223026465e51b81e06">rpmtsSetREContext</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmsx_8h.html#0aa3c21be12f3a6e6ce79c4e3aea816f">rpmsx</a> sx)
<a name="l00755"></a>00755         <span class="comment">/*@modifies ts, sx @*/</span>;
<a name="l00756"></a>00756 
<a name="l00762"></a>00762 <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> <a class="code" href="group__rpmts.html#gcc57dec2026120db7add45ef83859863">rpmtsGetTid</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00763"></a>00763         <span class="comment">/*@*/</span>;
<a name="l00764"></a>00764 
<a name="l00771"></a>00771 <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> <a class="code" href="group__rpmts.html#gcda5c0b0b948a95ff05c583a06edbbe6">rpmtsSetTid</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> tid)
<a name="l00772"></a>00772         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00773"></a>00773 
<a name="l00779"></a>00779 <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> <a class="code" href="group__rpmts.html#ge4ec35553665073cbf54c91e6309a21b">rpmtsSigtag</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00780"></a>00780         <span class="comment">/*@*/</span>;
<a name="l00781"></a>00781 
<a name="l00787"></a>00787 <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> <a class="code" href="group__rpmts.html#gb0bce994a21836ab963cb5e4eb8bfd2b">rpmtsSigtype</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00788"></a>00788         <span class="comment">/*@*/</span>;
<a name="l00789"></a>00789 
<a name="l00795"></a>00795 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00796"></a>00796 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="group__rpmts.html#gcba74560f97f228aa1ccce1b9fbfb99c">rpmtsSig</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00797"></a>00797         <span class="comment">/*@*/</span>;
<a name="l00798"></a>00798 
<a name="l00804"></a>00804 <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> <a class="code" href="group__rpmts.html#gb50941e69189d188a9ba7055a1a5314a">rpmtsSiglen</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00805"></a>00805         <span class="comment">/*@*/</span>;
<a name="l00806"></a>00806 
<a name="l00816"></a>00816 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g5975e16034624f08e332c25a819c40b1">rpmtsSetSig</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l00817"></a>00817                 <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> sigtag, <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> sigtype,
<a name="l00818"></a>00818                 <span class="comment">/*@kept@*/</span> <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * sig, <a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> siglen)
<a name="l00819"></a>00819         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00820"></a>00820 
<a name="l00826"></a>00826 <span class="comment">/*@exposed@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00827"></a>00827 <a class="code" href="structpgpDig__s.html">pgpDig</a> <a class="code" href="group__rpmts.html#g2bbb2abf2e5879cc00dd60b106d38d4a">rpmtsDig</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00828"></a>00828         <span class="comment">/*@*/</span>;
<a name="l00829"></a>00829 
<a name="l00835"></a>00835 <span class="comment">/*@exposed@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00836"></a>00836 <a class="code" href="structpgpDigParams__s.html">pgpDigParams</a> <a class="code" href="group__rpmts.html#g29435d12759f96b389ca1b87ee754ab9">rpmtsSignature</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00837"></a>00837         <span class="comment">/*@*/</span>;
<a name="l00838"></a>00838 
<a name="l00844"></a>00844 <span class="comment">/*@exposed@*/</span> <span class="comment">/*@null@*/</span>
<a name="l00845"></a>00845 <a class="code" href="structpgpDigParams__s.html">pgpDigParams</a> <a class="code" href="group__rpmts.html#g66b7b73d1f7b0eec66deb4a670d4908f">rpmtsPubkey</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00846"></a>00846         <span class="comment">/*@*/</span>;
<a name="l00847"></a>00847 
<a name="l00853"></a>00853 <span class="comment">/*@null@*/</span>
<a name="l00854"></a>00854 <a class="code" href="structrpmdb__s.html">rpmdb</a> <a class="code" href="group__rpmts.html#ge89623057eedd0d767dbd4e8d24badd4">rpmtsGetRdb</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00855"></a>00855         <span class="comment">/*@*/</span>;
<a name="l00856"></a>00856 
<a name="l00862"></a>00862 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g309eaef1b10e9edb69df01f2a05553c3">rpmtsInitDSI</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00863"></a>00863         <span class="comment">/*@globals fileSystem, internalState @*/</span>
<a name="l00864"></a>00864         <span class="comment">/*@modifies ts, fileSystem, internalState @*/</span>;
<a name="l00865"></a>00865 
<a name="l00875"></a>00875 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#gc7d67982812a7f3cea0e994e4690f603">rpmtsUpdateDSI</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, dev_t dev,
<a name="l00876"></a>00876                 <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> fileSize, <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> prevSize, <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> fixupSize,
<a name="l00877"></a>00877                 <a class="code" href="rpmlib_8h.html#b8093e386e879383837c4a528d8b9bdc">fileAction</a> action)
<a name="l00878"></a>00878         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00879"></a>00879 
<a name="l00885"></a>00885 <span class="keywordtype">void</span> <a class="code" href="group__rpmts.html#g894c2a8c99f6eed70aeea9f96a740a91">rpmtsCheckDSIProblems</a>(<span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keyword">const</span> <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> te)
<a name="l00886"></a>00886         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00887"></a>00887 
<a name="l00897"></a>00897 <span class="comment">/*@null@*/</span>
<a name="l00898"></a>00898 <span class="keywordtype">void</span> * <a class="code" href="rpmts_8c.html#0a6512ba9da24d7fe31f7113e7ae2176">rpmtsNotify</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> te,
<a name="l00899"></a>00899                 <a class="code" href="rpmmessages_8h.html#4f8b1526f2292df6368fe2bbca7b763d">rpmCallbackType</a> what, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> amount, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> total)
<a name="l00900"></a>00900         <span class="comment">/*@*/</span>;
<a name="l00901"></a>00901 
<a name="l00907"></a>00907 <span class="keywordtype">int</span> <a class="code" href="rpmts_8c.html#d9578a0aa9a771a8828c5cc03ec41332">rpmtsNElements</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00908"></a>00908         <span class="comment">/*@*/</span>;
<a name="l00909"></a>00909 
<a name="l00916"></a>00916 <span class="comment">/*@null@*/</span> <span class="comment">/*@dependent@*/</span>
<a name="l00917"></a>00917 <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> <a class="code" href="rpmts_8c.html#2b820716263e8abe8c4138e1e30da2c1">rpmtsElement</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="keywordtype">int</span> ix)
<a name="l00918"></a>00918         <span class="comment">/*@*/</span>;
<a name="l00919"></a>00919 
<a name="l00925"></a>00925 <a class="code" href="rpmlib_8h.html#4fae99c0cb085dffdb1d258d9027bf42">rpmprobFilterFlags</a> <a class="code" href="group__rpmts.html#gbd11a5aa3c4191f660188c543dce0df2">rpmtsFilterFlags</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00926"></a>00926         <span class="comment">/*@*/</span>;
<a name="l00927"></a>00927 
<a name="l00933"></a>00933 <a class="code" href="rpmlib_8h.html#d87e8817307660c512cd00b63d08319c">rpmtransFlags</a> <a class="code" href="group__rpmts.html#g22eec4db17655dd92ce5715312d153c3">rpmtsFlags</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00934"></a>00934         <span class="comment">/*@*/</span>;
<a name="l00935"></a>00935 
<a name="l00942"></a>00942 <a class="code" href="rpmlib_8h.html#d87e8817307660c512cd00b63d08319c">rpmtransFlags</a> <a class="code" href="group__rpmts.html#g6de0f661993ee0829c34dbfadcd9696e">rpmtsSetFlags</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmlib_8h.html#d87e8817307660c512cd00b63d08319c">rpmtransFlags</a> transFlags)
<a name="l00943"></a>00943         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00944"></a>00944 
<a name="l00950"></a>00950 <span class="comment">/*@null@*/</span>
<a name="l00951"></a>00951 <a class="code" href="structSpec__s.html">Spec</a> <a class="code" href="group__rpmts.html#ge64162cee246b16424e2cc31c015666c">rpmtsSpec</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00952"></a>00952         <span class="comment">/*@*/</span>;
<a name="l00953"></a>00953 
<a name="l00960"></a>00960 <span class="comment">/*@null@*/</span>
<a name="l00961"></a>00961 <a class="code" href="structSpec__s.html">Spec</a> <a class="code" href="group__rpmts.html#gd73d60973b78d388e0e30008b555904a">rpmtsSetSpec</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="comment">/*@null@*/</span> <a class="code" href="structSpec__s.html">Spec</a> spec)
<a name="l00962"></a>00962         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00963"></a>00963 
<a name="l00969"></a>00969 <span class="comment">/*@null@*/</span>
<a name="l00970"></a>00970 <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> <a class="code" href="group__rpmts.html#gc3e78ca0999fdb360b0ce28111cd5c83">rpmtsRelocateElement</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00971"></a>00971         <span class="comment">/*@*/</span>;
<a name="l00972"></a>00972 
<a name="l00979"></a>00979 <span class="comment">/*@null@*/</span>
<a name="l00980"></a>00980 <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> <a class="code" href="group__rpmts.html#gae5fd55a3ef7e2d8562f7e08b8876efe">rpmtsSetRelocateElement</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <span class="comment">/*@null@*/</span> <a class="code" href="rpmlib_8h.html#257d5c7d60e6ce00722ef73041b2c514">rpmte</a> relocateElement)
<a name="l00981"></a>00981         <span class="comment">/*@modifies ts @*/</span>;
<a name="l00982"></a>00982 
<a name="l00988"></a>00988 <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> <a class="code" href="rpmts_8c.html#b638b622295dd5eb80052b26c0364b56">rpmtsColor</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00989"></a>00989         <span class="comment">/*@*/</span>;
<a name="l00990"></a>00990 
<a name="l00996"></a>00996 <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> <a class="code" href="rpmts_8c.html#5ff09470a81eee1275a2341766bdb988">rpmtsPrefColor</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts)
<a name="l00997"></a>00997         <span class="comment">/*@*/</span>;
<a name="l00998"></a>00998 
<a name="l01005"></a>01005 <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> <a class="code" href="rpmts_8c.html#fe5e7618dff2486b4809af835b20a3c2">rpmtsSetColor</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> color)
<a name="l01006"></a>01006         <span class="comment">/*@modifies ts @*/</span>;
<a name="l01007"></a>01007 
<a name="l01014"></a>01014 <span class="comment">/*@relnull@*/</span>
<a name="l01015"></a>01015 <a class="code" href="structrpmop__s.html">rpmop</a> <a class="code" href="rpmts_8c.html#c532195f0c1164659306125a44de2246">rpmtsOp</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="rpmts_8h.html#dd3d65bbb5f7b28f08b940c1aa55cee1">rpmtsOpX</a> opx)
<a name="l01016"></a>01016         <span class="comment">/*@*/</span>;
<a name="l01017"></a>01017 
<a name="l01029"></a>01029 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g0bcc041abe837765bbd58ee8d1d1bd69">rpmtsSetNotifyCallback</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l01030"></a>01030                 <span class="comment">/*@observer@*/</span> <a class="code" href="rpmmessages_8h.html#08e6e8b5410bd79e1e9fef0bb92d0583">rpmCallbackFunction</a> notify,
<a name="l01031"></a>01031                 <span class="comment">/*@observer@*/</span> <a class="code" href="rpmmessages_8h.html#067882612b4f56c9edad5e9c4382ee3e">rpmCallbackData</a> notifyData)
<a name="l01032"></a>01032         <span class="comment">/*@modifies ts @*/</span>;
<a name="l01033"></a>01033 
<a name="l01038"></a>01038 <span class="comment">/*@newref@*/</span>
<a name="l01039"></a>01039 <a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> <a class="code" href="group__rpmts.html#gce47f4eaebd8be4f0abbcfb7942b3566">rpmtsCreate</a>(<span class="keywordtype">void</span>)
<a name="l01040"></a>01040         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, internalState @*/</span>
<a name="l01041"></a>01041         <span class="comment">/*@modifies rpmGlobalMacroContext, internalState @*/</span>;
<a name="l01042"></a>01042 
<a name="l01056"></a>01056 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g14f855b79d0aff83c084e254e2442006">rpmtsAddInstallElement</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="structheaderToken__s.html">Header</a> h,
<a name="l01057"></a>01057                 <span class="comment">/*@exposed@*/</span> <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <a class="code" href="rpmmessages_8h.html#e51d034b9e250fe42b0e420f254aa54f">fnpyKey</a> key, <span class="keywordtype">int</span> upgrade,
<a name="l01058"></a>01058                 <span class="comment">/*@null@*/</span> <a class="code" href="structrpmRelocation__s.html">rpmRelocation</a> * relocs)
<a name="l01059"></a>01059         <span class="comment">/*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,</span>
<a name="l01060"></a>01060 <span class="comment">                fileSystem, internalState @*/</span>
<a name="l01061"></a>01061         <span class="comment">/*@modifies ts, h, rpmcliPackagesTotal, rpmGlobalMacroContext,</span>
<a name="l01062"></a>01062 <span class="comment">                fileSystem, internalState @*/</span>;
<a name="l01063"></a>01063 
<a name="l01071"></a>01071 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#g6f379ed9d0d1b8073b2d380c6af681e8">rpmtsAddEraseElement</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="code" href="structheaderToken__s.html">Header</a> h, <span class="keywordtype">int</span> dboffset)
<a name="l01072"></a>01072         <span class="comment">/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/</span>
<a name="l01073"></a>01073         <span class="comment">/*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/</span>;
<a name="l01074"></a>01074 
<a name="l01083"></a>01083 <span class="comment">/*@unused@*/</span>
<a name="l01084"></a>01084 <span class="keywordtype">int</span> <a class="code" href="group__rpmts.html#gb92d86f6122300ae4a8bbe1c8fc59c7e">rpmtsGetKeys</a>(<a class="code" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts,
<a name="l01085"></a>01085                 <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span> <a class="code" href="rpmmessages_8h.html#e51d034b9e250fe42b0e420f254aa54f">fnpyKey</a> ** ep,
<a name="l01086"></a>01086                 <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span> <span class="keywordtype">int</span> * nep)
<a name="l01087"></a>01087         <span class="comment">/*@globals fileSystem, internalState @*/</span>
<a name="l01088"></a>01088         <span class="comment">/*@modifies ts, ep, nep, fileSystem, internalState @*/</span>;
<a name="l01089"></a>01089 
<a name="l01096"></a>01096 <span class="comment">/*@only@*/</span> <span class="keywordtype">char</span> * <a class="code" href="rpmts_8c.html#7248b3f39075cd06ea1846244c3db270">hGetNEVR</a>(<a class="code" href="structheaderToken__s.html">Header</a> h, <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> ** np )
<a name="l01097"></a>01097         <span class="comment">/*@modifies *np @*/</span>;
<a name="l01098"></a>01098 
<a name="l01105"></a>01105 <span class="comment">/*@only@*/</span> <span class="keywordtype">char</span> * <a class="code" href="rpmts_8c.html#f672b83f06fdf1be82490a186c8bcf14">hGetNEVRA</a>(<a class="code" href="structheaderToken__s.html">Header</a> h, <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> ** np )
<a name="l01106"></a>01106         <span class="comment">/*@modifies *np @*/</span>;
<a name="l01107"></a>01107 
<a name="l01113"></a>01113 <a class="code" href="header_8h.html#64e458b61bddf0b87a3701578aa7a428">uint_32</a> <a class="code" href="rpmts_8c.html#c15257561d31019deabf814ba75da6dc">hGetColor</a>(<a class="code" href="structheaderToken__s.html">Header</a> h)
<a name="l01114"></a>01114         <span class="comment">/*@modifies h @*/</span>;
<a name="l01115"></a>01115 
<a name="l01116"></a>01116 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l01117"></a>01117 <span class="preprocessor"></span>}
<a name="l01118"></a>01118 <span class="preprocessor">#endif</span>
<a name="l01119"></a>01119 <span class="preprocessor"></span>
<a name="l01120"></a>01120 
<a name="l01121"></a>01121 <span class="preprocessor">#endif  </span><span class="comment">/* H_RPMTS */</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>