Sophie

Sophie

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

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/rpmps.c File Reference</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/rpmps.c File Reference</h1><code>#include &quot;<a class="el" href="system_8h-source.html">system.h</a>&quot;</code><br>
<code>#include &lt;<a class="el" href="rpmlib_8h-source.html">rpmlib.h</a>&gt;</code><br>
<code>#include &quot;<a class="el" href="rpmps_8h-source.html">rpmps.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="misc_8h-source.html">misc.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="debug_8h-source.html">debug.h</a>&quot;</code><br>

<p>
<a href="rpmps_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#e6dad30554e5c52b6f1dd61ce2ed21b5">XSTRCMP</a>(a, b)&nbsp;&nbsp;&nbsp;((!(a) &amp;&amp; !(b)) || ((a) &amp;&amp; (b) &amp;&amp; !strcmp((a), (b))))</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#68ae2c9be6dba5631f7862482ab1aec5">XrpmpsUnlink</a> (<a class="el" href="structrpmps__s.html">rpmps</a> ps, const char *msg, const char *fn, unsigned ln)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#36200a30283cb1da202cb6b8efc2b835">XrpmpsLink</a> (<a class="el" href="structrpmps__s.html">rpmps</a> ps, const char *msg, const char *fn, unsigned ln)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#da7b50cc5ccf1a7f6a05c46330fee3af">rpmpsNumProblems</a> (<a class="el" href="structrpmps__s.html">rpmps</a> ps)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return number of problems in set.  <a href="#da7b50cc5ccf1a7f6a05c46330fee3af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#577b2d3d3120fc95b1a80594e39fe3fa">rpmpsCreate</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a problem set.  <a href="#577b2d3d3120fc95b1a80594e39fe3fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#3a181ab1707f03e032005f3ac442c813">rpmpsFree</a> (<a class="el" href="structrpmps__s.html">rpmps</a> ps)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a problem set.  <a href="#3a181ab1707f03e032005f3ac442c813"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#ee32753814cb090e81661c53f6f3ba48">rpmpsAppend</a> (<a class="el" href="structrpmps__s.html">rpmps</a> ps, <a class="el" href="rpmps_8h.html#adc8b85b21cc389aaf0e31482396afac">rpmProblemType</a> type, const char *pkgNEVR, <a class="el" href="rpmmessages_8h.html#e51d034b9e250fe42b0e420f254aa54f">fnpyKey</a> key, const char *dn, const char *bn, const char *altNEVR, unsigned long ulong1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a problem to current set of problems.  <a href="#ee32753814cb090e81661c53f6f3ba48"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#09cfa34e560445e1df130b6c04316fd8">rpmpsTrim</a> (<a class="el" href="structrpmps__s.html">rpmps</a> ps, <a class="el" href="structrpmps__s.html">rpmps</a> filter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Filter a problem set.  <a href="#09cfa34e560445e1df130b6c04316fd8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#bd745de064acd2dd81631c22652759e4">vsnprintf</a> (char *buf, int nb, const char *fmt, va_list ap)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#8eff177ddf89d8d85ac7c6b90a011480">snprintf</a> (char *buf, int nb, const char *fmt,...)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#3300929504d25f0307d8e68bba61c206">rpmProblemString</a> (const <a class="el" href="structrpmProblem__s.html">rpmProblem</a> prob)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return formatted string representation of a problem.  <a href="#3300929504d25f0307d8e68bba61c206"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#cd999065ab8f2d82ad502ba10ec11c8e">sameProblem</a> (const <a class="el" href="structrpmProblem__s.html">rpmProblem</a> ap, const <a class="el" href="structrpmProblem__s.html">rpmProblem</a> bp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#00bdb06c5d581722ea2dee81ffba3e08">rpmpsPrint</a> (FILE *fp, <a class="el" href="structrpmps__s.html">rpmps</a> ps)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print problems to file handle.  <a href="#00bdb06c5d581722ea2dee81ffba3e08"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmps_8c.html#886e382d65e81a1fd40c2f9710ed4846">_rpmps_debug</a> = 0</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>

