Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 2269bb274471fd2722517c2c0b740d7f > files > 85

rpm-devel-4.0.4-19mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>tools/dumpdb.c Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.17 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>tools/dumpdb.c</h1><a href="dumpdb_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#include "<a class="code" href="system_8h.html">system.h</a>"</span>
00002 
00003 <span class="preprocessor">#include &lt;<a class="code" href="rpmlib_8h.html">rpmlib.h</a>&gt;</span>
00004 <span class="preprocessor">#include "<a class="code" href="header__internal_8h.html">header_internal.h</a>"</span>
00005 <span class="preprocessor">#include "<a class="code" href="debug_8h.html">debug.h</a>"</span>
00006 
<a name="l00007"></a><a class="code" href="dumpdb_8c.html#a1">00007</a> <span class="keywordtype">int</span> <a class="code" href="rpmsignature_8c.html#a0">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)
00008 {
00009     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dspBlockNum = 0;               <span class="comment">/* default to all */</span>
00010     <a class="code" href="structrpmdb__s.html">rpmdb</a> db;
00011 
00012     <a class="code" href="system_8h.html#a14">setprogname</a>(argv[0]);       <span class="comment">/* Retrofit glibc __progname */</span>
00013     <a class="code" href="group__rpmrc.html#a54">rpmReadConfigFiles</a>(NULL, NULL);
00014 
00015     <span class="keywordflow">if</span> (argc == 2) {
00016         dspBlockNum = atoi(argv[1]);
00017     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argc != 1) {
00018         fprintf(stderr, <a class="code" href="system_8h.html#a18">_</a>(<span class="stringliteral">"dumpdb &lt;block num&gt;\n"</span>));
00019         exit(1);
00020     }
00021 
00022     <span class="keywordflow">if</span> (<a class="code" href="group__rpmdb.html#a57">rpmdbOpen</a>(<span class="stringliteral">""</span>, &amp;db, O_RDONLY, 0644)) {
00023         fprintf(stderr, <a class="code" href="system_8h.html#a18">_</a>(<span class="stringliteral">"cannot open Packages\n"</span>));
00024         exit(1);
00025     }
00026 
00027     {   <a class="code" href="structheaderToken.html">Header</a> h = NULL;
00028         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> blockNum = 0;
00029         <a class="code" href="struct__rpmdbMatchIterator.html">rpmdbMatchIterator</a> mi;
00030 <span class="preprocessor">#define _RECNUM rpmdbGetIteratorOffset(mi)</span>
00031 <span class="preprocessor"></span>
00032         mi = <a class="code" href="group__rpmdb.html#a85">rpmdbInitIterator</a>(db, <a class="code" href="rpmlib_8h.html#a0">RPMDBI_PACKAGES</a>, NULL, 0);
00033 
00034         <span class="keywordflow">while</span> ((h = <a class="code" href="group__rpmdb.html#a80">rpmdbNextIterator</a>(mi)) != NULL) {
00035 
00036             blockNum++;
00037             <span class="keywordflow">if</span> (!(dspBlockNum != 0 &amp;&amp; dspBlockNum != blockNum))
00038                 <span class="keywordflow">continue</span>;
00039 
00040             <a class="code" href="group__header.html#a87">headerDump</a>(h, stdout, <a class="code" href="header__internal_8h.html#a10">HEADER_DUMP_INLINE</a>, rpmTagTable);
00041             fprintf(stdout, <span class="stringliteral">"Offset: %d\n"</span>, _RECNUM);
00042     
00043             <span class="keywordflow">if</span> (dspBlockNum &amp;&amp; blockNum &gt; dspBlockNum)
00044                 exit(0);
00045         }
00046 
00047         mi = <a class="code" href="group__rpmdb.html#a65">rpmdbFreeIterator</a>(mi);
00048 
00049     }
00050 
00051     <a class="code" href="group__rpmdb.html#a53">rpmdbClose</a>(db);
00052 
00053     <span class="keywordflow">return</span> 0;
00054 }
</pre></div><hr><address style="align: right;"><small>Generated on Thu Sep 12 22:15:02 2002 for rpm by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.17 </small></address>
</body>
</html>