Sophie

Sophie

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

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: rpmdb/dbconfig.c 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>rpmdb/dbconfig.c</h1><a href="dbconfig_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00005"></a>00005 <span class="preprocessor">#include "<a class="code" href="system_8h.html">system.h</a>"</span>
<a name="l00006"></a>00006 
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;<a class="code" href="rpmlib_8h.html">rpmlib.h</a>&gt;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;<a class="code" href="rpmmacro_8h.html">rpmmacro.h</a>&gt;</span>
<a name="l00009"></a>00009 
<a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="rpmdb_8h.html">rpmdb.h</a>"</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="debug_8h.html">debug.h</a>"</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 <span class="comment">/*@access rpmdb@*/</span>
<a name="l00014"></a>00014 <span class="comment">/*@access dbiIndex@*/</span>
<a name="l00015"></a>00015 <span class="comment">/*@access dbiIndexSet@*/</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="preprocessor">#if (DB_VERSION_MAJOR == 3) || (DB_VERSION_MAJOR == 4)</span>
<a name="l00018"></a><a class="code" href="dbconfig_8c.html#5c3618c18f445a89c72c51bbed6e3d3c">00018</a> <span class="preprocessor"></span><span class="preprocessor">#define __USE_DB3       1</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="comment">/*@-exportlocal -exportheadervar@*/</span>
<a name="l00021"></a>00021 <span class="comment">/*@unchecked@*/</span>
<a name="l00022"></a><a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">00022</a> <span class="keyword">struct </span><a class="code" href="struct__dbiIndex.html">_dbiIndex</a> <a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>;
<a name="l00023"></a>00023 <span class="comment">/*@=exportlocal =exportheadervar@*/</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="comment">/*@unchecked@*/</span>
<a name="l00026"></a><a class="code" href="dbconfig_8c.html#a80f081d0483f328df55404edbad39f5">00026</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="dbconfig_8c.html#a80f081d0483f328df55404edbad39f5">dbi_use_cursors</a>;
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="comment">/*@unchecked@*/</span>
<a name="l00029"></a><a class="code" href="dbconfig_8c.html#e5bdd6e4b05cccb3bbe09c867d0ad6f0">00029</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="dbconfig_8c.html#e5bdd6e4b05cccb3bbe09c867d0ad6f0">dbi_tear_down</a>;
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="comment">/*@-compmempass -immediatetrans -exportlocal -exportheadervar@*/</span>
<a name="l00034"></a>00034 <span class="comment">/*@unchecked@*/</span>
<a name="l00035"></a><a class="code" href="group__db3.html#g54e4b72a6d50c8698be013092dc70835">00035</a> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> <a class="code" href="group__db3.html#g54e4b72a6d50c8698be013092dc70835">rdbOptions</a>[] = {
<a name="l00036"></a>00036  <span class="comment">/* XXX DB_CXX_NO_EXCEPTIONS */</span>
<a name="l00037"></a>00037 <span class="preprocessor">#if defined(DB_CLIENT)</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span> { <span class="stringliteral">"client"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#f41771a324fe703d7340362d418e6eb6">dbi_ecflags</a>, <a class="code" href="db3_8c.html#21774b16d2c2f00cbae5cfbf334c79b6">DB_CLIENT</a>,
<a name="l00039"></a>00039         NULL, NULL },
<a name="l00040"></a>00040 <span class="preprocessor">#endif</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#if defined(DB_RPCCLIENT)</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span> { <span class="stringliteral">"client"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#f41771a324fe703d7340362d418e6eb6">dbi_ecflags</a>, DB_RPCCLIENT,
<a name="l00043"></a>00043         NULL, NULL },
<a name="l00044"></a>00044  { <span class="stringliteral">"rpcclient"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#f41771a324fe703d7340362d418e6eb6">dbi_ecflags</a>, DB_RPCCLIENT,
<a name="l00045"></a>00045         NULL, NULL },
<a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048  { <span class="stringliteral">"xa_create"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#76637814a776fa49f8f554a468085df4">dbi_cflags</a>, DB_XA_CREATE,
<a name="l00049"></a>00049         NULL, NULL },
<a name="l00050"></a>00050 
<a name="l00051"></a>00051  { <span class="stringliteral">"create"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#1b283170172a018099240a6c57c69eea">dbi_oeflags</a>, DB_CREATE,
<a name="l00052"></a>00052         NULL, NULL },
<a name="l00053"></a>00053  { <span class="stringliteral">"thread"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#1b283170172a018099240a6c57c69eea">dbi_oeflags</a>, DB_THREAD,
<a name="l00054"></a>00054         NULL, NULL },
<a name="l00055"></a>00055 
<a name="l00056"></a>00056  { <span class="stringliteral">"force"</span>,     0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_FORCE,
<a name="l00057"></a>00057         NULL, NULL },
<a name="l00058"></a>00058  { <span class="stringliteral">"cdb"</span>,       0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_INIT_CDB,
<a name="l00059"></a>00059         NULL, NULL },
<a name="l00060"></a>00060  { <span class="stringliteral">"lock"</span>,      0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_INIT_LOCK,
<a name="l00061"></a>00061         NULL, NULL },
<a name="l00062"></a>00062  { <span class="stringliteral">"log"</span>,       0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_INIT_LOG,
<a name="l00063"></a>00063         NULL, NULL },
<a name="l00064"></a>00064  { <span class="stringliteral">"mpool"</span>,     0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_INIT_MPOOL,
<a name="l00065"></a>00065         NULL, NULL },
<a name="l00066"></a>00066  { <span class="stringliteral">"txn"</span>,       0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_INIT_TXN,
<a name="l00067"></a>00067         NULL, NULL },
<a name="l00068"></a>00068  { <span class="stringliteral">"joinenv"</span>,   0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_JOINENV,
<a name="l00069"></a>00069         NULL, NULL },
<a name="l00070"></a>00070  { <span class="stringliteral">"recover"</span>,   0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_RECOVER,
<a name="l00071"></a>00071         NULL, NULL },
<a name="l00072"></a>00072  { <span class="stringliteral">"recover_fatal"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,     &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_RECOVER_FATAL,
<a name="l00073"></a>00073         NULL, NULL },
<a name="l00074"></a>00074  { <span class="stringliteral">"shared"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_SYSTEM_MEM,
<a name="l00075"></a>00075         NULL, NULL },
<a name="l00076"></a>00076  { <span class="stringliteral">"txn_nosync"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_TXN_NOSYNC,
<a name="l00077"></a>00077         NULL, NULL },
<a name="l00078"></a>00078  { <span class="stringliteral">"use_environ_root"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,  &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_USE_ENVIRON_ROOT,
<a name="l00079"></a>00079         NULL, NULL },
<a name="l00080"></a>00080  { <span class="stringliteral">"use_environ"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_USE_ENVIRON,
<a name="l00081"></a>00081         NULL, NULL },
<a name="l00082"></a>00082  { <span class="stringliteral">"lockdown"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_LOCKDOWN,
<a name="l00083"></a>00083         NULL, NULL },
<a name="l00084"></a>00084  { <span class="stringliteral">"private"</span>,   0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>, DB_PRIVATE,
<a name="l00085"></a>00085         NULL, NULL },
<a name="l00086"></a>00086 
<a name="l00087"></a>00087  { <span class="stringliteral">"txn_sync"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#9d7a2b8f6f31782b0aade33535d956ca">dbi_tflags</a>, DB_TXN_SYNC,
<a name="l00088"></a>00088         NULL, NULL },
<a name="l00089"></a>00089  { <span class="stringliteral">"txn_nowait"</span>,0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#9d7a2b8f6f31782b0aade33535d956ca">dbi_tflags</a>, DB_TXN_NOWAIT,
<a name="l00090"></a>00090         NULL, NULL },
<a name="l00091"></a>00091 
<a name="l00092"></a>00092  { <span class="stringliteral">"excl"</span>,      0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d1c6578406e4093fc006a92d4c955b18">dbi_oflags</a>, DB_EXCL,
<a name="l00093"></a>00093         NULL, NULL },
<a name="l00094"></a>00094  { <span class="stringliteral">"nommap"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d1c6578406e4093fc006a92d4c955b18">dbi_oflags</a>, DB_NOMMAP,
<a name="l00095"></a>00095         NULL, NULL },
<a name="l00096"></a>00096  { <span class="stringliteral">"rdonly"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d1c6578406e4093fc006a92d4c955b18">dbi_oflags</a>, DB_RDONLY,
<a name="l00097"></a>00097         NULL, NULL },
<a name="l00098"></a>00098  { <span class="stringliteral">"truncate"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d1c6578406e4093fc006a92d4c955b18">dbi_oflags</a>, DB_TRUNCATE,
<a name="l00099"></a>00099         NULL, NULL },
<a name="l00100"></a>00100  { <span class="stringliteral">"fcntl_locking"</span>,0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d1c6578406e4093fc006a92d4c955b18">dbi_oflags</a>, DB_FCNTL_LOCKING,
<a name="l00101"></a>00101         NULL, NULL },
<a name="l00102"></a>00102 
<a name="l00103"></a>00103  { <span class="stringliteral">"btree"</span>,     0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#12f3169600a3d9653c12b071c54360f4">dbi_type</a>, DB_BTREE,
<a name="l00104"></a>00104         NULL, NULL },
<a name="l00105"></a>00105  { <span class="stringliteral">"hash"</span>,      0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#12f3169600a3d9653c12b071c54360f4">dbi_type</a>, DB_HASH,
<a name="l00106"></a>00106         NULL, NULL },
<a name="l00107"></a>00107  { <span class="stringliteral">"recno"</span>,     0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#12f3169600a3d9653c12b071c54360f4">dbi_type</a>, DB_RECNO,
<a name="l00108"></a>00108         NULL, NULL },
<a name="l00109"></a>00109  { <span class="stringliteral">"queue"</span>,     0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#12f3169600a3d9653c12b071c54360f4">dbi_type</a>, DB_QUEUE,
<a name="l00110"></a>00110         NULL, NULL },
<a name="l00111"></a>00111  { <span class="stringliteral">"unknown"</span>,   0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#12f3169600a3d9653c12b071c54360f4">dbi_type</a>, DB_UNKNOWN,
<a name="l00112"></a>00112         NULL, NULL },
<a name="l00113"></a>00113 
<a name="l00114"></a>00114  { <span class="stringliteral">"root"</span>,      0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#540e482a79803de23fd7e432b6004b27">dbi_root</a>, 0,
<a name="l00115"></a>00115         NULL, NULL },
<a name="l00116"></a>00116  { <span class="stringliteral">"home"</span>,      0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#5cd56690dbc8aaafc7302bede05b8e16">dbi_home</a>, 0,
<a name="l00117"></a>00117         NULL, NULL },
<a name="l00118"></a>00118  { <span class="stringliteral">"file"</span>,      0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#4131d64385e60cc5336f3218c224fac4">dbi_file</a>, 0,
<a name="l00119"></a>00119         NULL, NULL },
<a name="l00120"></a>00120  { <span class="stringliteral">"subfile"</span>,   0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#4d51e89adf77a4ed85f0c770d58254b0">dbi_subfile</a>, 0,
<a name="l00121"></a>00121         NULL, NULL },
<a name="l00122"></a>00122  { <span class="stringliteral">"mode"</span>,      0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d3b64d92ad46a73f26c49d177edfa2b5">dbi_mode</a>, 0,
<a name="l00123"></a>00123         NULL, NULL },
<a name="l00124"></a>00124  { <span class="stringliteral">"perms"</span>,     0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#9d072f4f9b5f2b213fd04872a569f565">dbi_perms</a>, 0,
<a name="l00125"></a>00125         NULL, NULL },
<a name="l00126"></a>00126  { <span class="stringliteral">"shmkey"</span>,    0,<a class="code" href="popt_8h.html#77102c8def672e74e946f7d2978aca76">POPT_ARG_LONG</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#0bba4b95dd24ffb182a0ed9af133944b">dbi_shmkey</a>, 0,
<a name="l00127"></a>00127         NULL, NULL },
<a name="l00128"></a>00128  { <span class="stringliteral">"tmpdir"</span>,    0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c1c6c15aa17d4cbe63b1ca5dc6b65712">dbi_tmpdir</a>, 0,
<a name="l00129"></a>00129         NULL, NULL },
<a name="l00130"></a>00130 
<a name="l00131"></a>00131  { <span class="stringliteral">"host"</span>,      0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#e5f93dbac81dc7b96bb05e8768e28155">dbi_host</a>, 0,
<a name="l00132"></a>00132         NULL, NULL },
<a name="l00133"></a>00133  { <span class="stringliteral">"server"</span>,    0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#e5f93dbac81dc7b96bb05e8768e28155">dbi_host</a>, 0,
<a name="l00134"></a>00134         NULL, NULL },
<a name="l00135"></a>00135  { <span class="stringliteral">"cl_timeout"</span>, 0,<a class="code" href="popt_8h.html#77102c8def672e74e946f7d2978aca76">POPT_ARG_LONG</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#10feb093121f8cba1a56308464975f3f">dbi_cl_timeout</a>, 0,
<a name="l00136"></a>00136         NULL, NULL },
<a name="l00137"></a>00137  { <span class="stringliteral">"sv_timeout"</span>, 0,<a class="code" href="popt_8h.html#77102c8def672e74e946f7d2978aca76">POPT_ARG_LONG</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#f37f3a597bd689c18e7c11c9d7f6b5b9">dbi_sv_timeout</a>, 0,
<a name="l00138"></a>00138         NULL, NULL },
<a name="l00139"></a>00139 
<a name="l00140"></a>00140  { <span class="stringliteral">"verify"</span>,    0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#771382b1183d5264ee25e975726d71ec">dbi_verify_on_close</a>, 0,
<a name="l00141"></a>00141         NULL, NULL },
<a name="l00142"></a>00142  { <span class="stringliteral">"teardown"</span>,  0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#e5bdd6e4b05cccb3bbe09c867d0ad6f0">dbi_tear_down</a>, 0,
<a name="l00143"></a>00143         NULL, NULL },
<a name="l00144"></a>00144  { <span class="stringliteral">"usecursors"</span>,0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#a80f081d0483f328df55404edbad39f5">dbi_use_cursors</a>, 0,
<a name="l00145"></a>00145         NULL, NULL },
<a name="l00146"></a>00146  { <span class="stringliteral">"usedbenv"</span>,  0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#e1fbcc829bdf769a162ed9ee11532018">dbi_use_dbenv</a>, 0,
<a name="l00147"></a>00147         NULL, NULL },
<a name="l00148"></a>00148  { <span class="stringliteral">"nofsync"</span>,   0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#0f1c15050c74491bfab465f75a59d553">dbi_no_fsync</a>, 0,
<a name="l00149"></a>00149         NULL, NULL },
<a name="l00150"></a>00150  { <span class="stringliteral">"nodbsync"</span>,  0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#5d7636e5ac3256abed079203d50d121d">dbi_no_dbsync</a>, 0,
<a name="l00151"></a>00151         NULL, NULL },
<a name="l00152"></a>00152  { <span class="stringliteral">"lockdbfd"</span>,  0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#07bdd4bc61ad5d773ff0e522afc067de">dbi_lockdbfd</a>, 0,
<a name="l00153"></a>00153         NULL, NULL },
<a name="l00154"></a>00154  { <span class="stringliteral">"temporary"</span>, 0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#65bb5b5d9a5d5e37cab4581fc446cb05">dbi_temporary</a>, 0,
<a name="l00155"></a>00155         NULL, NULL },
<a name="l00156"></a>00156  { <span class="stringliteral">"debug"</span>,     0,<a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#8eb26e5a60be0088db0f65a1da7b3d56">dbi_debug</a>, 0,
<a name="l00157"></a>00157         NULL, NULL },
<a name="l00158"></a>00158 
<a name="l00159"></a>00159  { <span class="stringliteral">"cachesize"</span>, 0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#b3c5ab814562a47fc1371c5fabd8b476">dbi_cachesize</a>, 0,
<a name="l00160"></a>00160         NULL, NULL },
<a name="l00161"></a>00161  { <span class="stringliteral">"errpfx"</span>,    0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#cc8f318f5d2fb897e85924b335118c75">dbi_errpfx</a>, 0,
<a name="l00162"></a>00162         NULL, NULL },
<a name="l00163"></a>00163  { <span class="stringliteral">"region_init"</span>, 0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#808bb8148ffeacbc2235635c944934a4">dbi_region_init</a>, 1,
<a name="l00164"></a>00164         NULL, NULL },
<a name="l00165"></a>00165  { <span class="stringliteral">"tas_spins"</span>, 0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#a4ba6aaa94f76412865b2796f4967a8e">dbi_tas_spins</a>, 0,
<a name="l00166"></a>00166         NULL, NULL },
<a name="l00167"></a>00167 
<a name="l00168"></a>00168 <span class="preprocessor">#if defined(DB_VERB_CHKPOINT)</span>
<a name="l00169"></a>00169 <span class="preprocessor"></span> { <span class="stringliteral">"chkpoint"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#2dfd1c1cbff5c64ac36146d4a4b52c1a">dbi_verbose</a>, DB_VERB_CHKPOINT,
<a name="l00170"></a>00170         NULL, NULL },
<a name="l00171"></a>00171 <span class="preprocessor">#endif</span>
<a name="l00172"></a>00172 <span class="preprocessor"></span> { <span class="stringliteral">"deadlock"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#2dfd1c1cbff5c64ac36146d4a4b52c1a">dbi_verbose</a>, DB_VERB_DEADLOCK,
<a name="l00173"></a>00173         NULL, NULL },
<a name="l00174"></a>00174  { <span class="stringliteral">"recovery"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#2dfd1c1cbff5c64ac36146d4a4b52c1a">dbi_verbose</a>, DB_VERB_RECOVERY,
<a name="l00175"></a>00175         NULL, NULL },
<a name="l00176"></a>00176  { <span class="stringliteral">"waitsfor"</span>,  0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#2dfd1c1cbff5c64ac36146d4a4b52c1a">dbi_verbose</a>, DB_VERB_WAITSFOR,
<a name="l00177"></a>00177         NULL, NULL },
<a name="l00178"></a>00178  { <span class="stringliteral">"verbose"</span>,   0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#2dfd1c1cbff5c64ac36146d4a4b52c1a">dbi_verbose</a>, -1,
<a name="l00179"></a>00179         NULL, NULL },
<a name="l00180"></a>00180 
<a name="l00181"></a>00181  { <span class="stringliteral">"lk_oldest"</span>, 0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#aac59ba7529318f234ca6e2701d9f2cc">dbi_lk_detect</a>, DB_LOCK_OLDEST,
<a name="l00182"></a>00182         NULL, NULL },
<a name="l00183"></a>00183  { <span class="stringliteral">"lk_random"</span>, 0,<a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#aac59ba7529318f234ca6e2701d9f2cc">dbi_lk_detect</a>, DB_LOCK_RANDOM,
<a name="l00184"></a>00184         NULL, NULL },
<a name="l00185"></a>00185  { <span class="stringliteral">"lk_youngest"</span>,0, <a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#aac59ba7529318f234ca6e2701d9f2cc">dbi_lk_detect</a>, DB_LOCK_YOUNGEST,
<a name="l00186"></a>00186         NULL, NULL },
<a name="l00187"></a>00187 <span class="comment">/* XXX lk_conflicts matrix */</span>
<a name="l00188"></a>00188  { <span class="stringliteral">"lk_max"</span>,    0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#1a56da0cfafa6cc704813068ae1cc81c">dbi_lk_max</a>, 0,
<a name="l00189"></a>00189         NULL, NULL },
<a name="l00190"></a>00190 
<a name="l00191"></a>00191  { <span class="stringliteral">"lg_bsize"</span>,  0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#e2b97a708a36487ad0ec68ec87d1d9f4">dbi_lg_bsize</a>, 0,
<a name="l00192"></a>00192         NULL, NULL },
<a name="l00193"></a>00193  { <span class="stringliteral">"lg_max"</span>,    0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#1d6e6d2a2bbe1ce9cf1fb0ccaadbf821">dbi_lg_max</a>, 0,
<a name="l00194"></a>00194         NULL, NULL },
<a name="l00195"></a>00195 
<a name="l00196"></a>00196 <span class="comment">/* XXX tx_recover */</span>
<a name="l00197"></a>00197  { <span class="stringliteral">"tx_max"</span>,    0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#a3903392a5101d90606a7ae23069b746">dbi_tx_max</a>, 0,
<a name="l00198"></a>00198         NULL, NULL },
<a name="l00199"></a>00199 
<a name="l00200"></a>00200  { <span class="stringliteral">"lorder"</span>,    0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#eb89434b03d9504f34b470079f95b0c8">dbi_lorder</a>, 0,
<a name="l00201"></a>00201         NULL, NULL },
<a name="l00202"></a>00202 
<a name="l00203"></a>00203  { <span class="stringliteral">"mmapsize"</span>, 0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,          &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#78d992526adacd23bcedaa9afb14aa2b">dbi_mmapsize</a>, 0,
<a name="l00204"></a>00204         NULL, NULL },
<a name="l00205"></a>00205  { <span class="stringliteral">"mp_mmapsize"</span>, 0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#78d992526adacd23bcedaa9afb14aa2b">dbi_mmapsize</a>, 0,
<a name="l00206"></a>00206         NULL, NULL },
<a name="l00207"></a>00207  { <span class="stringliteral">"mp_size"</span>,   0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#b3c5ab814562a47fc1371c5fabd8b476">dbi_cachesize</a>, 0,
<a name="l00208"></a>00208         NULL, NULL },
<a name="l00209"></a>00209  { <span class="stringliteral">"pagesize"</span>,  0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#b6f95e6c9733bc06fb44d88b14565fc0">dbi_pagesize</a>, 0,
<a name="l00210"></a>00210         NULL, NULL },
<a name="l00211"></a>00211 
<a name="l00212"></a>00212 <span class="comment">/* XXX bt_minkey */</span>
<a name="l00213"></a>00213 <span class="comment">/* XXX bt_compare */</span>
<a name="l00214"></a>00214 <span class="comment">/* XXX bt_dup_compare */</span>
<a name="l00215"></a>00215 <span class="comment">/* XXX bt_prefix */</span>
<a name="l00216"></a>00216  { <span class="stringliteral">"bt_dup"</span>,    0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c1a210eb442a8a83d24d32b136e64884">dbi_bt_flags</a>, DB_DUP,
<a name="l00217"></a>00217         NULL, NULL },
<a name="l00218"></a>00218  { <span class="stringliteral">"bt_dupsort"</span>,0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c1a210eb442a8a83d24d32b136e64884">dbi_bt_flags</a>, DB_DUPSORT,
<a name="l00219"></a>00219         NULL, NULL },
<a name="l00220"></a>00220  { <span class="stringliteral">"bt_recnum"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c1a210eb442a8a83d24d32b136e64884">dbi_bt_flags</a>, DB_RECNUM,
<a name="l00221"></a>00221         NULL, NULL },
<a name="l00222"></a>00222  { <span class="stringliteral">"bt_revsplitoff"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,    &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c1a210eb442a8a83d24d32b136e64884">dbi_bt_flags</a>, DB_REVSPLITOFF,
<a name="l00223"></a>00223         NULL, NULL },
<a name="l00224"></a>00224 
<a name="l00225"></a>00225  { <span class="stringliteral">"h_dup"</span>,     0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#75dee610dc7acb3b18841dd24c84e283">dbi_h_flags</a>, DB_DUP,
<a name="l00226"></a>00226         NULL, NULL },
<a name="l00227"></a>00227  { <span class="stringliteral">"h_dupsort"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>, &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#75dee610dc7acb3b18841dd24c84e283">dbi_h_flags</a>, DB_DUPSORT,
<a name="l00228"></a>00228         NULL, NULL },
<a name="l00229"></a>00229  { <span class="stringliteral">"h_ffactor"</span>, 0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#e4cf004b33d062700abfd3a424af7dd3">dbi_h_ffactor</a>, 0,
<a name="l00230"></a>00230         NULL, NULL },
<a name="l00231"></a>00231  { <span class="stringliteral">"h_nelem"</span>,   0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#233a0819802cf0402a578533401d2018">dbi_h_nelem</a>, 0,
<a name="l00232"></a>00232         NULL, NULL },
<a name="l00233"></a>00233 
<a name="l00234"></a>00234  { <span class="stringliteral">"re_renumber"</span>, 0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,       &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#f54afd60b3bffcc9eb4f05e570cfd1f9">dbi_re_flags</a>, DB_RENUMBER,
<a name="l00235"></a>00235         NULL, NULL },
<a name="l00236"></a>00236  { <span class="stringliteral">"re_snapshot"</span>,0,<a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>,        &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#f54afd60b3bffcc9eb4f05e570cfd1f9">dbi_re_flags</a>, DB_SNAPSHOT,
<a name="l00237"></a>00237         NULL, NULL },
<a name="l00238"></a>00238  { <span class="stringliteral">"re_delim"</span>,  0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#40113e1ad75b77235d565f323c41b6f0">dbi_re_delim</a>, 0,
<a name="l00239"></a>00239         NULL, NULL },
<a name="l00240"></a>00240  { <span class="stringliteral">"re_len"</span>,    0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#54b7a0bce52338b6a2995703e02ac046">dbi_re_len</a>, 0,
<a name="l00241"></a>00241         NULL, NULL },
<a name="l00242"></a>00242  { <span class="stringliteral">"re_pad"</span>,    0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,         &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#dc714b836d41bd871f5b75468df0f840">dbi_re_pad</a>, 0,
<a name="l00243"></a>00243         NULL, NULL },
<a name="l00244"></a>00244  { <span class="stringliteral">"re_source"</span>, 0,<a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#481bb62b56f71b59e609fe770fe48b0c">dbi_re_source</a>, 0,
<a name="l00245"></a>00245         NULL, NULL },
<a name="l00246"></a>00246 
<a name="l00247"></a>00247  { <span class="stringliteral">"q_extentsize"</span>, 0,<a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>,      &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#352564ebb8f5947d3f9270b302a78e2a">dbi_q_extentsize</a>, 0,
<a name="l00248"></a>00248         NULL, NULL },
<a name="l00249"></a>00249 
<a name="l00250"></a>00250     <a class="code" href="popt_8h.html#bb5479e3e11f1a22617b4d43c73083b4">POPT_TABLEEND</a>
<a name="l00251"></a>00251 };
<a name="l00252"></a>00252 <span class="comment">/*@=compmempass =immediatetrans =exportlocal =exportheadervar@*/</span>
<a name="l00253"></a>00253 
<a name="l00254"></a><a class="code" href="group__db3.html#g7278fc746ae47c8a5425aae58078c521">00254</a> <a class="code" href="struct__dbiIndex.html">dbiIndex</a> <a class="code" href="group__db3.html#g7278fc746ae47c8a5425aae58078c521">db3Free</a>(<a class="code" href="struct__dbiIndex.html">dbiIndex</a> dbi)
<a name="l00255"></a>00255 {
<a name="l00256"></a>00256     <span class="keywordflow">if</span> (dbi) {
<a name="l00257"></a>00257         dbi-&gt;<a class="code" href="struct__dbiIndex.html#540e482a79803de23fd7e432b6004b27">dbi_root</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#540e482a79803de23fd7e432b6004b27">dbi_root</a>);
<a name="l00258"></a>00258         dbi-&gt;<a class="code" href="struct__dbiIndex.html#5cd56690dbc8aaafc7302bede05b8e16">dbi_home</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#5cd56690dbc8aaafc7302bede05b8e16">dbi_home</a>);
<a name="l00259"></a>00259         dbi-&gt;<a class="code" href="struct__dbiIndex.html#4131d64385e60cc5336f3218c224fac4">dbi_file</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#4131d64385e60cc5336f3218c224fac4">dbi_file</a>);
<a name="l00260"></a>00260         dbi-&gt;<a class="code" href="struct__dbiIndex.html#4d51e89adf77a4ed85f0c770d58254b0">dbi_subfile</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#4d51e89adf77a4ed85f0c770d58254b0">dbi_subfile</a>);
<a name="l00261"></a>00261         dbi-&gt;<a class="code" href="struct__dbiIndex.html#c1c6c15aa17d4cbe63b1ca5dc6b65712">dbi_tmpdir</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#c1c6c15aa17d4cbe63b1ca5dc6b65712">dbi_tmpdir</a>);
<a name="l00262"></a>00262         dbi-&gt;<a class="code" href="struct__dbiIndex.html#e5f93dbac81dc7b96bb05e8768e28155">dbi_host</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#e5f93dbac81dc7b96bb05e8768e28155">dbi_host</a>);
<a name="l00263"></a>00263         dbi-&gt;<a class="code" href="struct__dbiIndex.html#cc8f318f5d2fb897e85924b335118c75">dbi_errpfx</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#cc8f318f5d2fb897e85924b335118c75">dbi_errpfx</a>);
<a name="l00264"></a>00264         dbi-&gt;<a class="code" href="struct__dbiIndex.html#481bb62b56f71b59e609fe770fe48b0c">dbi_re_source</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#481bb62b56f71b59e609fe770fe48b0c">dbi_re_source</a>);
<a name="l00265"></a>00265         dbi-&gt;<a class="code" href="struct__dbiIndex.html#9da3c70391f3ffdf04c7eadffb3cf7b7">dbi_stats</a> = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi-&gt;<a class="code" href="struct__dbiIndex.html#9da3c70391f3ffdf04c7eadffb3cf7b7">dbi_stats</a>);
<a name="l00266"></a>00266         dbi = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbi);
<a name="l00267"></a>00267     }
<a name="l00268"></a>00268     <span class="keywordflow">return</span> dbi;
<a name="l00269"></a>00269 }
<a name="l00270"></a>00270 
<a name="l00272"></a>00272 <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span>
<a name="l00273"></a><a class="code" href="dbconfig_8c.html#7ba485f7d4fb2560f835eb9880798162">00273</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="dbconfig_8c.html#7ba485f7d4fb2560f835eb9880798162">db3_config_default</a> =
<a name="l00274"></a>00274     <span class="stringliteral">"db3:hash:mpool:cdb:usecursors:verbose:mp_mmapsize=8Mb:cachesize=512Kb:pagesize=512:perms=0644"</span>;
<a name="l00275"></a>00275 
<a name="l00276"></a>00276 <span class="comment">/*@-bounds@*/</span>
<a name="l00277"></a><a class="code" href="group__db3.html#g3792cac571f6918fad03765f196177da">00277</a> <a class="code" href="struct__dbiIndex.html">dbiIndex</a> <a class="code" href="group__db3.html#g3792cac571f6918fad03765f196177da">db3New</a>(<a class="code" href="structrpmdb__s.html">rpmdb</a> <a class="code" href="structrpmdb__s.html">rpmdb</a>, <a class="code" href="rpmlib_8h.html#d0da081a8aa5491edae4ad732d03c2f3">rpmTag</a> rpmtag)
<a name="l00278"></a>00278 {
<a name="l00279"></a>00279     <a class="code" href="struct__dbiIndex.html">dbiIndex</a> dbi = <a class="code" href="system_8h.html#cf4d2a0b6c4f9229a0f4687202abed54">xcalloc</a>(1, <span class="keyword">sizeof</span>(*dbi));
<a name="l00280"></a>00280     <span class="keywordtype">char</span> dbiTagMacro[128];
<a name="l00281"></a>00281     <span class="keywordtype">char</span> * dbOpts;
<a name="l00282"></a>00282 
<a name="l00283"></a>00283     sprintf(dbiTagMacro, <span class="stringliteral">"%%{_dbi_config_%s}"</span>, <a class="code" href="rpmlib_8h.html#0e5056d528e922f70f441449e572fb14">tagName</a>(rpmtag));
<a name="l00284"></a>00284     dbOpts = <a class="code" href="macro_8c.html#5d9a83318fc250d1fad8096c811754d4">rpmExpand</a>(dbiTagMacro, NULL);
<a name="l00285"></a>00285     <span class="keywordflow">if</span> (!(dbOpts &amp;&amp; *dbOpts &amp;&amp; *dbOpts != <span class="charliteral">'%'</span>)) {
<a name="l00286"></a>00286         dbOpts = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbOpts);
<a name="l00287"></a>00287         dbOpts = <a class="code" href="macro_8c.html#5d9a83318fc250d1fad8096c811754d4">rpmExpand</a>(<span class="stringliteral">"%{_dbi_config}"</span>, NULL);
<a name="l00288"></a>00288         <span class="keywordflow">if</span> (!(dbOpts &amp;&amp; *dbOpts &amp;&amp; *dbOpts != <span class="charliteral">'%'</span>)) {
<a name="l00289"></a>00289             dbOpts = <a class="code" href="macro_8c.html#5d9a83318fc250d1fad8096c811754d4">rpmExpand</a>(<a class="code" href="dbconfig_8c.html#7ba485f7d4fb2560f835eb9880798162">db3_config_default</a>, NULL);
<a name="l00290"></a>00290         }
<a name="l00291"></a>00291     }
<a name="l00292"></a>00292 
<a name="l00293"></a>00293     <span class="comment">/* Parse the options for the database element(s). */</span>
<a name="l00294"></a>00294     <span class="comment">/*@-branchstate@*/</span>
<a name="l00295"></a>00295     <span class="keywordflow">if</span> (dbOpts &amp;&amp; *dbOpts &amp;&amp; *dbOpts != <span class="charliteral">'%'</span>) {
<a name="l00296"></a>00296         <span class="keywordtype">char</span> *o, *oe;
<a name="l00297"></a>00297         <span class="keywordtype">char</span> *p, *pe;
<a name="l00298"></a>00298 
<a name="l00299"></a>00299         memset(&amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>));
<a name="l00300"></a>00300 <span class="comment">/*=========*/</span>
<a name="l00301"></a>00301         <span class="keywordflow">for</span> (o = dbOpts; o &amp;&amp; *o; o = oe) {
<a name="l00302"></a>00302             <span class="keyword">struct</span> <a class="code" href="structpoptOption.html">poptOption</a> *opt;
<a name="l00303"></a>00303             <span class="keyword">const</span> <span class="keywordtype">char</span> * tok;
<a name="l00304"></a>00304             <span class="keywordtype">int</span> <a class="code" href="structpoptOption.html#5b1233c5fb30a60d1e8b0c41492ead5f">argInfo</a>;
<a name="l00305"></a>00305 
<a name="l00306"></a>00306             <span class="comment">/* Skip leading white space. */</span>
<a name="l00307"></a>00307             <span class="keywordflow">while</span> (*o &amp;&amp; <a class="code" href="stringbuf_8c.html#a481190ded02056b6b5710dad2d913a4">xisspace</a>(*o))
<a name="l00308"></a>00308                 o++;
<a name="l00309"></a>00309 
<a name="l00310"></a>00310             <span class="comment">/* Find and terminate next key=value pair. Save next start point. */</span>
<a name="l00311"></a>00311             <span class="keywordflow">for</span> (oe = o; oe &amp;&amp; *oe; oe++) {
<a name="l00312"></a>00312                 <span class="keywordflow">if</span> (<a class="code" href="stringbuf_8c.html#a481190ded02056b6b5710dad2d913a4">xisspace</a>(*oe))
<a name="l00313"></a>00313                     <span class="comment">/*@innerbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00314"></a>00314                 <span class="keywordflow">if</span> (oe[0] == <span class="charliteral">':'</span> &amp;&amp; !(oe[1] == <span class="charliteral">'/'</span> &amp;&amp; oe[2] == <span class="charliteral">'/'</span>))
<a name="l00315"></a>00315                     <span class="comment">/*@innerbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00316"></a>00316             }
<a name="l00317"></a>00317             <span class="keywordflow">if</span> (oe &amp;&amp; *oe)
<a name="l00318"></a>00318                 *oe++ = <span class="charliteral">'\0'</span>;
<a name="l00319"></a>00319             <span class="keywordflow">if</span> (*o == <span class="charliteral">'\0'</span>)
<a name="l00320"></a>00320                 <span class="keywordflow">continue</span>;
<a name="l00321"></a>00321 
<a name="l00322"></a>00322             <span class="comment">/* Separate key from value, save value start (if any). */</span>
<a name="l00323"></a>00323             <span class="keywordflow">for</span> (pe = o; pe &amp;&amp; *pe &amp;&amp; *pe != <span class="charliteral">'='</span>; pe++)
<a name="l00324"></a>00324                 {};
<a name="l00325"></a>00325             p = (pe ? *pe++ = <span class="charliteral">'\0'</span>, pe : NULL);
<a name="l00326"></a>00326 
<a name="l00327"></a>00327             <span class="comment">/* Skip over negation at start of token. */</span>
<a name="l00328"></a>00328             <span class="keywordflow">for</span> (tok = o; *tok == <span class="charliteral">'!'</span>; tok++)
<a name="l00329"></a>00329                 {};
<a name="l00330"></a>00330 
<a name="l00331"></a>00331             <span class="comment">/* Find key in option table. */</span>
<a name="l00332"></a>00332             <span class="keywordflow">for</span> (opt = <a class="code" href="group__db3.html#g54e4b72a6d50c8698be013092dc70835">rdbOptions</a>; opt-&gt;<a class="code" href="structpoptOption.html#cb5681d547739c8417c87aabd7ca7a7f">longName</a> != NULL; opt++) {
<a name="l00333"></a>00333                 <span class="keywordflow">if</span> (strcmp(tok, opt-&gt;longName))
<a name="l00334"></a>00334                     <span class="comment">/*@innercontinue@*/</span> <span class="keywordflow">continue</span>;
<a name="l00335"></a>00335                 <span class="comment">/*@innerbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00336"></a>00336             }
<a name="l00337"></a>00337             <span class="keywordflow">if</span> (opt-&gt;longName == NULL) {
<a name="l00338"></a>00338                 <a class="code" href="rpmerr_8h.html#29f3f082b0cd6acdcc70a31cbd613e1a">rpmError</a>(<a class="code" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b887d34c5bd28cde4bf122c59b64b6da6">RPMERR_DBCONFIG</a>,
<a name="l00339"></a>00339                         <a class="code" href="system_8h.html#8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">"unrecognized db option: \"%s\" ignored.\n"</span>), o);
<a name="l00340"></a>00340                 <span class="keywordflow">continue</span>;
<a name="l00341"></a>00341             }
<a name="l00342"></a>00342 
<a name="l00343"></a>00343             <span class="comment">/* Toggle the flags for negated tokens, if necessary. */</span>
<a name="l00344"></a>00344             argInfo = opt-&gt;argInfo;
<a name="l00345"></a>00345             <span class="keywordflow">if</span> (argInfo == <a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a> &amp;&amp; *o == <span class="charliteral">'!'</span> &amp;&amp; ((tok - o) % 2))
<a name="l00346"></a>00346                 argInfo = <a class="code" href="popt_8h.html#ea15c957685cb14cce89bc0b09bc190a">POPT_BIT_CLR</a>;
<a name="l00347"></a>00347 
<a name="l00348"></a>00348             <span class="comment">/* Save value in template as appropriate. */</span>
<a name="l00349"></a>00349             <span class="keywordflow">switch</span> (argInfo &amp; <a class="code" href="popt_8h.html#07b02da310d6960044daf44a0d8279d6">POPT_ARG_MASK</a>) {
<a name="l00350"></a>00350 
<a name="l00351"></a>00351             <span class="keywordflow">case</span> <a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">POPT_ARG_NONE</a>:
<a name="l00352"></a>00352                 (<span class="keywordtype">void</span>) <a class="code" href="popt_8c.html#2661edb98eb1d44e85acd960ef2bcc5f">poptSaveInt</a>((<span class="keywordtype">int</span> *)opt-&gt;arg, argInfo, 1L);
<a name="l00353"></a>00353                 <span class="comment">/*@switchbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00354"></a>00354             <span class="keywordflow">case</span> <a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">POPT_ARG_VAL</a>:
<a name="l00355"></a>00355                 (<span class="keywordtype">void</span>) <a class="code" href="popt_8c.html#2661edb98eb1d44e85acd960ef2bcc5f">poptSaveInt</a>((<span class="keywordtype">int</span> *)opt-&gt;arg, argInfo, (<span class="keywordtype">long</span>)opt-&gt;val);
<a name="l00356"></a>00356                 <span class="comment">/*@switchbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00357"></a>00357             <span class="keywordflow">case</span> <a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">POPT_ARG_STRING</a>:
<a name="l00358"></a>00358             {   <span class="keyword">const</span> <span class="keywordtype">char</span> ** t = opt-&gt;arg;
<a name="l00359"></a>00359                 <span class="comment">/*@-mods@*/</span>
<a name="l00360"></a>00360                 if (t) {
<a name="l00361"></a>00361 <span class="comment">/*@-unqualifiedtrans@*/</span> <span class="comment">/* FIX: opt-&gt;arg annotation in popt.h */</span>
<a name="l00362"></a>00362                     *t = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(*t);
<a name="l00363"></a>00363 <span class="comment">/*@=unqualifiedtrans@*/</span>
<a name="l00364"></a>00364                     *t = <a class="code" href="system_8h.html#d6142d091f00b2d4543ce7a43e5d0eba">xstrdup</a>( (p ? p : <span class="stringliteral">""</span>) );
<a name="l00365"></a>00365                 }
<a name="l00366"></a>00366                 <span class="comment">/*@=mods@*/</span>
<a name="l00367"></a>00367             }   <span class="comment">/*@switchbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00368"></a>00368 
<a name="l00369"></a>00369             <span class="keywordflow">case</span> <a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">POPT_ARG_INT</a>:
<a name="l00370"></a>00370             <span class="keywordflow">case</span> <a class="code" href="popt_8h.html#77102c8def672e74e946f7d2978aca76">POPT_ARG_LONG</a>:
<a name="l00371"></a>00371               { <span class="keywordtype">long</span> aLong = strtol(p, &amp;pe, 0);
<a name="l00372"></a>00372                 <span class="keywordflow">if</span> (pe) {
<a name="l00373"></a>00373                     <span class="keywordflow">if</span> (!<a class="code" href="group__rpmio.html#ge4561f67b313c68319bb4b273dced5b6">xstrncasecmp</a>(pe, <span class="stringliteral">"Mb"</span>, 2))
<a name="l00374"></a>00374                         aLong *= 1024 * 1024;
<a name="l00375"></a>00375                     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code" href="group__rpmio.html#ge4561f67b313c68319bb4b273dced5b6">xstrncasecmp</a>(pe, <span class="stringliteral">"Kb"</span>, 2))
<a name="l00376"></a>00376                         aLong *= 1024;
<a name="l00377"></a>00377                     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*pe != <span class="charliteral">'\0'</span>) {
<a name="l00378"></a>00378                         <a class="code" href="rpmerr_8h.html#29f3f082b0cd6acdcc70a31cbd613e1a">rpmError</a>(<a class="code" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b887d34c5bd28cde4bf122c59b64b6da6">RPMERR_DBCONFIG</a>,
<a name="l00379"></a>00379                                 <a class="code" href="system_8h.html#8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">"%s has invalid numeric value, skipped\n"</span>),
<a name="l00380"></a>00380                                 opt-&gt;longName);
<a name="l00381"></a>00381                         <span class="keywordflow">continue</span>;
<a name="l00382"></a>00382                     }
<a name="l00383"></a>00383                 }
<a name="l00384"></a>00384 
<a name="l00385"></a>00385                 <span class="keywordflow">if</span> ((argInfo &amp; POPT_ARG_MASK) == <a class="code" href="popt_8h.html#77102c8def672e74e946f7d2978aca76">POPT_ARG_LONG</a>) {
<a name="l00386"></a>00386                     <span class="keywordflow">if</span> (aLong == LONG_MIN || aLong == LONG_MAX) {
<a name="l00387"></a>00387                         <a class="code" href="rpmerr_8h.html#29f3f082b0cd6acdcc70a31cbd613e1a">rpmError</a>(<a class="code" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b887d34c5bd28cde4bf122c59b64b6da6">RPMERR_DBCONFIG</a>,
<a name="l00388"></a>00388                                 <a class="code" href="system_8h.html#8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">"%s has too large or too small long value, skipped\n"</span>),
<a name="l00389"></a>00389                                 opt-&gt;longName);
<a name="l00390"></a>00390                         <span class="keywordflow">continue</span>;
<a name="l00391"></a>00391                     }
<a name="l00392"></a>00392                     (void) <a class="code" href="popt_8c.html#c11d038626013f82af840de5b3c86aa7">poptSaveLong</a>((<span class="keywordtype">long</span> *)opt-&gt;arg, argInfo, aLong);
<a name="l00393"></a>00393                     <span class="comment">/*@switchbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00394"></a>00394                 } <span class="keywordflow">else</span> {
<a name="l00395"></a>00395                     <span class="keywordflow">if</span> (aLong &gt; INT_MAX || aLong &lt; INT_MIN) {
<a name="l00396"></a>00396                         <a class="code" href="rpmerr_8h.html#29f3f082b0cd6acdcc70a31cbd613e1a">rpmError</a>(<a class="code" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b887d34c5bd28cde4bf122c59b64b6da6">RPMERR_DBCONFIG</a>,
<a name="l00397"></a>00397                                 <a class="code" href="system_8h.html#8a97de23397d8af6821824c0234d8c3c">_</a>(<span class="stringliteral">"%s has too large or too small integer value, skipped\n"</span>),
<a name="l00398"></a>00398                                 opt-&gt;longName);
<a name="l00399"></a>00399                         <span class="keywordflow">continue</span>;
<a name="l00400"></a>00400                     }
<a name="l00401"></a>00401                     (void) <a class="code" href="popt_8c.html#2661edb98eb1d44e85acd960ef2bcc5f">poptSaveInt</a>((<span class="keywordtype">int</span> *)opt-&gt;arg, argInfo, aLong);
<a name="l00402"></a>00402                 }
<a name="l00403"></a>00403               } <span class="comment">/*@switchbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00404"></a>00404             <span class="keywordflow">default</span>:
<a name="l00405"></a>00405                 <span class="comment">/*@switchbreak@*/</span> <span class="keywordflow">break</span>;
<a name="l00406"></a>00406             }
<a name="l00407"></a>00407         }
<a name="l00408"></a>00408 <span class="comment">/*=========*/</span>
<a name="l00409"></a>00409     }
<a name="l00410"></a>00410     <span class="comment">/*@=branchstate@*/</span>
<a name="l00411"></a>00411 
<a name="l00412"></a>00412     dbOpts = <a class="code" href="rpmlib_8h.html#2574a8c557fe9a6754ff3b3656943f23">_free</a>(dbOpts);
<a name="l00413"></a>00413 
<a name="l00414"></a>00414     <span class="comment">/*@-assignexpose@*/</span>
<a name="l00415"></a>00415 <span class="comment">/*@i@*/</span> *dbi = <a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>;  <span class="comment">/* structure assignment */</span>
<a name="l00416"></a>00416     <span class="comment">/*@=assignexpose@*/</span>
<a name="l00417"></a>00417     memset(&amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>, 0, <span class="keyword">sizeof</span>(<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>));
<a name="l00418"></a>00418 
<a name="l00419"></a>00419     <span class="keywordflow">if</span> (!(dbi-&gt;dbi_perms &amp; 0600))
<a name="l00420"></a>00420         dbi-&gt;dbi_perms = 0644;
<a name="l00421"></a>00421     dbi-&gt;dbi_mode = <a class="code" href="group__rpmdb.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>-&gt;<a class="code" href="structrpmdb__s.html#dc284856bc50606760f84fb394b93cea">db_mode</a>;
<a name="l00422"></a>00422     <span class="comment">/*@-assignexpose -newreftrans@*/</span> <span class="comment">/* FIX: figger rpmdb/dbi refcounts */</span>
<a name="l00423"></a>00423 <span class="comment">/*@i@*/</span> dbi-&gt;dbi_rpmdb = <a class="code" href="group__rpmdb.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a>;
<a name="l00424"></a>00424     <span class="comment">/*@=assignexpose =newreftrans@*/</span>
<a name="l00425"></a>00425     dbi-&gt;dbi_rpmtag = rpmtag;
<a name="l00426"></a>00426     
<a name="l00427"></a>00427     <span class="comment">/*</span>
<a name="l00428"></a>00428 <span class="comment">     * Inverted lists have join length of 2, primary data has join length of 1.</span>
<a name="l00429"></a>00429 <span class="comment">     */</span>
<a name="l00430"></a>00430     <span class="comment">/*@-sizeoftype@*/</span>
<a name="l00431"></a>00431     <span class="keywordflow">switch</span> (rpmtag) {
<a name="l00432"></a>00432     <span class="keywordflow">case</span> <a class="code" href="rpmlib_8h.html#39fcc4d1b52ef92e63e74b0f13ded353">RPMDBI_PACKAGES</a>:
<a name="l00433"></a>00433     <span class="keywordflow">case</span> <a class="code" href="rpmlib_8h.html#1d47f066b552dfad14808c4226fa4b47">RPMDBI_DEPENDS</a>:
<a name="l00434"></a>00434         dbi-&gt;dbi_jlen = 1 * <span class="keyword">sizeof</span>(<a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a>);
<a name="l00435"></a>00435         <span class="keywordflow">break</span>;
<a name="l00436"></a>00436     <span class="keywordflow">default</span>:
<a name="l00437"></a>00437         dbi-&gt;dbi_jlen = 2 * <span class="keyword">sizeof</span>(<a class="code" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a>);
<a name="l00438"></a>00438         <span class="keywordflow">break</span>;
<a name="l00439"></a>00439     }
<a name="l00440"></a>00440     <span class="comment">/*@=sizeoftype@*/</span>
<a name="l00441"></a>00441 
<a name="l00442"></a>00442     dbi-&gt;dbi_byteswapped = -1;  <span class="comment">/* -1 unknown, 0 native order, 1 alien order */</span>
<a name="l00443"></a>00443 
<a name="l00444"></a>00444     <span class="keywordflow">if</span> (!dbi-&gt;dbi_use_dbenv) {          <span class="comment">/* db3 dbenv is always used now. */</span>
<a name="l00445"></a>00445         dbi-&gt;dbi_use_dbenv = 1;
<a name="l00446"></a>00446         dbi-&gt;dbi_eflags |= (DB_INIT_MPOOL|DB_JOINENV);
<a name="l00447"></a>00447         dbi-&gt;dbi_mmapsize = 16 * 1024 * 1024;
<a name="l00448"></a>00448         dbi-&gt;dbi_cachesize = 1 * 1024 * 1024;
<a name="l00449"></a>00449     }
<a name="l00450"></a>00450 
<a name="l00451"></a>00451     <span class="keywordflow">if</span> ((dbi-&gt;dbi_bt_flags | dbi-&gt;dbi_h_flags) &amp; DB_DUP)
<a name="l00452"></a>00452         dbi-&gt;dbi_permit_dups = 1;
<a name="l00453"></a>00453 
<a name="l00454"></a>00454     <span class="comment">/*@-globstate@*/</span> <span class="comment">/* FIX: *(rdbOptions-&gt;arg) reachable */</span>
<a name="l00455"></a>00455     <span class="keywordflow">return</span> dbi;
<a name="l00456"></a>00456     <span class="comment">/*@=globstate@*/</span>
<a name="l00457"></a>00457 }
<a name="l00458"></a>00458 <span class="comment">/*@=bounds@*/</span>
<a name="l00459"></a>00459 
<a name="l00460"></a>00460 <span class="comment">/*@-boundswrite@*/</span>
<a name="l00461"></a><a class="code" href="group__db3.html#ged773a79f6743b099b86f920c6da5fc7">00461</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code" href="group__db3.html#ged773a79f6743b099b86f920c6da5fc7">prDbiOpenFlags</a>(<span class="keywordtype">int</span> dbflags, <span class="keywordtype">int</span> print_dbenv_flags)
<a name="l00462"></a>00462 {
<a name="l00463"></a>00463     <span class="keyword">static</span> <span class="keywordtype">char</span> buf[256];
<a name="l00464"></a>00464     <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> *opt;
<a name="l00465"></a>00465     <span class="keywordtype">char</span> * oe;
<a name="l00466"></a>00466 
<a name="l00467"></a>00467     oe = buf;
<a name="l00468"></a>00468     *oe = <span class="charliteral">'\0'</span>;
<a name="l00469"></a>00469     <span class="keywordflow">for</span> (opt = <a class="code" href="group__db3.html#g54e4b72a6d50c8698be013092dc70835">rdbOptions</a>; opt-&gt;<a class="code" href="structpoptOption.html#cb5681d547739c8417c87aabd7ca7a7f">longName</a> != NULL; opt++) {
<a name="l00470"></a>00470         <span class="keywordflow">if</span> (opt-&gt;<a class="code" href="structpoptOption.html#5b1233c5fb30a60d1e8b0c41492ead5f">argInfo</a> != <a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">POPT_BIT_SET</a>)
<a name="l00471"></a>00471             <span class="keywordflow">continue</span>;
<a name="l00472"></a>00472         if (print_dbenv_flags) {
<a name="l00473"></a>00473             <span class="keywordflow">if</span> (!(opt-&gt;<a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">arg</a> == &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#1b283170172a018099240a6c57c69eea">dbi_oeflags</a> ||
<a name="l00474"></a>00474                   opt-&gt;<a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">arg</a> == &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#c8f0f56ad5e87cae11642a29825473d6">dbi_eflags</a>))
<a name="l00475"></a>00475                 <span class="keywordflow">continue</span>;
<a name="l00476"></a>00476         } <span class="keywordflow">else</span> {
<a name="l00477"></a>00477             <span class="keywordflow">if</span> (!(opt-&gt;<a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">arg</a> == &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#1b283170172a018099240a6c57c69eea">dbi_oeflags</a> ||
<a name="l00478"></a>00478                   opt-&gt;<a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">arg</a> == &amp;<a class="code" href="dbconfig_8c.html#2069fc4044828fbc9e6671add6cd2b66">db3dbi</a>.<a class="code" href="struct__dbiIndex.html#d1c6578406e4093fc006a92d4c955b18">dbi_oflags</a>))
<a name="l00479"></a>00479                 <span class="keywordflow">continue</span>;
<a name="l00480"></a>00480         }
<a name="l00481"></a>00481         <span class="keywordflow">if</span> ((dbflags &amp; opt-&gt;<a class="code" href="structpoptOption.html#a6a9c91f5c1869870c3b872395e2b625">val</a>) != opt-&gt;<a class="code" href="structpoptOption.html#a6a9c91f5c1869870c3b872395e2b625">val</a>)
<a name="l00482"></a>00482             <span class="keywordflow">continue</span>;
<a name="l00483"></a>00483         if (oe != buf)
<a name="l00484"></a>00484             *oe++ = <span class="charliteral">':'</span>;
<a name="l00485"></a>00485         oe = <a class="code" href="system_8h.html#890dbcd7c456828c1b6ff714e405fcc1">stpcpy</a>(oe, opt-&gt;<a class="code" href="structpoptOption.html#cb5681d547739c8417c87aabd7ca7a7f">longName</a>);
<a name="l00486"></a>00486         dbflags &amp;= ~opt-&gt;<a class="code" href="structpoptOption.html#a6a9c91f5c1869870c3b872395e2b625">val</a>;
<a name="l00487"></a>00487     }
<a name="l00488"></a>00488     <span class="keywordflow">if</span> (dbflags) {
<a name="l00489"></a>00489         <span class="keywordflow">if</span> (oe != buf)
<a name="l00490"></a>00490             *oe++ = <span class="charliteral">':'</span>;
<a name="l00491"></a>00491             sprintf(oe, <span class="stringliteral">"0x%x"</span>, (<span class="keywordtype">unsigned</span>)dbflags);
<a name="l00492"></a>00492     }
<a name="l00493"></a>00493     <span class="keywordflow">return</span> buf;
<a name="l00494"></a>00494 }
<a name="l00495"></a>00495 <span class="comment">/*@=boundswrite@*/</span>
<a name="l00496"></a>00496 
<a name="l00497"></a>00497 <span class="preprocessor">#endif</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>