<!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: popt/popt.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>popt/popt.h</h1><a href="popt_8h.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="comment">/* (C) 1998-2000 Red Hat, Inc. -- Licensing details are in the COPYING</span> <a name="l00006"></a>00006 <span class="comment"> file accompanying popt source distributions, available from </span> <a name="l00007"></a>00007 <span class="comment"> ftp://ftp.rpm.org/pub/rpm/dist. */</span> <a name="l00008"></a>00008 <a name="l00009"></a>00009 <span class="preprocessor">#ifndef H_POPT</span> <a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define H_POPT</span> <a name="l00011"></a>00011 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#include <stdio.h></span> <span class="comment">/* for FILE * */</span> <a name="l00013"></a>00013 <a name="l00014"></a><a class="code" href="popt_8h.html#a50bd81d1fa1d17100540e00b5f7acfd">00014</a> <span class="preprocessor">#define POPT_OPTION_DEPTH 10</span> <a name="l00015"></a>00015 <span class="preprocessor"></span> <a name="l00020"></a><a class="code" href="popt_8h.html#7759fe17e59c7fb08d33984d4683e4c0">00020</a> <span class="preprocessor">#define POPT_ARG_NONE 0 </span> <a name="l00021"></a><a class="code" href="popt_8h.html#9a9fdc308379d49592585008126c28b1">00021</a> <span class="preprocessor">#define POPT_ARG_STRING 1 </span> <a name="l00022"></a><a class="code" href="popt_8h.html#6b2e43ed233939be1eab7e9afd66db58">00022</a> <span class="preprocessor">#define POPT_ARG_INT 2 </span> <a name="l00023"></a><a class="code" href="popt_8h.html#77102c8def672e74e946f7d2978aca76">00023</a> <span class="preprocessor">#define POPT_ARG_LONG 3 </span> <a name="l00024"></a><a class="code" href="popt_8h.html#a004e7eeed0d7c6e51d9792fe049bf50">00024</a> <span class="preprocessor">#define POPT_ARG_INCLUDE_TABLE 4 </span> <a name="l00025"></a><a class="code" href="popt_8h.html#d13a93a7e60cf78b2dd0a22db8393ae2">00025</a> <span class="preprocessor">#define POPT_ARG_CALLBACK 5 </span> <a name="l00029"></a><a class="code" href="popt_8h.html#540802ec1639804cc8fd48565d06501f">00029</a> <span class="preprocessor">#define POPT_ARG_INTL_DOMAIN 6 </span> <a name="l00033"></a><a class="code" href="popt_8h.html#3cce9e5474e0828f7a87dca5b2c4a4f9">00033</a> <span class="preprocessor">#define POPT_ARG_VAL 7 </span> <a name="l00034"></a><a class="code" href="popt_8h.html#613f45421206fbe405d59c15c860a1ce">00034</a> <span class="preprocessor">#define POPT_ARG_FLOAT 8 </span> <a name="l00035"></a><a class="code" href="popt_8h.html#1057bde1197132ed933630391f1898b9">00035</a> <span class="preprocessor">#define POPT_ARG_DOUBLE 9 </span> <a name="l00037"></a><a class="code" href="popt_8h.html#07b02da310d6960044daf44a0d8279d6">00037</a> <span class="preprocessor">#define POPT_ARG_MASK 0x0000FFFF</span> <a name="l00038"></a>00038 <span class="preprocessor"></span> <a name="l00044"></a><a class="code" href="popt_8h.html#5f59cf9e70e26f26b82161e0ce2b4741">00044</a> <span class="preprocessor">#define POPT_ARGFLAG_ONEDASH 0x80000000 </span> <a name="l00045"></a><a class="code" href="popt_8h.html#1f108633e1f7f983f4a5a478176dee4a">00045</a> <span class="preprocessor">#define POPT_ARGFLAG_DOC_HIDDEN 0x40000000 </span> <a name="l00046"></a><a class="code" href="popt_8h.html#44bc305e1293c4a5fd1e6340cb9e27fa">00046</a> <span class="preprocessor">#define POPT_ARGFLAG_STRIP 0x20000000 </span> <a name="l00047"></a><a class="code" href="popt_8h.html#d57706398ba6fc6b15e4a45e1bf56616">00047</a> <span class="preprocessor">#define POPT_ARGFLAG_OPTIONAL 0x10000000 </span> <a name="l00049"></a><a class="code" href="popt_8h.html#633f58e383a11abb7fc4e827ac3e581b">00049</a> <span class="preprocessor">#define POPT_ARGFLAG_OR 0x08000000 </span> <a name="l00050"></a><a class="code" href="popt_8h.html#0e92a4739f6c423abde2ede4c836ba2a">00050</a> <span class="preprocessor">#define POPT_ARGFLAG_NOR 0x09000000 </span> <a name="l00051"></a><a class="code" href="popt_8h.html#4b4f090c9966b8aa0811a3b2a43325ad">00051</a> <span class="preprocessor">#define POPT_ARGFLAG_AND 0x04000000 </span> <a name="l00052"></a><a class="code" href="popt_8h.html#9a989df8bb2de67bb3d0f9982a6a62fd">00052</a> <span class="preprocessor">#define POPT_ARGFLAG_NAND 0x05000000 </span> <a name="l00053"></a><a class="code" href="popt_8h.html#b309dd56e94772b395b7ad1fc4dba14a">00053</a> <span class="preprocessor">#define POPT_ARGFLAG_XOR 0x02000000 </span> <a name="l00054"></a><a class="code" href="popt_8h.html#3c15da0823015a00fdedd17825282113">00054</a> <span class="preprocessor">#define POPT_ARGFLAG_NOT 0x01000000 </span> <a name="l00055"></a><a class="code" href="popt_8h.html#9796f1716716ea252e2b1dafc7edb8c8">00055</a> <span class="preprocessor">#define POPT_ARGFLAG_LOGICALOPS \</span> <a name="l00056"></a>00056 <span class="preprocessor"> (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)</span> <a name="l00057"></a>00057 <span class="preprocessor"></span> <a name="l00058"></a><a class="code" href="popt_8h.html#ccf851d0a8b11325d34203616e96e2dd">00058</a> <span class="preprocessor">#define POPT_BIT_SET (POPT_ARG_VAL|POPT_ARGFLAG_OR)</span> <a name="l00059"></a>00059 <span class="preprocessor"></span> <a name="l00060"></a><a class="code" href="popt_8h.html#ea15c957685cb14cce89bc0b09bc190a">00060</a> <span class="preprocessor">#define POPT_BIT_CLR (POPT_ARG_VAL|POPT_ARGFLAG_NAND)</span> <a name="l00061"></a>00061 <span class="preprocessor"></span> <a name="l00063"></a><a class="code" href="popt_8h.html#1fdd9f7090382015bba7d9640b81158a">00063</a> <span class="preprocessor">#define POPT_ARGFLAG_SHOW_DEFAULT 0x00800000 </span> <a name="l00066"></a>00066 <span class="preprocessor"></span> <a name="l00067"></a>00067 <span class="preprocessor"></span> <a name="l00071"></a><a class="code" href="popt_8h.html#2847a2e98857fa36616ecbe1dbbb6e96">00071</a> <span class="preprocessor">#define POPT_CBFLAG_PRE 0x80000000 </span> <a name="l00072"></a><a class="code" href="popt_8h.html#367256b21ad9f66c4b83e9311af2399b">00072</a> <span class="preprocessor">#define POPT_CBFLAG_POST 0x40000000 </span> <a name="l00073"></a><a class="code" href="popt_8h.html#9e42cc7ed37a800f8b14bd69c51dbdbf">00073</a> <span class="preprocessor">#define POPT_CBFLAG_INC_DATA 0x20000000 </span> <a name="l00075"></a><a class="code" href="popt_8h.html#108a81171f9d28066e8b3c55d5d297ac">00075</a> <span class="preprocessor">#define POPT_CBFLAG_SKIPOPTION 0x10000000 </span> <a name="l00076"></a><a class="code" href="popt_8h.html#aa017dd880ece525e864c235f6677c84">00076</a> <span class="preprocessor">#define POPT_CBFLAG_CONTINUE 0x08000000 </span> <a name="l00078"></a>00078 <span class="preprocessor"></span> <a name="l00079"></a>00079 <span class="preprocessor"></span> <a name="l00083"></a><a class="code" href="popt_8h.html#28bb1cf1823622c3510d2976da33ad06">00083</a> <span class="preprocessor">#define POPT_ERROR_NOARG -10 </span> <a name="l00084"></a><a class="code" href="popt_8h.html#1cbcee08db205a37789f81ec02234def">00084</a> <span class="preprocessor">#define POPT_ERROR_BADOPT -11 </span> <a name="l00085"></a><a class="code" href="popt_8h.html#1502ab9ab9bffdd60f96a40aabcefb8b">00085</a> <span class="preprocessor">#define POPT_ERROR_OPTSTOODEEP -13 </span> <a name="l00086"></a><a class="code" href="popt_8h.html#46d04684e0c20a8a32c1d9d01995de90">00086</a> <span class="preprocessor">#define POPT_ERROR_BADQUOTE -15 </span> <a name="l00087"></a><a class="code" href="popt_8h.html#94d19f2335b8a6d1b0862edcd4823b3d">00087</a> <span class="preprocessor">#define POPT_ERROR_ERRNO -16 </span> <a name="l00088"></a><a class="code" href="popt_8h.html#ef2d07c24d3a76d6dda5725be37b53c6">00088</a> <span class="preprocessor">#define POPT_ERROR_BADNUMBER -17 </span> <a name="l00089"></a><a class="code" href="popt_8h.html#0627349bf2956429e33e4f45e475b255">00089</a> <span class="preprocessor">#define POPT_ERROR_OVERFLOW -18 </span> <a name="l00090"></a><a class="code" href="popt_8h.html#7075a89582a670d9ea2a1c16e3412faf">00090</a> <span class="preprocessor">#define POPT_ERROR_BADOPERATION -19 </span> <a name="l00091"></a><a class="code" href="popt_8h.html#cb3028810d0b6fcc1b86425a09b1805b">00091</a> <span class="preprocessor">#define POPT_ERROR_NULLARG -20 </span> <a name="l00092"></a><a class="code" href="popt_8h.html#94b752bdfe50201136ceb0402fd93599">00092</a> <span class="preprocessor">#define POPT_ERROR_MALLOC -21 </span> <a name="l00094"></a>00094 <span class="preprocessor"></span> <a name="l00095"></a>00095 <span class="preprocessor"></span> <a name="l00099"></a><a class="code" href="popt_8h.html#6ed58d6f19a41160f386c4c274ea330d">00099</a> <span class="preprocessor">#define POPT_BADOPTION_NOALIAS (1 << 0) </span> <a name="l00101"></a>00101 <span class="preprocessor"></span> <a name="l00102"></a>00102 <span class="preprocessor"></span> <a name="l00106"></a><a class="code" href="popt_8h.html#60a28469fcad1a3c0b2ff6f5073deab5">00106</a> <span class="preprocessor">#define POPT_CONTEXT_NO_EXEC (1 << 0) </span> <a name="l00107"></a><a class="code" href="popt_8h.html#06558f38ec0073d21dc32a3cdd1e4077">00107</a> <span class="preprocessor">#define POPT_CONTEXT_KEEP_FIRST (1 << 1) </span> <a name="l00108"></a><a class="code" href="popt_8h.html#e980ab2ac9b1a95c96adf247edaaf3c0">00108</a> <span class="preprocessor">#define POPT_CONTEXT_POSIXMEHARDER (1 << 2) </span> <a name="l00109"></a><a class="code" href="popt_8h.html#57d707b3107331d44b0f5ac1f0855de3">00109</a> <span class="preprocessor">#define POPT_CONTEXT_ARG_OPTS (1 << 4) </span> <a name="l00111"></a>00111 <span class="preprocessor"></span> <a name="l00112"></a>00112 <span class="preprocessor"></span> <a name="l00114"></a><a class="code" href="structpoptOption.html">00114</a> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> { <a name="l00115"></a>00115 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <a name="l00116"></a><a class="code" href="structpoptOption.html#cb5681d547739c8417c87aabd7ca7a7f">00116</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structpoptOption.html#cb5681d547739c8417c87aabd7ca7a7f">longName</a>; <a name="l00117"></a><a class="code" href="structpoptOption.html#966cc537f19dfbd443e768a99dec1f23">00117</a> <span class="keywordtype">char</span> <a class="code" href="structpoptOption.html#966cc537f19dfbd443e768a99dec1f23">shortName</a>; <a name="l00118"></a><a class="code" href="structpoptOption.html#5b1233c5fb30a60d1e8b0c41492ead5f">00118</a> <span class="keywordtype">int</span> <a class="code" href="structpoptOption.html#5b1233c5fb30a60d1e8b0c41492ead5f">argInfo</a>; <a name="l00119"></a>00119 <span class="comment">/*@shared@*/</span> <span class="comment">/*@null@*/</span> <a name="l00120"></a><a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">00120</a> <span class="keywordtype">void</span> * <a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">arg</a>; <a name="l00121"></a><a class="code" href="structpoptOption.html#a6a9c91f5c1869870c3b872395e2b625">00121</a> <span class="keywordtype">int</span> <a class="code" href="structpoptOption.html#a6a9c91f5c1869870c3b872395e2b625">val</a>; <a name="l00122"></a>00122 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <a name="l00123"></a><a class="code" href="structpoptOption.html#d0123e0f28a19468eb34e89753064745">00123</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structpoptOption.html#d0123e0f28a19468eb34e89753064745">descrip</a>; <a name="l00124"></a>00124 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <a name="l00125"></a><a class="code" href="structpoptOption.html#a0eff46a712ca64ea3103be9f73f4373">00125</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structpoptOption.html#a0eff46a712ca64ea3103be9f73f4373">argDescrip</a>; <a name="l00126"></a>00126 }; <a name="l00127"></a>00127 <a name="l00131"></a><a class="code" href="structpoptAlias.html">00131</a> <span class="keyword">struct </span><a class="code" href="structpoptAlias.html">poptAlias</a> { <a name="l00132"></a>00132 <span class="comment">/*@owned@*/</span> <span class="comment">/*@null@*/</span> <a name="l00133"></a><a class="code" href="structpoptAlias.html#92907c8fe8d1a61b281c21a4c724b7e6">00133</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structpoptAlias.html#92907c8fe8d1a61b281c21a4c724b7e6">longName</a>; <a name="l00134"></a><a class="code" href="structpoptAlias.html#cc11957cb38d95c51ef7ab5ef75ef7bf">00134</a> <span class="keywordtype">char</span> <a class="code" href="structpoptAlias.html#cc11957cb38d95c51ef7ab5ef75ef7bf">shortName</a>; <a name="l00135"></a><a class="code" href="structpoptAlias.html#61d854f4dc7da46c44ec034b93f5968e">00135</a> <span class="keywordtype">int</span> <a class="code" href="structpoptAlias.html#61d854f4dc7da46c44ec034b93f5968e">argc</a>; <a name="l00136"></a>00136 <span class="comment">/*@owned@*/</span> <a name="l00137"></a><a class="code" href="structpoptAlias.html#80b40d2518a74014cf4dbbd5980e90a6">00137</a> <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="structpoptAlias.html#80b40d2518a74014cf4dbbd5980e90a6">argv</a>; <a name="l00138"></a>00138 }; <a name="l00139"></a>00139 <a name="l00143"></a>00143 <span class="comment">/*@-exporttype@*/</span> <a name="l00144"></a><a class="code" href="structpoptItem__s.html">00144</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structpoptItem__s.html">poptItem_s</a> { <a name="l00145"></a><a class="code" href="structpoptItem__s.html#c9a710583f2c7bd4b8b8bd887bca4611">00145</a> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> <a class="code" href="structpoptItem__s.html#c9a710583f2c7bd4b8b8bd887bca4611">option</a>; <a name="l00146"></a><a class="code" href="structpoptItem__s.html#d96c5ac77deda4c55124f3691b2988a4">00146</a> <span class="keywordtype">int</span> <a class="code" href="structpoptItem__s.html#d96c5ac77deda4c55124f3691b2988a4">argc</a>; <a name="l00147"></a>00147 <span class="comment">/*@owned@*/</span> <a name="l00148"></a><a class="code" href="structpoptItem__s.html#0664e04564284789193653f40bd66a34">00148</a> <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="structpoptItem__s.html#0664e04564284789193653f40bd66a34">argv</a>; <a name="l00149"></a>00149 } * <a class="code" href="structpoptItem__s.html">poptItem</a>; <a name="l00150"></a>00150 <span class="comment">/*@=exporttype@*/</span> <a name="l00151"></a>00151 <a name="l00156"></a>00156 <a name="l00160"></a>00160 <span class="comment">/*@-exportvar@*/</span> <a name="l00161"></a>00161 <span class="comment">/*@unchecked@*/</span> <span class="comment">/*@observer@*/</span> <a name="l00162"></a>00162 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> <a class="code" href="popt_8h.html#9ed517d031f01767ea12ca51ef8b8a2c">poptAliasOptions</a>[]; <a name="l00163"></a>00163 <span class="comment">/*@=exportvar@*/</span> <a name="l00164"></a><a class="code" href="popt_8h.html#c6f7ffe3d545155f3dcbb757de78e1e5">00164</a> <span class="preprocessor">#define POPT_AUTOALIAS { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptAliasOptions, \</span> <a name="l00165"></a>00165 <span class="preprocessor"> 0, "Options implemented via popt alias/exec:", NULL },</span> <a name="l00166"></a>00166 <span class="preprocessor"></span> <a name="l00170"></a>00170 <span class="comment">/*@-exportvar@*/</span> <a name="l00171"></a>00171 <span class="comment">/*@unchecked@*/</span> <span class="comment">/*@observer@*/</span> <a name="l00172"></a>00172 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> <a class="code" href="popt_8h.html#0c493753b1c5ee878e7addf558874633">poptHelpOptions</a>[]; <a name="l00173"></a>00173 <span class="comment">/*@=exportvar@*/</span> <a name="l00174"></a>00174 <a name="l00175"></a>00175 <span class="comment">/*@-exportvar@*/</span> <a name="l00176"></a>00176 <span class="comment">/*@unchecked@*/</span> <span class="comment">/*@observer@*/</span> <a name="l00177"></a>00177 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> * <a class="code" href="popt_8h.html#922c332675c30038924eb94b30b2ded5">poptHelpOptionsI18N</a>; <a name="l00178"></a>00178 <span class="comment">/*@=exportvar@*/</span> <a name="l00179"></a>00179 <a name="l00180"></a><a class="code" href="popt_8h.html#b7c9f82aa9f350c42ce6f51f25efd822">00180</a> <span class="preprocessor">#define POPT_AUTOHELP { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptHelpOptions, \</span> <a name="l00181"></a>00181 <span class="preprocessor"> 0, "Help options:", NULL },</span> <a name="l00182"></a>00182 <span class="preprocessor"></span> <a name="l00183"></a><a class="code" href="popt_8h.html#bb5479e3e11f1a22617b4d43c73083b4">00183</a> <span class="preprocessor">#define POPT_TABLEEND { NULL, '\0', 0, NULL, 0, NULL, NULL }</span> <a name="l00184"></a>00184 <span class="preprocessor"></span> <a name="l00188"></a>00188 <span class="comment">/*@-exporttype@*/</span> <a name="l00189"></a><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">00189</a> <span class="keyword">typedef</span> <span class="comment">/*@abstract@*/</span> <span class="keyword">struct </span><a class="code" href="structpoptContext__s.html">poptContext_s</a> * <a class="code" href="structpoptContext__s.html">poptContext</a>; <a name="l00190"></a>00190 <span class="comment">/*@=exporttype@*/</span> <a name="l00191"></a>00191 <a name="l00194"></a>00194 <span class="preprocessor">#ifndef __cplusplus</span> <a name="l00195"></a>00195 <span class="preprocessor"></span><span class="comment">/*@-exporttype -typeuse@*/</span> <a name="l00196"></a><a class="code" href="group__popt.html#g2331d42ea439b878a15305a955e72f87">00196</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structpoptOption.html">poptOption</a> * <a class="code" href="structpoptOption.html">poptOption</a>; <a name="l00197"></a>00197 <span class="comment">/*@=exporttype =typeuse@*/</span> <a name="l00198"></a>00198 <span class="preprocessor">#endif</span> <a name="l00199"></a>00199 <span class="preprocessor"></span> <a name="l00200"></a>00200 <span class="comment">/*@-exportconst@*/</span> <a name="l00201"></a><a class="code" href="popt_8h.html#fe00605489c2aa204cdb5a14e26b3a70">00201</a> <span class="keyword">enum</span> <a class="code" href="popt_8h.html#fe00605489c2aa204cdb5a14e26b3a70">poptCallbackReason</a> { <a name="l00202"></a>00202 <a class="code" href="popt_8h.html#fe00605489c2aa204cdb5a14e26b3a704798a7665d4a2294cf3c1275925d07c6">POPT_CALLBACK_REASON_PRE</a> = 0, <a name="l00203"></a>00203 <a class="code" href="popt_8h.html#fe00605489c2aa204cdb5a14e26b3a70544a7f11816d2ddeb6d480a9065f2cd2">POPT_CALLBACK_REASON_POST</a> = 1, <a name="l00204"></a>00204 <a class="code" href="popt_8h.html#fe00605489c2aa204cdb5a14e26b3a704b68221591faaf0a061817f43caa8313">POPT_CALLBACK_REASON_OPTION</a> = 2 <a name="l00205"></a>00205 }; <a name="l00206"></a>00206 <span class="comment">/*@=exportconst@*/</span> <a name="l00207"></a>00207 <a name="l00208"></a>00208 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00209"></a>00209 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00210"></a>00210 <span class="preprocessor">#endif</span> <a name="l00211"></a>00211 <span class="preprocessor"></span><span class="comment">/*@-type@*/</span> <a name="l00212"></a>00212 <a name="l00221"></a><a class="code" href="group__popt.html#gc5885aeeaa33e7a649a3b6da49d767dd">00221</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__popt.html#gc5885aeeaa33e7a649a3b6da49d767dd">poptCallbackType</a>) (<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <a name="l00222"></a>00222 <span class="keyword">enum</span> <a class="code" href="popt_8h.html#fe00605489c2aa204cdb5a14e26b3a70">poptCallbackReason</a> reason, <a name="l00223"></a>00223 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="group__popt.html#g2331d42ea439b878a15305a955e72f87">poptOption</a> * opt, <a name="l00224"></a>00224 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structpoptOption.html#6915698448ea2e263ad0cf0756d8df65">arg</a>, <a name="l00225"></a>00225 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">void</span> * data) <a name="l00226"></a>00226 <span class="comment">/*@globals internalState @*/</span> <a name="l00227"></a>00227 <span class="comment">/*@modifies internalState @*/</span>; <a name="l00228"></a>00228 <a name="l00238"></a>00238 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a name="l00239"></a>00239 <a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> <a class="code" href="group__popt.html#gdcbf6cd11e53153653c4887dbc22c8e5">poptGetContext</a>( <a name="l00240"></a>00240 <span class="comment">/*@dependent@*/</span> <span class="comment">/*@keep@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="structname.html">name</a>, <a name="l00241"></a>00241 <span class="keywordtype">int</span> argc, <span class="comment">/*@dependent@*/</span> <span class="comment">/*@keep@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="compress_8c.html#b233d58a2d9af13ae09ea8fd82556856">argv</a>, <a name="l00242"></a>00242 <span class="comment">/*@dependent@*/</span> <span class="comment">/*@keep@*/</span> <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="group__popt.html#g2331d42ea439b878a15305a955e72f87">poptOption</a> * options, <a name="l00243"></a>00243 <span class="keywordtype">int</span> flags) <a name="l00244"></a>00244 <span class="comment">/*@*/</span>; <a name="l00245"></a>00245 <a name="l00250"></a>00250 <span class="comment">/*@unused@*/</span> <a name="l00251"></a>00251 <span class="keywordtype">void</span> <a class="code" href="group__popt.html#g66e307ed79a41a4b8880e0b06f04414b">poptResetContext</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00252"></a>00252 <span class="comment">/*@modifies con @*/</span>; <a name="l00253"></a>00253 <a name="l00259"></a>00259 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g7610b6fe74ccf5c7d2b5e67beca41605">poptGetNextOpt</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00260"></a>00260 <span class="comment">/*@globals fileSystem, internalState @*/</span> <a name="l00261"></a>00261 <span class="comment">/*@modifies con, fileSystem, internalState @*/</span>; <a name="l00262"></a>00262 <a name="l00268"></a>00268 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <span class="comment">/*@unused@*/</span> <a name="l00269"></a>00269 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__popt.html#g4672f6a24ba912203b47f4e4036cafe8">poptGetOptArg</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00270"></a>00270 <span class="comment">/*@modifies con @*/</span>; <a name="l00271"></a>00271 <a name="l00277"></a>00277 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <span class="comment">/*@unused@*/</span> <a name="l00278"></a>00278 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__popt.html#gd2ddb3b4a87ccdf0c56cafd8355091f3">poptGetArg</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00279"></a>00279 <span class="comment">/*@modifies con @*/</span>; <a name="l00280"></a>00280 <a name="l00286"></a>00286 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <span class="comment">/*@unused@*/</span> <a name="l00287"></a>00287 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__popt.html#g12b20d85bfc463a9ac2573772d65d19d">poptPeekArg</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00288"></a>00288 <span class="comment">/*@*/</span>; <a name="l00289"></a>00289 <a name="l00295"></a>00295 <span class="comment">/*@observer@*/</span> <span class="comment">/*@null@*/</span> <a name="l00296"></a>00296 <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="group__popt.html#g3c55cea59bcf29ee9da7b95127c48c83">poptGetArgs</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00297"></a>00297 <span class="comment">/*@modifies con @*/</span>; <a name="l00298"></a>00298 <a name="l00305"></a>00305 <span class="comment">/*@observer@*/</span> <a name="l00306"></a>00306 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__popt.html#gec25ffc933c6fac2a67fc313618460bf">poptBadOption</a>(<span class="comment">/*@null@*/</span><a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="keywordtype">int</span> flags) <a name="l00307"></a>00307 <span class="comment">/*@*/</span>; <a name="l00308"></a>00308 <a name="l00314"></a>00314 <span class="comment">/*@null@*/</span> <a name="l00315"></a>00315 <a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> <a class="code" href="group__popt.html#gcacbdcde9b4c5600176b37ffb06224a3">poptFreeContext</a>( <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00316"></a>00316 <span class="comment">/*@modifies con @*/</span>; <a name="l00317"></a>00317 <a name="l00324"></a>00324 <span class="comment">/*@unused@*/</span> <a name="l00325"></a>00325 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g2e93feadc17ce658d7468285a65eef70">poptStuffArgs</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="comment">/*@keep@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> ** <a class="code" href="compress_8c.html#b233d58a2d9af13ae09ea8fd82556856">argv</a>) <a name="l00326"></a>00326 <span class="comment">/*@modifies con @*/</span>; <a name="l00327"></a>00327 <a name="l00337"></a>00337 <span class="comment">/*@unused@*/</span> <a name="l00338"></a>00338 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g492540d74e36a084744b453388407ace">poptAddAlias</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="keyword">struct</span> <a class="code" href="structpoptAlias.html">poptAlias</a> alias, <span class="keywordtype">int</span> flags) <a name="l00339"></a>00339 <span class="comment">/*@modifies con @*/</span>; <a name="l00340"></a>00340 <a name="l00348"></a>00348 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g5d5b852dd906dea5d13b5c9934242ea9">poptAddItem</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <a class="code" href="structpoptItem__s.html">poptItem</a> <a class="code" href="rpmcache_8c.html#2242a09c54280d132376704d2ff8252e">newItem</a>, <span class="keywordtype">int</span> flags) <a name="l00349"></a>00349 <span class="comment">/*@modifies con @*/</span>; <a name="l00350"></a>00350 <a name="l00357"></a>00357 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g8f0347f05b72315b7a29abb013a9d162">poptReadConfigFile</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="keyword">const</span> <span class="keywordtype">char</span> * fn) <a name="l00358"></a>00358 <span class="comment">/*@globals errno, fileSystem, internalState @*/</span> <a name="l00359"></a>00359 <span class="comment">/*@modifies con->execs, con->numExecs,</span> <a name="l00360"></a>00360 <span class="comment"> errno, fileSystem, internalState @*/</span>; <a name="l00361"></a>00361 <a name="l00368"></a>00368 <span class="comment">/*@unused@*/</span> <a name="l00369"></a>00369 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#gffd51981d556a32e283298e7f8eca69e">poptReadDefaultConfig</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="comment">/*@unused@*/</span> <span class="keywordtype">int</span> useEnv) <a name="l00370"></a>00370 <span class="comment">/*@globals fileSystem, internalState @*/</span> <a name="l00371"></a>00371 <span class="comment">/*@modifies con->execs, con->numExecs,</span> <a name="l00372"></a>00372 <span class="comment"> fileSystem, internalState @*/</span>; <a name="l00373"></a>00373 <a name="l00385"></a>00385 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g5fcba044ce909a898284af1c0e38fd3b">poptDupArgv</a>(<span class="keywordtype">int</span> argc, <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="compress_8c.html#b233d58a2d9af13ae09ea8fd82556856">argv</a>, <a name="l00386"></a>00386 <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span> <span class="keywordtype">int</span> * argcPtr, <a name="l00387"></a>00387 <span class="comment">/*@null@*/</span> <span class="comment">/*@out@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *** argvPtr) <a name="l00388"></a>00388 <span class="comment">/*@modifies *argcPtr, *argvPtr @*/</span>; <a name="l00389"></a>00389 <a name="l00401"></a>00401 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#gabb6e8c769648273171f3f3ec9c0e471">poptParseArgvString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * s, <a name="l00402"></a>00402 <span class="comment">/*@out@*/</span> <span class="keywordtype">int</span> * argcPtr, <span class="comment">/*@out@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *** argvPtr) <a name="l00403"></a>00403 <span class="comment">/*@modifies *argcPtr, *argvPtr @*/</span>; <a name="l00404"></a>00404 <a name="l00451"></a>00451 <span class="comment">/*@-fcnuse@*/</span> <a name="l00452"></a>00452 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g02043ec093dcbfaef9297b0fb60d2819">poptConfigFileToString</a>(FILE *fp, <span class="comment">/*@out@*/</span> <span class="keywordtype">char</span> ** argstrp, <span class="keywordtype">int</span> flags) <a name="l00453"></a>00453 <span class="comment">/*@globals fileSystem @*/</span> <a name="l00454"></a>00454 <span class="comment">/*@modifies *fp, *argstrp, fileSystem @*/</span>; <a name="l00455"></a>00455 <span class="comment">/*@=fcnuse@*/</span> <a name="l00456"></a>00456 <a name="l00462"></a>00462 <span class="comment">/*@observer@*/</span> <a name="l00463"></a>00463 <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code" href="group__popt.html#g477914d0129cb66a98d5c1d3cc7cd07a">poptStrerror</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> error) <a name="l00464"></a>00464 <span class="comment">/*@*/</span>; <a name="l00465"></a>00465 <a name="l00472"></a>00472 <span class="comment">/*@unused@*/</span> <a name="l00473"></a>00473 <span class="keywordtype">void</span> <a class="code" href="group__popt.html#g0f4836b0740d052af6427757c4c72309">poptSetExecPath</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="keywordtype">int</span> allowAbsolute) <a name="l00474"></a>00474 <span class="comment">/*@modifies con @*/</span>; <a name="l00475"></a>00475 <a name="l00482"></a>00482 <span class="keywordtype">void</span> <a class="code" href="group__popt.html#g5eaa85e1b1bea4dfeaab9b656678cff1">poptPrintHelp</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, FILE * fp, <span class="comment">/*@unused@*/</span> <span class="keywordtype">int</span> flags) <a name="l00483"></a>00483 <span class="comment">/*@globals fileSystem @*/</span> <a name="l00484"></a>00484 <span class="comment">/*@modifies *fp, fileSystem @*/</span>; <a name="l00485"></a>00485 <a name="l00492"></a>00492 <span class="keywordtype">void</span> <a class="code" href="group__popt.html#gf802853d2e12fddd81c6960e85cd4897">poptPrintUsage</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, FILE * fp, <span class="comment">/*@unused@*/</span> <span class="keywordtype">int</span> flags) <a name="l00493"></a>00493 <span class="comment">/*@globals fileSystem @*/</span> <a name="l00494"></a>00494 <span class="comment">/*@modifies *fp, fileSystem @*/</span>; <a name="l00495"></a>00495 <a name="l00501"></a>00501 <span class="comment">/*@-fcnuse@*/</span> <a name="l00502"></a>00502 <span class="keywordtype">void</span> <a class="code" href="group__popt.html#gb65dea0ccd22bf961fa8a4783fdd4a43">poptSetOtherOptionHelp</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="keyword">const</span> <span class="keywordtype">char</span> * text) <a name="l00503"></a>00503 <span class="comment">/*@modifies con @*/</span>; <a name="l00504"></a>00504 <span class="comment">/*@=fcnuse@*/</span> <a name="l00505"></a>00505 <a name="l00511"></a>00511 <span class="comment">/*@-fcnuse@*/</span> <a name="l00512"></a>00512 <span class="comment">/*@observer@*/</span> <a name="l00513"></a>00513 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__popt.html#g3435666d94b36e7093dfad0edf296954">poptGetInvocationName</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con) <a name="l00514"></a>00514 <span class="comment">/*@*/</span>; <a name="l00515"></a>00515 <span class="comment">/*@=fcnuse@*/</span> <a name="l00516"></a>00516 <a name="l00524"></a>00524 <span class="comment">/*@-fcnuse@*/</span> <a name="l00525"></a>00525 <span class="keywordtype">int</span> <a class="code" href="group__popt.html#g4ba7b7dddd0a2e3ac21a8b71c9c5115b">poptStrippedArgv</a>(<a class="code" href="group__popt.html#gd3cc3007d6cee3e55221b85b4adc7359">poptContext</a> con, <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** <a class="code" href="compress_8c.html#b233d58a2d9af13ae09ea8fd82556856">argv</a>) <a name="l00526"></a>00526 <span class="comment">/*@modifies *argv @*/</span>; <a name="l00527"></a>00527 <span class="comment">/*@=fcnuse@*/</span> <a name="l00528"></a>00528 <a name="l00537"></a>00537 <span class="comment">/*@-incondefs@*/</span> <a name="l00538"></a>00538 <span class="comment">/*@unused@*/</span> <a name="l00539"></a>00539 <span class="keywordtype">int</span> <a class="code" href="popt_8c.html#c11d038626013f82af840de5b3c86aa7">poptSaveLong</a>(<span class="comment">/*@null@*/</span> <span class="keywordtype">long</span> * arg, <span class="keywordtype">int</span> <a class="code" href="structpoptOption.html#5b1233c5fb30a60d1e8b0c41492ead5f">argInfo</a>, <span class="keywordtype">long</span> aLong) <a name="l00540"></a>00540 <span class="comment">/*@modifies *arg @*/</span> <a name="l00541"></a>00541 <span class="comment">/*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/</span>; <a name="l00542"></a>00542 <span class="comment">/*@=incondefs@*/</span> <a name="l00543"></a>00543 <a name="l00552"></a>00552 <span class="comment">/*@-incondefs@*/</span> <a name="l00553"></a>00553 <span class="comment">/*@unused@*/</span> <a name="l00554"></a>00554 <span class="keywordtype">int</span> <a class="code" href="popt_8c.html#2661edb98eb1d44e85acd960ef2bcc5f">poptSaveInt</a>(<span class="comment">/*@null@*/</span> <span class="keywordtype">int</span> * arg, <span class="keywordtype">int</span> <a class="code" href="structpoptOption.html#5b1233c5fb30a60d1e8b0c41492ead5f">argInfo</a>, <span class="keywordtype">long</span> aLong) <a name="l00555"></a>00555 <span class="comment">/*@modifies *arg @*/</span> <a name="l00556"></a>00556 <span class="comment">/*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/</span>; <a name="l00557"></a>00557 <span class="comment">/*@=incondefs@*/</span> <a name="l00558"></a>00558 <a name="l00559"></a>00559 <span class="comment">/*@=type@*/</span> <a name="l00560"></a>00560 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00561"></a>00561 <span class="preprocessor"></span>} <a name="l00562"></a>00562 <span class="preprocessor">#endif</span> <a name="l00563"></a>00563 <span class="preprocessor"></span> <a name="l00564"></a>00564 <span class="preprocessor">#endif</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by <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>