<p>
Definition in file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.<hr><h2>Define Documentation</h2>
<a class="anchor" name="e6dad30554e5c52b6f1dd61ce2ed21b5"></a><!-- doxytag: member="rpmps.c::XSTRCMP" ref="e6dad30554e5c52b6f1dd61ce2ed21b5" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSTRCMP          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">b&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((!(a) &amp;&amp; !(b)) || ((a) &amp;&amp; (b) &amp;&amp; !strcmp((a), (b))))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00126">126</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
Referenced by <a class="el" href="rpmps_8c-source.html#l00128">rpmpsTrim()</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="3300929504d25f0307d8e68bba61c206"></a><!-- doxytag: member="rpmps.c::rpmProblemString" ref="3300929504d25f0307d8e68bba61c206" args="(const rpmProblem prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* rpmProblemString           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structrpmProblem__s.html">rpmProblem</a>&nbsp;</td>
          <td class="paramname"> <em>prob</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return formatted string representation of a problem. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>prob</em>&nbsp;</td><td>rpm problem </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>formatted string (malloc'd) </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00193">193</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="rpmps_8h-source.html#l00048">rpmProblem_s::altNEVR</a>, <a class="el" href="system_8h-source.html#l00483">N_</a>, <a class="el" href="rpmps_8h-source.html#l00046">rpmProblem_s::pkgNEVR</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247e7c2345c44281b265620c4e081075589">RPMPROB_BADARCH</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247da689cdfecd2acab807f9667351a6d21">RPMPROB_BADOS</a>, <a class="el" href="rpmps_8h-source.html#l00039">RPMPROB_BADPRETRANS</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a2474bdb4ce5918d2259978a415fadaac003">RPMPROB_BADRELOCATE</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a2471f9966020978f9e864322b9c7cabdce2">RPMPROB_CONFLICT</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247ecc24284094217b61789da5862cbd97c">RPMPROB_DISKNODES</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247825b4094282388f957fb82b8829299f5">RPMPROB_DISKSPACE</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247272e23f50c056d77f703724b4db49321">RPMPROB_FILE_CONFLICT</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247b948eb56b77c4f8f3096fa55ab991ace">RPMPROB_NEW_FILE_CONFLICT</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247b615793905ee4ec096faf8032e5a34f6">RPMPROB_OLDPACKAGE</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a2473e0d6c8f73b6113ce94b3127d7629656">RPMPROB_PKG_INSTALLED</a>, <a class="el" href="rpmps_8h.html#cd9363020bc7a3d2a8bf9b9ca0e3a247e079ff2f84cf3ab8a51f4485f63a45cb">RPMPROB_REQUIRES</a>, <a class="el" href="rpmps_8c-source.html#l00182">snprintf()</a>, <a class="el" href="rpmps_8h-source.html#l00054">rpmProblem_s::str1</a>, <a class="el" href="file_8h-source.html#l00323">strerror</a>, <a class="el" href="rpmps_8h-source.html#l00051">rpmProblem_s::type</a>, <a class="el" href="rpmps_8h-source.html#l00055">rpmProblem_s::ulong1</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00024">xmalloc()</a>.
<p>
Referenced by <a class="el" href="rpmps_8c-source.html#l00303">rpmpsPrint()</a>, and <a class="el" href="rpmts-py_8c-source.html#l01181">rpmts_Run()</a>.
</div>
</div><p>
<a class="anchor" name="ee32753814cb090e81661c53f6f3ba48"></a><!-- doxytag: member="rpmps.c::rpmpsAppend" ref="ee32753814cb090e81661c53f6f3ba48" args="(rpmps ps, rpmProblemType type, const char *pkgNEVR, fnpyKey key, const char *dn, const char *bn, const char *altNEVR, unsigned long ulong1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rpmpsAppend           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rpmps_8h.html#adc8b85b21cc389aaf0e31482396afac">rpmProblemType</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>pkgNEVR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rpmmessages_8h.html#e51d034b9e250fe42b0e420f254aa54f">fnpyKey</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>dn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>bn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>altNEVR</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>ulong1</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a problem to current set of problems. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ps</em>&nbsp;</td><td>problem set </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>type of problem </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pkgNEVR</em>&nbsp;</td><td>package name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>filename or python object address </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dn</em>&nbsp;</td><td>directory name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bn</em>&nbsp;</td><td>file base name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>altNEVR</em>&nbsp;</td><td>related (e.g. through a dependency) package name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ulong1</em>&nbsp;</td><td>generic pointer/long attribute </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00081">81</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8h-source.html#l00061">rpmps_s::numProblems</a>, <a class="el" href="rpmps_8h-source.html#l00062">rpmps_s::numProblemsAlloced</a>, <a class="el" href="rpmps_8h-source.html#l00063">rpmps_s::probs</a>, <a class="el" href="system_8h.html#890dbcd7c456828c1b6ff714e405fcc1">stpcpy()</a>, <a class="el" href="rpmmalloc_8c-source.html#l00034">xcalloc()</a>, <a class="el" href="rpmmalloc_8c-source.html#l00045">xrealloc()</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00055">xstrdup()</a>.
<p>
Referenced by <a class="el" href="transaction_8c-source.html#l00699">ensureOlder()</a>, <a class="el" href="transaction_8c-source.html#l00124">handleInstInstalledFiles()</a>, <a class="el" href="transaction_8c-source.html#l00467">handleOverlappedFiles()</a>, <a class="el" href="rpmfi_8c-source.html#l00708">relocateFileList()</a>, <a class="el" href="rpmds_8c-source.html#l01109">rpmdsProblem()</a>, <a class="el" href="rpmts_8c-source.html#l01337">rpmtsCheckDSIProblems()</a>, and <a class="el" href="transaction_8c-source.html#l01435">rpmtsRun()</a>.
</div>
</div><p>
<a class="anchor" name="577b2d3d3120fc95b1a80594e39fe3fa"></a><!-- doxytag: member="rpmps.c::rpmpsCreate" ref="577b2d3d3120fc95b1a80594e39fe3fa" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structrpmps__s.html">rpmps</a> rpmpsCreate           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a problem set. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>new problem set </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00054">54</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8h-source.html#l00118">rpmpsLink</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00034">xcalloc()</a>.
<p>
Referenced by <a class="el" href="depends_8c-source.html#l01706">rpmtsCheck()</a>, and <a class="el" href="transaction_8c-source.html#l01435">rpmtsRun()</a>.
</div>
</div><p>
<a class="anchor" name="3a181ab1707f03e032005f3ac442c813"></a><!-- doxytag: member="rpmps.c::rpmpsFree" ref="3a181ab1707f03e032005f3ac442c813" args="(rpmps ps)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structrpmps__s.html">rpmps</a> rpmpsFree           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy a problem set. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ps</em>&nbsp;</td><td>problem set </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>NULL always </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00060">60</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="rpmps_8h-source.html#l00065">rpmps_s::nrefs</a>, <a class="el" href="rpmps_8h-source.html#l00061">rpmps_s::numProblems</a>, <a class="el" href="rpmps_8h-source.html#l00046">rpmProblem_s::pkgNEVR</a>, <a class="el" href="rpmps_8h-source.html#l00063">rpmps_s::probs</a>, and <a class="el" href="rpmps_8h-source.html#l00101">rpmpsUnlink</a>.
<p>
Referenced by <a class="el" href="transaction_8c-source.html#l01009">_rpmtsRollback()</a>, <a class="el" href="build_8c-source.html#l00023">checkSpec()</a>, <a class="el" href="transaction_8c-source.html#l00699">ensureOlder()</a>, <a class="el" href="transaction_8c-source.html#l00124">handleInstInstalledFiles()</a>, <a class="el" href="transaction_8c-source.html#l00467">handleOverlappedFiles()</a>, <a class="el" href="rpmfi_8c-source.html#l00708">relocateFileList()</a>, <a class="el" href="rpminstall_8c-source.html#l00766">rpmErase()</a>, <a class="el" href="rpmgi_8c-source.html#l00480">rpmgiNext()</a>, <a class="el" href="rpmgraph_8c-source.html#l00044">rpmGraph()</a>, <a class="el" href="rpminstall_8c-source.html#l00288">rpmInstall()</a>, <a class="el" href="rpminstall_8c-source.html#l01102">rpmRollback()</a>, <a class="el" href="rpmts-py_8c-source.html#l00386">rpmts_Check()</a>, <a class="el" href="rpmts-py_8c-source.html#l01181">rpmts_Run()</a>, <a class="el" href="depends_8c-source.html#l01706">rpmtsCheck()</a>, <a class="el" href="rpmts_8c-source.html#l00760">rpmtsClean()</a>, <a class="el" href="transaction_8c-source.html#l01435">rpmtsRun()</a>, and <a class="el" href="verify_8c-source.html#l00354">verifyDependencies()</a>.
</div>
</div><p>
<a class="anchor" name="da7b50cc5ccf1a7f6a05c46330fee3af"></a><!-- doxytag: member="rpmps.c::rpmpsNumProblems" ref="da7b50cc5ccf1a7f6a05c46330fee3af" args="(rpmps ps)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmpsNumProblems           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return number of problems in set. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ps</em>&nbsp;</td><td>problem set </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>number of problems </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00046">46</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8h-source.html#l00061">rpmps_s::numProblems</a>, and <a class="el" href="rpmps_8h-source.html#l00063">rpmps_s::probs</a>.
<p>
Referenced by <a class="el" href="transaction_8c-source.html#l01009">_rpmtsRollback()</a>, <a class="el" href="build_8c-source.html#l00023">checkSpec()</a>, <a class="el" href="rpminstall_8c-source.html#l00766">rpmErase()</a>, <a class="el" href="rpmgi_8c-source.html#l00480">rpmgiNext()</a>, <a class="el" href="rpmgraph_8c-source.html#l00044">rpmGraph()</a>, <a class="el" href="rpminstall_8c-source.html#l00288">rpmInstall()</a>, <a class="el" href="rpminstall_8c-source.html#l01102">rpmRollback()</a>, and <a class="el" href="verify_8c-source.html#l00354">verifyDependencies()</a>.
</div>
</div><p>
<a class="anchor" name="00bdb06c5d581722ea2dee81ffba3e08"></a><!-- doxytag: member="rpmps.c::rpmpsPrint" ref="00bdb06c5d581722ea2dee81ffba3e08" args="(FILE *fp, rpmps ps)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rpmpsPrint           </td>
          <td>(</td>
          <td class="paramtype">FILE *&nbsp;</td>
          <td class="paramname"> <em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Print problems to file handle. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fp</em>&nbsp;</td><td>file handle (NULL uses stderr) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ps</em>&nbsp;</td><td>problem set </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00303">303</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="rpmps_8h-source.html#l00061">rpmps_s::numProblems</a>, <a class="el" href="rpmps_8h-source.html#l00063">rpmps_s::probs</a>, <a class="el" href="rpmps_8c-source.html#l00193">rpmProblemString()</a>, and <a class="el" href="rpmps_8c-source.html#l00282">sameProblem()</a>.
<p>
Referenced by <a class="el" href="transaction_8c-source.html#l01009">_rpmtsRollback()</a>, <a class="el" href="build_8c-source.html#l00023">checkSpec()</a>, <a class="el" href="rpminstall_8c-source.html#l00766">rpmErase()</a>, <a class="el" href="rpmgi_8c-source.html#l00480">rpmgiNext()</a>, <a class="el" href="rpmgraph_8c-source.html#l00044">rpmGraph()</a>, <a class="el" href="rpminstall_8c-source.html#l00288">rpmInstall()</a>, and <a class="el" href="rpminstall_8c-source.html#l01102">rpmRollback()</a>.
</div>
</div><p>
<a class="anchor" name="09cfa34e560445e1df130b6c04316fd8"></a><!-- doxytag: member="rpmps.c::rpmpsTrim" ref="09cfa34e560445e1df130b6c04316fd8" args="(rpmps ps, rpmps filter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmpsTrim           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>filter</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Filter a problem set. 
<p>
As the problem sets are generated in an order solely dependent on the ordering of the packages in the transaction, and that ordering can't be changed, the problem sets must be parallel to one another. Additionally, the filter set must be a subset of the target set, given the operations available on transaction set. This is good, as it lets us perform this trim in linear time, rather then logarithmic or quadratic.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ps</em>&nbsp;</td><td>problem set </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filter</em>&nbsp;</td><td>problem filter (or NULL) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 no problems, 1 if problems remain </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00128">128</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8h-source.html#l00052">rpmProblem_s::ignoreProblem</a>, <a class="el" href="rpmps_8h-source.html#l00050">rpmProblem_s::key</a>, <a class="el" href="rpmps_8h-source.html#l00061">rpmps_s::numProblems</a>, <a class="el" href="rpmps_8h-source.html#l00063">rpmps_s::probs</a>, <a class="el" href="rpmps_8h-source.html#l00054">rpmProblem_s::str1</a>, <a class="el" href="rpmps_8h-source.html#l00051">rpmProblem_s::type</a>, and <a class="el" href="rpmps_8c-source.html#l00126">XSTRCMP</a>.
<p>
Referenced by <a class="el" href="transaction_8c-source.html#l01435">rpmtsRun()</a>.
</div>
</div><p>
<a class="anchor" name="cd999065ab8f2d82ad502ba10ec11c8e"></a><!-- doxytag: member="rpmps.c::sameProblem" ref="cd999065ab8f2d82ad502ba10ec11c8e" args="(const rpmProblem ap, const rpmProblem bp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int sameProblem           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structrpmProblem__s.html">rpmProblem</a>&nbsp;</td>
          <td class="paramname"> <em>ap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structrpmProblem__s.html">rpmProblem</a>&nbsp;</td>
          <td class="paramname"> <em>bp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00282">282</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8h-source.html#l00048">rpmProblem_s::altNEVR</a>, <a class="el" href="rpmps_8h-source.html#l00046">rpmProblem_s::pkgNEVR</a>, <a class="el" href="rpmps_8h-source.html#l00054">rpmProblem_s::str1</a>, <a class="el" href="rpmps_8h-source.html#l00051">rpmProblem_s::type</a>, and <a class="el" href="rpmps_8h-source.html#l00055">rpmProblem_s::ulong1</a>.
<p>
Referenced by <a class="el" href="rpmps_8c-source.html#l00303">rpmpsPrint()</a>.
</div>
</div><p>
<a class="anchor" name="8eff177ddf89d8d85ac7c6b90a011480"></a><!-- doxytag: member="rpmps.c::snprintf" ref="8eff177ddf89d8d85ac7c6b90a011480" args="(char *buf, int nb, const char *fmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int snprintf           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00182">182</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8c-source.html#l00174">vsnprintf()</a>.
<p>
Referenced by <a class="el" href="transaction_8c-source.html#l01134">getRepackageHeaderFromTE()</a>, <a class="el" href="package_8c-source.html#l00325">headerCheck()</a>, <a class="el" href="apprentice_8c-source.html#l01217">mkdbname()</a>, <a class="el" href="formats_8c-source.html#l00388">pgpsigFormat()</a>, <a class="el" href="rpmfc_8c-source.html#l00316">rpmfcHelper()</a>, <a class="el" href="rpmps_8c-source.html#l00193">rpmProblemString()</a>, <a class="el" href="package_8c-source.html#l00655">rpmReadHeader()</a>, <a class="el" href="signature_8c-source.html#l00155">rpmReadSignature()</a>, and <a class="el" href="formats_8c-source.html#l00286">xmlFormat()</a>.
</div>
</div><p>
<a class="anchor" name="bd745de064acd2dd81631c22652759e4"></a><!-- doxytag: member="rpmps.c::vsnprintf" ref="bd745de064acd2dd81631c22652759e4" args="(char *buf, int nb, const char *fmt, va_list ap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vsnprintf           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&nbsp;</td>
          <td class="paramname"> <em>ap</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00174">174</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
Referenced by <a class="el" href="rpmps_8c-source.html#l00182">snprintf()</a>, and <a class="el" href="rpmlog_8c-source.html#l00164">vrpmlog()</a>.
</div>
</div><p>
<a class="anchor" name="36200a30283cb1da202cb6b8efc2b835"></a><!-- doxytag: member="rpmps.c::XrpmpsLink" ref="36200a30283cb1da202cb6b8efc2b835" args="(rpmps ps, const char *msg, const char *fn, unsigned ln)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structrpmps__s.html">rpmps</a> XrpmpsLink           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>ln</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000072">Todo:</a></b></dt><dd>Remove debugging entry from the ABI. </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00033">33</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8c-source.html#l00018">_rpmps_debug</a>, and <a class="el" href="rpmps_8h-source.html#l00065">rpmps_s::nrefs</a>.
</div>
</div><p>
<a class="anchor" name="68ae2c9be6dba5631f7862482ab1aec5"></a><!-- doxytag: member="rpmps.c::XrpmpsUnlink" ref="68ae2c9be6dba5631f7862482ab1aec5" args="(rpmps ps, const char *msg, const char *fn, unsigned ln)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structrpmps__s.html">rpmps</a> XrpmpsUnlink           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structrpmps__s.html">rpmps</a>&nbsp;</td>
          <td class="paramname"> <em>ps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>ln</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000071">Todo:</a></b></dt><dd>Remove debugging entry from the ABI. </dd></dl>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00020">20</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
<p>
References <a class="el" href="rpmps_8c-source.html#l00018">_rpmps_debug</a>, and <a class="el" href="rpmps_8h-source.html#l00065">rpmps_s::nrefs</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="886e382d65e81a1fd40c2f9710ed4846"></a><!-- doxytag: member="rpmps.c::_rpmps_debug" ref="886e382d65e81a1fd40c2f9710ed4846" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="rpmps_8h.html#886e382d65e81a1fd40c2f9710ed4846">_rpmps_debug</a> = 0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="rpmps_8c-source.html#l00018">18</a> of file <a class="el" href="rpmps_8c-source.html">rpmps.c</a>.
</div>
</div><p>
<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>