Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>system.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.17 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>system.h</h1><a href="system_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 
00005 <span class="preprocessor">#ifndef H_SYSTEM</span>
00006 <span class="preprocessor"></span><span class="preprocessor">#define H_SYSTEM</span>
00007 <span class="preprocessor"></span>
00008 <span class="preprocessor">#ifdef HAVE_CONFIG_H</span>
00009 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="config_8h.html">config.h</a>"</span>
00010 <span class="preprocessor">#endif</span>
00011 <span class="preprocessor"></span>
00012 <span class="preprocessor">#if HAVE_SYSLOG_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#include &lt;syslog.h&gt;</span>
00014 <span class="preprocessor">#endif</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
00017 <span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
00018 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00019 
00020 <span class="preprocessor">#ifdef HAVE_SYS_PARAM_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/param.h&gt;</span>
00022 <span class="preprocessor">#endif</span>
00023 <span class="preprocessor"></span>
00024 <span class="comment">/* &lt;unistd.h&gt; should be included before any preprocessor test</span>
00025 <span class="comment">   of _POSIX_VERSION.  */</span>
00026 <span class="preprocessor">#ifdef HAVE_UNISTD_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#include &lt;unistd.h&gt;</span>
00028 <span class="preprocessor">#if defined(__LCLINT__)</span>
00029 <span class="preprocessor"></span><span class="comment">/*@-superuser -declundef -incondefs @*/</span> <span class="comment">/* LCL: modifies clause missing */</span>
00030 <span class="keyword">extern</span> <span class="keywordtype">int</span> chroot (<span class="keyword">const</span> <span class="keywordtype">char</span> *__path)
00031         <span class="comment">/*@globals errno, systemState @*/</span>
00032         <span class="comment">/*@modifies errno, systemState @*/</span>;
00033 <span class="comment">/*@=superuser =declundef =incondefs @*/</span>
00034 <span class="preprocessor">#endif</span>
00035 <span class="preprocessor"></span><span class="preprocessor">#if !defined(__GLIBC__)</span>
00036 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">char</span> ** <a class="code" href="signature_8c.html#a1">environ</a>;
00037 <span class="preprocessor">#endif</span>
00038 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00039 <span class="preprocessor"></span>
00040 <span class="preprocessor">#if TIME_WITH_SYS_TIME</span>
00041 <span class="preprocessor"></span><span class="preprocessor"># include &lt;sys/time.h&gt;</span>
00042 <span class="preprocessor"># include &lt;time.h&gt;</span>
00043 <span class="preprocessor">#else</span>
00044 <span class="preprocessor"></span><span class="preprocessor"># if HAVE_SYS_TIME_H</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;sys/time.h&gt;</span>
00046 <span class="preprocessor"># else</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;time.h&gt;</span>
00048 <span class="preprocessor"># endif</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00050 <span class="preprocessor"></span>
00051 <span class="preprocessor">#if NEED_TIMEZONE</span>
00052 <span class="preprocessor"></span><span class="keyword">extern</span> time_t timezone;
00053 <span class="preprocessor">#endif</span>
00054 <span class="preprocessor"></span>
00055 <span class="comment">/* Since major is a function on SVR4, we can't use `ifndef major'.  */</span>
00056 <span class="preprocessor">#if MAJOR_IN_MKDEV</span>
00057 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/mkdev.h&gt;</span>
00058 <span class="preprocessor">#define HAVE_MAJOR</span>
00059 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00060 <span class="preprocessor"></span><span class="preprocessor">#if MAJOR_IN_SYSMACROS</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/sysmacros.h&gt;</span>
00062 <span class="preprocessor">#define HAVE_MAJOR</span>
00063 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00064 <span class="preprocessor"></span><span class="preprocessor">#ifdef major                    </span><span class="comment">/* Might be defined in sys/types.h.  */</span>
00065 <span class="preprocessor">#define HAVE_MAJOR</span>
00066 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00067 <span class="preprocessor"></span>
00068 <span class="preprocessor">#ifndef HAVE_MAJOR</span>
<a name="l00069"></a><a class="code" href="system_8h.html#a0">00069</a> <span class="preprocessor"></span><span class="preprocessor">#define major(dev)  (((dev) &gt;&gt; 8) &amp; 0xff)</span>
<a name="l00070"></a><a class="code" href="system_8h.html#a1">00070</a> <span class="preprocessor"></span><span class="preprocessor">#define minor(dev)  ((dev) &amp; 0xff)</span>
<a name="l00071"></a><a class="code" href="system_8h.html#a2">00071</a> <span class="preprocessor"></span><span class="preprocessor">#define makedev(maj, min)  (((maj) &lt;&lt; 8) | (min))</span>
00072 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00073 <span class="preprocessor"></span><span class="preprocessor">#undef HAVE_MAJOR</span>
00074 <span class="preprocessor"></span>
00075 <span class="preprocessor">#ifdef HAVE_UTIME_H</span>
00076 <span class="preprocessor"></span><span class="preprocessor">#include &lt;utime.h&gt;</span>
00077 <span class="preprocessor">#endif</span>
00078 <span class="preprocessor"></span>
00079 <span class="preprocessor">#ifdef HAVE_STRING_H</span>
00080 <span class="preprocessor"></span><span class="preprocessor"># if !STDC_HEADERS &amp;&amp; HAVE_MEMORY_H</span>
00081 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;memory.h&gt;</span>
00082 <span class="preprocessor"># endif</span>
00083 <span class="preprocessor"></span><span class="preprocessor"># include &lt;string.h&gt;</span>
00084 <span class="preprocessor">#else</span>
00085 <span class="preprocessor"></span><span class="preprocessor"># include &lt;strings.h&gt;</span>
00086 <span class="keywordtype">char</span> *<a class="code" href="system_8h.html#a31">memchr</a> ();
00087 <span class="preprocessor">#endif</span>
00088 <span class="preprocessor"></span>
00089 <span class="preprocessor">#if !defined(HAVE_STPCPY)</span>
00090 <span class="preprocessor"></span><span class="keywordtype">char</span> * <a class="code" href="system_8h.html#a32">stpcpy</a>(<span class="comment">/*@out@*/</span> <span class="keywordtype">char</span> * dest, <span class="keyword">const</span> <span class="keywordtype">char</span> * src);
00091 <span class="preprocessor">#endif</span>
00092 <span class="preprocessor"></span>
00093 <span class="preprocessor">#if !defined(HAVE_STPNCPY)</span>
00094 <span class="preprocessor"></span><span class="keywordtype">char</span> * <a class="code" href="system_8h.html#a33">stpncpy</a>(<span class="comment">/*@out@*/</span> <span class="keywordtype">char</span> * dest, <span class="keyword">const</span> <span class="keywordtype">char</span> * src, size_t n);
00095 <span class="preprocessor">#endif</span>
00096 <span class="preprocessor"></span>
00097 <span class="preprocessor">#include &lt;errno.h&gt;</span>
00098 <span class="preprocessor">#ifndef errno</span>
00099 <span class="preprocessor"></span><span class="comment">/*@-declundef @*/</span>
<a name="l00100"></a><a class="code" href="system_8h.html#a29">00100</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a29">errno</a>;
00101 <span class="comment">/*@=declundef @*/</span>
00102 <span class="preprocessor">#endif</span>
00103 <span class="preprocessor"></span>
00104 <span class="preprocessor">#ifdef STDC_HEADERS</span>
00105 <span class="preprocessor"></span><span class="comment">/*@-macrounrecog -incondefs -globuse -mustmod @*/</span> <span class="comment">/* FIX: shrug */</span>
00106 <span class="preprocessor">#define getopt system_getopt</span>
00107 <span class="preprocessor"></span><span class="comment">/*@=macrounrecog =incondefs =globuse =mustmod @*/</span>
00108 <span class="comment">/*@-skipansiheaders@*/</span>
00109 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
00110 <span class="comment">/*@=skipansiheaders@*/</span>
00111 <span class="preprocessor">#undef getopt</span>
00112 <span class="preprocessor"></span><span class="preprocessor">#if defined(__LCLINT__)</span>
00113 <span class="preprocessor"></span><span class="comment">/*@-declundef -incondefs @*/</span>    <span class="comment">/* LCL: modifies clause missing */</span>
00114 <span class="keyword">extern</span> <span class="keywordtype">char</span> * <a class="code" href="system_8h.html#a35">realpath</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * file_name, <span class="comment">/*@out@*/</span> <span class="keywordtype">char</span> * resolved_name)
00115         <span class="comment">/*@globals errno, fileSystem @*/</span>
00116         <span class="comment">/*@requires maxSet(resolved_name) &gt;=  (PATH_MAX - 1); @*/</span>
00117         <span class="comment">/*@modifies *resolved_name, errno, fileSystem @*/</span>;
00118 <span class="comment">/*@=declundef =incondefs @*/</span>
00119 <span class="preprocessor">#endif</span>
00120 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* not STDC_HEADERS */</span>
00121 <span class="keywordtype">char</span> *<a class="code" href="system_8h.html#a34">getenv</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00122 <span class="preprocessor">#if ! HAVE_REALPATH</span>
00123 <span class="preprocessor"></span><span class="keywordtype">char</span> *<a class="code" href="system_8h.html#a35">realpath</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">char</span> resolved_path []);
00124 <span class="preprocessor">#endif</span>
00125 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* STDC_HEADERS */</span>
00126 
00127 <span class="comment">/* XXX solaris2.5.1 has not */</span>
00128 <span class="preprocessor">#if !defined(EXIT_FAILURE)</span>
<a name="l00129"></a><a class="code" href="system_8h.html#a3">00129</a> <span class="preprocessor"></span><span class="preprocessor">#define EXIT_FAILURE    1</span>
00130 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00131 <span class="preprocessor"></span>
00132 <span class="preprocessor">#ifdef HAVE_FCNTL_H</span>
00133 <span class="preprocessor"></span><span class="preprocessor">#include &lt;fcntl.h&gt;</span>
00134 <span class="preprocessor">#else</span>
00135 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/file.h&gt;</span>
00136 <span class="preprocessor">#endif</span>
00137 <span class="preprocessor"></span>
00138 <span class="preprocessor">#if !defined(SEEK_SET) &amp;&amp; !defined(__LCLINT__)</span>
<a name="l00139"></a><a class="code" href="system_8h.html#a4">00139</a> <span class="preprocessor"></span><span class="preprocessor">#define SEEK_SET 0</span>
<a name="l00140"></a><a class="code" href="system_8h.html#a5">00140</a> <span class="preprocessor"></span><span class="preprocessor">#define SEEK_CUR 1</span>
<a name="l00141"></a><a class="code" href="system_8h.html#a6">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define SEEK_END 2</span>
00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00143 <span class="preprocessor"></span><span class="preprocessor">#if !defined(F_OK) &amp;&amp; !defined(__LCLINT__)</span>
<a name="l00144"></a><a class="code" href="system_8h.html#a7">00144</a> <span class="preprocessor"></span><span class="preprocessor">#define F_OK 0</span>
<a name="l00145"></a><a class="code" href="system_8h.html#a8">00145</a> <span class="preprocessor"></span><span class="preprocessor">#define X_OK 1</span>
<a name="l00146"></a><a class="code" href="system_8h.html#a9">00146</a> <span class="preprocessor"></span><span class="preprocessor">#define W_OK 2</span>
<a name="l00147"></a><a class="code" href="system_8h.html#a10">00147</a> <span class="preprocessor"></span><span class="preprocessor">#define R_OK 4</span>
00148 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00149 <span class="preprocessor"></span>
00150 <span class="preprocessor">#ifdef HAVE_DIRENT_H</span>
00151 <span class="preprocessor"></span><span class="preprocessor"># include &lt;dirent.h&gt;</span>
00152 <span class="preprocessor"># define NLENGTH(direct) (strlen((direct)-&gt;d_name))</span>
00153 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* not HAVE_DIRENT_H */</span>
<a name="l00154"></a><a class="code" href="system_8h.html#a11">00154</a> <span class="preprocessor"># define dirent direct</span>
<a name="l00155"></a><a class="code" href="system_8h.html#a12">00155</a> <span class="preprocessor"></span><span class="preprocessor"># define NLENGTH(direct) ((direct)-&gt;d_namlen)</span>
00156 <span class="preprocessor"></span><span class="preprocessor"># ifdef HAVE_SYS_NDIR_H</span>
00157 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;sys/ndir.h&gt;</span>
00158 <span class="preprocessor"># endif </span><span class="comment">/* HAVE_SYS_NDIR_H */</span>
00159 <span class="preprocessor"># ifdef HAVE_SYS_DIR_H</span>
00160 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;sys/dir.h&gt;</span>
00161 <span class="preprocessor"># endif </span><span class="comment">/* HAVE_SYS_DIR_H */</span>
00162 <span class="preprocessor"># ifdef HAVE_NDIR_H</span>
00163 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;ndir.h&gt;</span>
00164 <span class="preprocessor"># endif </span><span class="comment">/* HAVE_NDIR_H */</span>
00165 <span class="preprocessor">#endif </span><span class="comment">/* HAVE_DIRENT_H */</span>
00166 
00167 <span class="preprocessor">#if defined(__LCLINT__)</span>
00168 <span class="preprocessor"></span><span class="comment">/*@-declundef -incondefs @*/</span> <span class="comment">/* LCL: missing annotation */</span>
00169 <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * <a class="code" href="system_8h.html#a36">alloca</a> (size_t __size)
00170         <span class="comment">/*@ensures MaxSet(result) == (__size - 1) @*/</span>
00171         <span class="comment">/*@*/</span>;
00172 <span class="comment">/*@=declundef =incondefs @*/</span>
00173 <span class="preprocessor">#endif</span>
00174 <span class="preprocessor"></span>
00175 <span class="preprocessor">#ifdef __GNUC__</span>
00176 <span class="preprocessor"></span><span class="preprocessor"># undef alloca</span>
00177 <span class="preprocessor"></span><span class="preprocessor"># define alloca __builtin_alloca</span>
00178 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00179 <span class="preprocessor"></span><span class="preprocessor"># ifdef HAVE_ALLOCA_H</span>
00180 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;alloca.h&gt;</span>
00181 <span class="preprocessor"># else</span>
00182 <span class="preprocessor"></span><span class="preprocessor">#  ifndef _AIX</span>
00183 <span class="preprocessor"></span><span class="comment">/* AIX alloca decl has to be the first thing in the file, bletch! */</span>
00184 <span class="keywordtype">char</span> *<a class="code" href="system_8h.html#a36">alloca</a> ();
00185 <span class="preprocessor">#  endif</span>
00186 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
00187 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00188 <span class="preprocessor"></span>
00189 <span class="preprocessor">#if defined (__GLIBC__) &amp;&amp; defined(__LCLINT__)</span>
00190 <span class="preprocessor"></span><span class="comment">/*@-declundef@*/</span>
00191 <span class="comment">/*@unchecked@*/</span>
00192 <span class="keyword">extern</span> __const __int32_t *__ctype_tolower;
00193 <span class="comment">/*@unchecked@*/</span>
00194 <span class="keyword">extern</span> __const __int32_t *__ctype_toupper;
00195 <span class="comment">/*@=declundef@*/</span>
00196 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
00197 
00198 <span class="comment">/*@-exportlocal@*/</span>
00199 <span class="keyword">extern</span> <span class="keywordtype">int</span> isalnum(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00200 <span class="keyword">extern</span> <span class="keywordtype">int</span> iscntrl(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00201 <span class="keyword">extern</span> <span class="keywordtype">int</span> isgraph(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00202 <span class="keyword">extern</span> <span class="keywordtype">int</span> islower(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00203 <span class="keyword">extern</span> <span class="keywordtype">int</span> ispunct(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00204 <span class="keyword">extern</span> <span class="keywordtype">int</span> isxdigit(<span class="keywordtype">int</span>) __THROW        <span class="comment">/*@*/</span>;
00205 <span class="keyword">extern</span> <span class="keywordtype">int</span> isascii(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00206 <span class="keyword">extern</span> <span class="keywordtype">int</span> toascii(<span class="keywordtype">int</span>) __THROW <span class="comment">/*@*/</span>;
00207 <span class="keyword">extern</span> <span class="keywordtype">int</span> _toupper(<span class="keywordtype">int</span>) __THROW        <span class="comment">/*@*/</span>;
00208 <span class="keyword">extern</span> <span class="keywordtype">int</span> _tolower(<span class="keywordtype">int</span>) __THROW        <span class="comment">/*@*/</span>;
00209 <span class="comment">/*@=exportlocal@*/</span>
00210 
00211 <span class="preprocessor">#endif</span>
00212 <span class="preprocessor"></span>
00213 <span class="preprocessor">#if HAVE_SYS_MMAN_H &amp;&amp; !defined(__LCLINT__)</span>
00214 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/mman.h&gt;</span>
00215 <span class="preprocessor">#endif</span>
00216 <span class="preprocessor"></span>
00217 <span class="comment">/* XXX FIXME: popt on sunos4.1.3: &lt;sys/resource.h&gt; requires &lt;sys/time.h&gt; */</span>
00218 <span class="preprocessor">#if HAVE_SYS_RESOURCE_H &amp;&amp; HAVE_SYS_TIME_H</span>
00219 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/resource.h&gt;</span>
00220 <span class="preprocessor">#endif</span>
00221 <span class="preprocessor"></span>
00222 <span class="preprocessor">#if HAVE_SYS_UTSNAME_H</span>
00223 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/utsname.h&gt;</span>
00224 <span class="preprocessor">#endif</span>
00225 <span class="preprocessor"></span>
00226 <span class="preprocessor">#if HAVE_SYS_WAIT_H</span>
00227 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/wait.h&gt;</span>
00228 <span class="preprocessor">#endif</span>
00229 <span class="preprocessor"></span>
00230 <span class="preprocessor">#if HAVE_GETOPT_H</span>
00231 <span class="preprocessor"></span><span class="comment">/*@-noparams@*/</span>
00232 <span class="preprocessor">#include &lt;getopt.h&gt;</span>
00233 <span class="comment">/*@=noparams@*/</span>
00234 <span class="preprocessor">#endif</span>
00235 <span class="preprocessor"></span>
00236 <span class="preprocessor">#if HAVE_GRP_H</span>
00237 <span class="preprocessor"></span><span class="preprocessor">#include &lt;grp.h&gt;</span>
00238 <span class="preprocessor">#endif</span>
00239 <span class="preprocessor"></span>
00240 <span class="preprocessor">#if HAVE_LIMITS_H</span>
00241 <span class="preprocessor"></span><span class="preprocessor">#include &lt;limits.h&gt;</span>
00242 <span class="preprocessor">#endif</span>
00243 <span class="preprocessor"></span>
00244 <span class="preprocessor">#if HAVE_ERR_H</span>
00245 <span class="preprocessor"></span><span class="preprocessor">#include &lt;err.h&gt;</span>
00246 <span class="preprocessor">#endif</span>
00247 <span class="preprocessor"></span>
00248 <span class="preprocessor">#if HAVE_MALLOC_H &amp;&amp; !defined(__LCLINT__)</span>
00249 <span class="preprocessor"></span><span class="preprocessor">#include &lt;malloc.h&gt;</span>
00250 <span class="preprocessor">#endif</span>
00251 <span class="preprocessor"></span>
00252 <span class="comment">/*@-declundef -incondefs @*/</span> <span class="comment">/* FIX: these are macros */</span>
00255 <span class="comment">/*@mayexit@*/</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@out@*/</span> <span class="keywordtype">void</span> * <a class="code" href="rpmmalloc_8c.html#a1">xmalloc</a> (size_t size)
00256         <span class="comment">/*@globals errno @*/</span>
00257         <span class="comment">/*@ensures MaxSet(result) == (size - 1) @*/</span>
00258         <span class="comment">/*@modifies errno @*/</span>;
00259 
00262 <span class="comment">/*@mayexit@*/</span> <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * <a class="code" href="rpmmalloc_8c.html#a2">xcalloc</a> (size_t nmemb, size_t size)
00263         <span class="comment">/*@ensures MaxSet(result) == (nmemb - 1) @*/</span>
00264         <span class="comment">/*@*/</span>;
00265 
00269 <span class="comment">/*@mayexit@*/</span> <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * <a class="code" href="rpmmalloc_8c.html#a3">xrealloc</a> (<span class="comment">/*@null@*/</span> <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * ptr,
00270                                         size_t size)
00271         <span class="comment">/*@ensures MaxSet(result) == (size - 1) @*/</span>
00272         <span class="comment">/*@modifies *ptr @*/</span>;
00273 
00276 <span class="comment">/*@mayexit@*/</span> <span class="comment">/*@only@*/</span> <span class="keywordtype">char</span> * <a class="code" href="rpmmalloc_8c.html#a4">xstrdup</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *str)
00277         <span class="comment">/*@*/</span>;
00278 <span class="comment">/*@=declundef =incondefs @*/</span>
00279 
00282 <span class="comment">/*@unused@*/</span> <span class="comment">/*@exits@*/</span> <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * <a class="code" href="rpmmalloc_8c.html#a0">vmefail</a>(size_t size)
00283         <span class="comment">/*@*/</span>;
00284 
00285 <span class="preprocessor">#if HAVE_MCHECK_H</span>
00286 <span class="preprocessor"></span><span class="preprocessor">#include &lt;mcheck.h&gt;</span>
00287 <span class="preprocessor">#if defined(__LCLINT__)</span>
00288 <span class="preprocessor"></span><span class="comment">/*@-declundef -incondefs @*/</span> <span class="comment">/* LCL: missing annotations */</span>
00289 <span class="preprocessor">#if 0</span>
00290 <span class="preprocessor"></span><span class="keyword">enum</span> mcheck_status
00291   {
00292     MCHECK_DISABLED = -1,       <span class="comment">/* Consistency checking is not turned on.  */</span>
00293     MCHECK_OK,                  <span class="comment">/* Block is fine.  */</span>
00294     MCHECK_FREE,                <span class="comment">/* Block freed twice.  */</span>
00295     MCHECK_HEAD,                <span class="comment">/* Memory before the block was clobbered.  */</span>
00296     MCHECK_TAIL                 <span class="comment">/* Memory after the block was clobbered.  */</span>
00297   };
00298 <span class="preprocessor">#endif</span>
00299 <span class="preprocessor"></span>
00300 <span class="keyword">extern</span> <span class="keywordtype">int</span> mcheck (<span class="keywordtype">void</span> (*__abortfunc) (<span class="keyword">enum</span> mcheck_status))
00301         <span class="comment">/*@globals internalState@*/</span>
00302         <span class="comment">/*@modifies internalState @*/</span>;
00303 <span class="keyword">extern</span> <span class="keywordtype">int</span> mcheck_pedantic (<span class="keywordtype">void</span> (*__abortfunc) (<span class="keyword">enum</span> mcheck_status))
00304         <span class="comment">/*@globals internalState@*/</span>
00305         <span class="comment">/*@modifies internalState @*/</span>;
00306 <span class="keyword">extern</span> <span class="keywordtype">void</span> mcheck_check_all (<span class="keywordtype">void</span>)
00307         <span class="comment">/*@globals internalState@*/</span>
00308         <span class="comment">/*@modifies internalState @*/</span>;
00309 <span class="keyword">extern</span> <span class="keyword">enum</span> mcheck_status mprobe (<span class="keywordtype">void</span> *__ptr)
00310         <span class="comment">/*@globals internalState@*/</span>
00311         <span class="comment">/*@modifies internalState @*/</span>;
00312 <span class="keyword">extern</span> <span class="keywordtype">void</span> mtrace (<span class="keywordtype">void</span>)
00313         <span class="comment">/*@globals internalState@*/</span>
00314         <span class="comment">/*@modifies internalState @*/</span>;
00315 <span class="keyword">extern</span> <span class="keywordtype">void</span> muntrace (<span class="keywordtype">void</span>)
00316         <span class="comment">/*@globals internalState@*/</span>
00317         <span class="comment">/*@modifies internalState @*/</span>;
00318 <span class="comment">/*@=declundef =incondefs @*/</span>
00319 <span class="preprocessor">#endif </span><span class="comment">/* defined(__LCLINT__) */</span>
00320 
00321 <span class="comment">/* Memory allocation via macro defs to get meaningful locations from mtrace() */</span>
00322 <span class="preprocessor">#if defined(__GNUC__)</span>
00323 <span class="preprocessor"></span><span class="preprocessor">#define xmalloc(_size)          (malloc(_size) ? : vmefail(_size))</span>
00324 <span class="preprocessor"></span><span class="preprocessor">#define xcalloc(_nmemb, _size)  (calloc((_nmemb), (_size)) ? : vmefail(_size))</span>
00325 <span class="preprocessor"></span><span class="preprocessor">#define xrealloc(_ptr, _size)   (realloc((_ptr), (_size)) ? : vmefail(_size))</span>
00326 <span class="preprocessor"></span><span class="preprocessor">#define xstrdup(_str)   (strcpy((malloc(strlen(_str)+1) ? : vmefail(strlen(_str)+1)), (_str)))</span>
00327 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* defined(__GNUC__) */</span>
00328 <span class="preprocessor">#endif  </span><span class="comment">/* HAVE_MCHECK_H */</span>
00329 
00330 <span class="comment">/* Retrofit glibc __progname */</span>
00331 <span class="preprocessor">#if defined __GLIBC__ &amp;&amp; __GLIBC__ &gt;= 2</span>
00332 <span class="preprocessor"></span><span class="preprocessor">#if __GLIBC_MINOR__ &gt;= 1</span>
00333 <span class="preprocessor"></span><span class="preprocessor">#define __progname      __assert_program_name</span>
00334 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00335 <span class="preprocessor"></span><span class="preprocessor">#define setprogname(pn)</span>
00336 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00337"></a><a class="code" href="system_8h.html#a13">00337</a> <span class="preprocessor"></span><span class="preprocessor">#define __progname      program_name</span>
<a name="l00338"></a><a class="code" href="system_8h.html#a14">00338</a> <span class="preprocessor"></span><span class="preprocessor">#define setprogname(pn) \</span>
00339 <span class="preprocessor">  { if ((__progname = strrchr(pn, '/')) != NULL) __progname++; \</span>
00340 <span class="preprocessor">    else __progname = pn;               \</span>
00341 <span class="preprocessor">  }</span>
00342 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00343"></a><a class="code" href="system_8h.html#a30">00343</a> <span class="preprocessor"></span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="system_8h.html#a13">__progname</a>;
00344 
00345 <span class="preprocessor">#if HAVE_NETDB_H</span>
00346 <span class="preprocessor"></span><span class="preprocessor">#include &lt;netdb.h&gt;</span>
00347 <span class="preprocessor">#endif</span>
00348 <span class="preprocessor"></span>
00349 <span class="preprocessor">#if HAVE_PWD_H</span>
00350 <span class="preprocessor"></span><span class="preprocessor">#include &lt;pwd.h&gt;</span>
00351 <span class="preprocessor">#endif</span>
00352 <span class="preprocessor"></span>
00353 <span class="comment">/* Take care of NLS matters.  */</span>
00354 
00355 <span class="preprocessor">#if HAVE_LOCALE_H</span>
00356 <span class="preprocessor"></span><span class="preprocessor"># include &lt;locale.h&gt;</span>
00357 <span class="preprocessor">#endif</span>
00358 <span class="preprocessor"></span><span class="preprocessor">#if !HAVE_SETLOCALE</span>
<a name="l00359"></a><a class="code" href="system_8h.html#a15">00359</a> <span class="preprocessor"></span><span class="preprocessor"># define setlocale(Category, Locale) </span><span class="comment">/* empty */</span>
00360 <span class="preprocessor">#endif</span>
00361 <span class="preprocessor"></span>
00362 <span class="preprocessor">#if ENABLE_NLS &amp;&amp; !defined(__LCLINT__)</span>
00363 <span class="preprocessor"></span><span class="preprocessor"># include &lt;libintl.h&gt;</span>
00364 <span class="preprocessor"># define _(Text) gettext (Text)</span>
00365 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00366 <span class="preprocessor"></span><span class="preprocessor"># undef bindtextdomain</span>
<a name="l00367"></a><a class="code" href="system_8h.html#a16">00367</a> <span class="preprocessor"></span><span class="preprocessor"># define bindtextdomain(Domain, Directory) </span><span class="comment">/* empty */</span>
00368 <span class="preprocessor"># undef textdomain</span>
<a name="l00369"></a><a class="code" href="system_8h.html#a17">00369</a> <span class="preprocessor"></span><span class="preprocessor"># define textdomain(Domain) </span><span class="comment">/* empty */</span>
<a name="l00370"></a><a class="code" href="system_8h.html#a18">00370</a> <span class="preprocessor"># define _(Text) Text</span>
00371 <span class="preprocessor"></span><span class="preprocessor"># undef dgettext</span>
<a name="l00372"></a><a class="code" href="system_8h.html#a19">00372</a> <span class="preprocessor"></span><span class="preprocessor"># define dgettext(DomainName, Text) Text</span>
00373 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00374 <span class="preprocessor"></span>
<a name="l00375"></a><a class="code" href="system_8h.html#a20">00375</a> <span class="preprocessor">#define N_(Text) Text</span>
00376 <span class="preprocessor"></span>
00377 <span class="comment">/* ============== from misc/miscfn.h */</span>
00378 
00379 <span class="preprocessor">#if !defined(USE_GNU_GLOB)</span>
00380 <span class="preprocessor"></span><span class="preprocessor">#if HAVE_FNMATCH_H</span>
00381 <span class="preprocessor"></span><span class="comment">/*@-noparams@*/</span>
00382 <span class="preprocessor">#include &lt;fnmatch.h&gt;</span>
00383 <span class="comment">/*@=noparams@*/</span>
00384 <span class="preprocessor">#endif</span>
00385 <span class="preprocessor"></span>
00386 <span class="preprocessor">#if HAVE_GLOB_H</span>
00387 <span class="preprocessor"></span><span class="comment">/*@-noparams@*/</span>
00388 <span class="preprocessor">#include &lt;glob.h&gt;</span>
00389 <span class="comment">/*@=noparams@*/</span>
00390 <span class="preprocessor">#endif</span>
00391 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00392 <span class="preprocessor"></span><span class="comment">/*@-noparams@*/</span>
00393 <span class="preprocessor">#include "misc/glob.h"</span>
00394 <span class="preprocessor">#include "misc/fnmatch.h"</span>
00395 <span class="comment">/*@=noparams@*/</span>
00396 <span class="preprocessor">#endif</span>
00397 <span class="preprocessor"></span>
00398 <span class="preprocessor">#if defined(__LCLINT__)</span>
00399 <span class="preprocessor"></span><span class="comment">/*@-declundef -incondefs @*/</span> <span class="comment">/* LCL: missing annotation */</span>
00400 <span class="preprocessor">#if 0</span>
00401 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="comment">/*@concrete@*/</span> <span class="keyword">struct</span>
00402 <span class="keyword">  </span>{
00403     size_t gl_pathc;
00404     <span class="keywordtype">char</span> **gl_pathv;
00405     size_t gl_offs;
00406     <span class="keywordtype">int</span> gl_flags;
00407 
00408     void (*gl_closedir) (<span class="keywordtype">void</span> *);
00409 <span class="preprocessor">#ifdef _GNU_SOURCE</span>
00410 <span class="preprocessor"></span>    <span class="keyword">struct </span><a class="code" href="system_8h.html#a11">dirent</a> *(*gl_readdir) (void *);
00411 <span class="preprocessor">#else</span>
00412 <span class="preprocessor"></span>    <span class="keywordtype">void</span> *(*gl_readdir) (<span class="keywordtype">void</span> *);
00413 <span class="preprocessor">#endif</span>
00414 <span class="preprocessor"></span>    ptr_t (*gl_opendir) (<span class="keyword">const</span> <span class="keywordtype">char</span> *);
00415 <span class="preprocessor">#ifdef _GNU_SOURCE</span>
00416 <span class="preprocessor"></span>    int (*gl_lstat) (<span class="keyword">const</span> <span class="keywordtype">char</span> *restrict, <span class="keyword">struct </span>stat *restrict);
00417     int (*gl_stat) (<span class="keyword">const</span> <span class="keywordtype">char</span> *restrict, <span class="keyword">struct </span>stat *restrict);
00418 <span class="preprocessor">#else</span>
00419 <span class="preprocessor"></span>    int (*gl_lstat) (<span class="keyword">const</span> <span class="keywordtype">char</span> *restrict, <span class="keywordtype">void</span> *restrict);
00420     int (*gl_stat) (<span class="keyword">const</span> <span class="keywordtype">char</span> *restrict, <span class="keywordtype">void</span> *restrict);
00421 <span class="preprocessor">#endif</span>
00422 <span class="preprocessor"></span>  } glob_t;
00423 <span class="preprocessor">#endif</span>
00424 <span class="preprocessor"></span>
00425 <span class="preprocessor">#if 0</span>
00426 <span class="preprocessor"></span><span class="comment">/*@-constuse@*/</span>
00427 <span class="comment">/*@constant int GLOB_ERR@*/</span>
00428 <span class="comment">/*@constant int GLOB_MARK@*/</span>
00429 <span class="comment">/*@constant int GLOB_NOSORT@*/</span>
00430 <span class="comment">/*@constant int GLOB_DOOFFS@*/</span>
00431 <span class="comment">/*@constant int GLOB_NOCHECK@*/</span>
00432 <span class="comment">/*@constant int GLOB_APPEND@*/</span>
00433 <span class="comment">/*@constant int GLOB_NOESCAPE@*/</span>
00434 <span class="comment">/*@constant int GLOB_PERIOD@*/</span>
00435 
00436 <span class="preprocessor">#ifdef _GNU_SOURCE</span>
00437 <span class="preprocessor"></span><span class="comment">/*@constant int GLOB_MAGCHAR@*/</span>
00438 <span class="comment">/*@constant int GLOB_ALTDIRFUNC@*/</span>
00439 <span class="comment">/*@constant int GLOB_BRACE@*/</span>
00440 <span class="comment">/*@constant int GLOB_NOMAGIC@*/</span>
00441 <span class="comment">/*@constant int GLOB_TILDE@*/</span>
00442 <span class="comment">/*@constant int GLOB_ONLYDIR@*/</span>
00443 <span class="comment">/*@constant int GLOB_TILDE_CHECK@*/</span>
00444 <span class="preprocessor">#endif</span>
00445 <span class="preprocessor"></span>
00446 <span class="comment">/*@constant int GLOB_FLAGS@*/</span>
00447 
00448 <span class="comment">/*@constant int GLOB_NOSPACE@*/</span>
00449 <span class="comment">/*@constant int GLOB_ABORTED@*/</span>
00450 <span class="comment">/*@constant int GLOB_NOMATCH@*/</span>
00451 <span class="comment">/*@constant int GLOB_NOSYS@*/</span>
00452 <span class="preprocessor">#ifdef _GNU_SOURCE</span>
00453 <span class="preprocessor"></span><span class="comment">/*@constant int GLOB_ABEND@*/</span>
00454 <span class="preprocessor">#endif</span>
00455 <span class="preprocessor"></span><span class="comment">/*@=constuse@*/</span>
00456 <span class="preprocessor">#endif</span>
00457 <span class="preprocessor"></span>
00458 <span class="keyword">extern</span> <span class="keywordtype">int</span> glob (<span class="keyword">const</span> <span class="keywordtype">char</span> *pattern, <span class="keywordtype">int</span> flags,
00459                       <span class="keywordtype">int</span> (*errfunc) (<span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">int</span>),
00460                       <span class="comment">/*@out@*/</span> glob_t *pglob)
00461         <span class="comment">/*@globals errno, fileSystem @*/</span>
00462         <span class="comment">/*@modifies *pglob, errno, fileSystem @*/</span>;
00463         <span class="comment">/* XXX only annotation is a white lie */</span>
00464 <span class="keyword">extern</span> <span class="keywordtype">void</span> globfree (<span class="comment">/*@only@*/</span> glob_t *pglob)
00465         <span class="comment">/*@modifies *pglob @*/</span>;
00466 <span class="preprocessor">#ifdef _GNU_SOURCE</span>
00467 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">int</span> glob_pattern_p (<span class="keyword">const</span> <span class="keywordtype">char</span> *pattern, <span class="keywordtype">int</span> quote)
00468         <span class="comment">/*@*/</span>;
00469 <span class="preprocessor">#endif</span>
00470 <span class="preprocessor"></span>
00471 <span class="preprocessor">#if 0</span>
00472 <span class="preprocessor"></span><span class="comment">/*@-constuse@*/</span>
00473 <span class="comment">/*@constant int FNM_PATHNAME@*/</span>
00474 <span class="comment">/*@constant int FNM_NOESCAPE@*/</span>
00475 <span class="comment">/*@constant int FNM_PERIOD@*/</span>
00476 
00477 <span class="preprocessor">#ifdef _GNU_SOURCE</span>
00478 <span class="preprocessor"></span><span class="comment">/*@constant int FNM_FILE_NAME@*/</span>        <span class="comment">/* GNU extension */</span>
00479 <span class="comment">/*@constant int FNM_LEADING_DIR@*/</span>      <span class="comment">/* GNU extension */</span>
00480 <span class="comment">/*@constant int FNM_CASEFOLD@*/</span>         <span class="comment">/* GNU extension */</span>
00481 <span class="comment">/*@constant int FNM_EXTMATCH@*/</span>         <span class="comment">/* GNU extension */</span>
00482 <span class="preprocessor">#endif</span>
00483 <span class="preprocessor"></span>
00484 <span class="comment">/*@constant int FNM_NOMATCH@*/</span>
00485 
00486 <span class="preprocessor">#ifdef _XOPEN_SOURCE</span>
00487 <span class="preprocessor"></span><span class="comment">/*@constant int FNM_NOSYS@*/</span>            <span class="comment">/* X/Open */</span>
00488 <span class="preprocessor">#endif</span>
00489 <span class="preprocessor"></span><span class="comment">/*@=constuse@*/</span>
00490 <span class="preprocessor">#endif</span>
00491 <span class="preprocessor"></span>
00492 <span class="keyword">extern</span> <span class="keywordtype">int</span> fnmatch (<span class="keyword">const</span> <span class="keywordtype">char</span> *pattern, <span class="keyword">const</span> <span class="keywordtype">char</span> *string, <span class="keywordtype">int</span> flags)
00493         <span class="comment">/*@*/</span>;
00494 <span class="comment">/*@=declundef =incondefs @*/</span>
00495 <span class="preprocessor">#endif</span>
00496 <span class="preprocessor"></span>
00497 <span class="preprocessor">#if ! HAVE_S_IFSOCK</span>
<a name="l00498"></a><a class="code" href="system_8h.html#a21">00498</a> <span class="preprocessor"></span><span class="preprocessor">#define S_IFSOCK (0xc000)</span>
00499 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00500 <span class="preprocessor"></span>
00501 <span class="preprocessor">#if ! HAVE_S_ISLNK</span>
<a name="l00502"></a><a class="code" href="system_8h.html#a22">00502</a> <span class="preprocessor"></span><span class="preprocessor">#define S_ISLNK(mode) ((mode &amp; 0xf000) == S_IFLNK)</span>
00503 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00504 <span class="preprocessor"></span>
00505 <span class="preprocessor">#if ! HAVE_S_ISSOCK</span>
<a name="l00506"></a><a class="code" href="system_8h.html#a23">00506</a> <span class="preprocessor"></span><span class="preprocessor">#define S_ISSOCK(mode) ((mode &amp; 0xf000) == S_IFSOCK)</span>
00507 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00508 <span class="preprocessor"></span>
00509 <span class="preprocessor">#if NEED_STRINGS_H</span>
00510 <span class="preprocessor"></span><span class="preprocessor">#include &lt;strings.h&gt;</span>
00511 <span class="preprocessor">#endif</span>
00512 <span class="preprocessor"></span>
00513 <span class="preprocessor">#if NEED_MYREALLOC</span>
00514 <span class="preprocessor"></span><span class="preprocessor">#define realloc(ptr,size) myrealloc(ptr,size)</span>
00515 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">void</span> *myrealloc(<span class="keywordtype">void</span> *, size_t);
00516 <span class="preprocessor">#endif</span>
00517 <span class="preprocessor"></span>
00518 <span class="preprocessor">#if ! HAVE_SETENV</span>
00519 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="system_8h.html#a42">setenv</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *value, <span class="keywordtype">int</span> replace);
00520 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="system_8h.html#a43">unsetenv</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00521 <span class="preprocessor">#endif</span>
00522 <span class="preprocessor"></span>
00523 <span class="preprocessor">#if HAVE_SYS_SOCKET_H</span>
00524 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/types.h&gt;</span>
00525 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
00526 <span class="preprocessor">#endif</span>
00527 <span class="preprocessor"></span>
00528 <span class="preprocessor">#if HAVE_SYS_SELECT_H &amp;&amp; !defined(__LCLINT__)</span>
00529 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/select.h&gt;</span>
00530 <span class="preprocessor">#endif</span>
00531 <span class="preprocessor"></span>
00532 <span class="comment">/* Solaris &lt;= 2.6 limits getpass return to only 8 chars */</span>
00533 <span class="preprocessor">#if HAVE_GETPASSPHRASE</span>
00534 <span class="preprocessor"></span><span class="preprocessor">#define getpass getpassphrase</span>
00535 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00536 <span class="preprocessor"></span>
00537 <span class="preprocessor">#if ! HAVE_LCHOWN</span>
<a name="l00538"></a><a class="code" href="system_8h.html#a24">00538</a> <span class="preprocessor"></span><span class="preprocessor">#define lchown chown</span>
00539 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00540 <span class="preprocessor"></span>
00541 <span class="preprocessor">#if HAVE_GETMNTINFO_R || HAVE_MNTCTL</span>
00542 <span class="preprocessor"></span><span class="preprocessor"># define GETMNTENT_ONE 0</span>
00543 <span class="preprocessor"></span><span class="preprocessor"># define GETMNTENT_TWO 0</span>
00544 <span class="preprocessor"></span><span class="preprocessor"># if HAVE_SYS_MNTCTL_H</span>
00545 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;sys/mntctl.h&gt;</span>
00546 <span class="preprocessor"># endif</span>
00547 <span class="preprocessor"></span><span class="preprocessor"># if HAVE_SYS_VMOUNT_H</span>
00548 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;sys/vmount.h&gt;</span>
00549 <span class="preprocessor"># endif</span>
00550 <span class="preprocessor"></span><span class="preprocessor"># if HAVE_SYS_MOUNT_H</span>
00551 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;sys/mount.h&gt;</span>
00552 <span class="preprocessor"># endif</span>
00553 <span class="preprocessor"></span><span class="preprocessor">#elif HAVE_MNTENT_H || !(HAVE_GETMNTENT) || HAVE_STRUCT_MNTTAB</span>
00554 <span class="preprocessor"></span><span class="preprocessor"># if HAVE_MNTENT_H</span>
00555 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;stdio.h&gt;</span>
00556 <span class="preprocessor">#  include &lt;mntent.h&gt;</span>
00557 <span class="preprocessor">#  define our_mntent struct mntent</span>
00558 <span class="preprocessor"></span><span class="preprocessor">#  define our_mntdir mnt_dir</span>
00559 <span class="preprocessor"></span><span class="preprocessor"># elif HAVE_STRUCT_MNTTAB</span>
00560 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;stdio.h&gt;</span>
00561 <span class="preprocessor">#  include &lt;mnttab.h&gt;</span>
00562    <span class="keyword">struct </span><a class="code" href="structour__mntent.html">our_mntent</a> {
00563        <span class="keywordtype">char</span> * <a class="code" href="structour__mntent.html#m0">our_mntdir</a>;
00564    };
00565    <span class="keyword">struct </span><a class="code" href="structour__mntent.html">our_mntent</a> *getmntent(FILE *filep);
00566 <span class="preprocessor">#  define our_mntent struct our_mntent</span>
00567 <span class="preprocessor"></span><span class="preprocessor"># else</span>
00568 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;stdio.h&gt;</span>
<a name="l00569"></a><a class="code" href="structour__mntent.html">00569</a>    <span class="keyword">struct </span><a class="code" href="structour__mntent.html">our_mntent</a> {
<a name="l00570"></a><a class="code" href="structour__mntent.html#m0">00570</a>        <span class="keywordtype">char</span> * <a class="code" href="structour__mntent.html#m0">our_mntdir</a>;
00571    };
00572    <span class="keyword">struct </span><a class="code" href="structour__mntent.html">our_mntent</a> *getmntent(FILE *filep);
<a name="l00573"></a><a class="code" href="system_8h.html#a25">00573</a> <span class="preprocessor">#  define our_mntent struct our_mntent</span>
00574 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
<a name="l00575"></a><a class="code" href="system_8h.html#a26">00575</a> <span class="preprocessor"></span><span class="preprocessor"># define GETMNTENT_ONE 1</span>
<a name="l00576"></a><a class="code" href="system_8h.html#a27">00576</a> <span class="preprocessor"></span><span class="preprocessor"># define GETMNTENT_TWO 0</span>
00577 <span class="preprocessor"></span><span class="preprocessor">#elif HAVE_SYS_MNTTAB_H</span>
00578 <span class="preprocessor"></span><span class="preprocessor"># include &lt;stdio.h&gt;</span>
00579 <span class="preprocessor"># include &lt;sys/mnttab.h&gt;</span>
00580 <span class="preprocessor"># define GETMNTENT_ONE 0</span>
00581 <span class="preprocessor"></span><span class="preprocessor"># define GETMNTENT_TWO 1</span>
00582 <span class="preprocessor"></span><span class="preprocessor"># define our_mntent struct mnttab</span>
00583 <span class="preprocessor"></span><span class="preprocessor"># define our_mntdir mnt_mountp</span>
00584 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* if !HAVE_MNTCTL */</span>
00585 <span class="preprocessor"># error Neither mntent.h, mnttab.h, or mntctl() exists. I cannot build on this system.</span>
00586 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00587 <span class="preprocessor"></span>
00588 <span class="preprocessor">#ifndef MOUNTED</span>
<a name="l00589"></a><a class="code" href="system_8h.html#a28">00589</a> <span class="preprocessor"></span><span class="preprocessor">#define MOUNTED "/etc/mnttab"</span>
00590 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00591 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* H_SYSTEM */</span>
</pre></div><hr><address style="align: right;"><small>Generated on Thu Sep 12 22:15:02 2002 for rpm by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.17 </small></address>
</body>
</html>