<!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>rpmio/rpmio.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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>rpmio/rpmio.h</h1><a href="rpmio_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef H_RPMIO</span> 00002 <span class="preprocessor"></span><span class="preprocessor">#define H_RPMIO</span> 00003 <span class="preprocessor"></span> 00009 <span class="preprocessor">#include <sys/types.h></span> 00010 <span class="preprocessor">#include <sys/stat.h></span> 00011 <span class="preprocessor">#include <dirent.h></span> 00012 <span class="comment">/*@-noparams@*/</span> 00013 <span class="preprocessor">#include <glob.h></span> 00014 <span class="comment">/*@=noparams@*/</span> 00015 <span class="preprocessor">#include <stdio.h></span> 00016 <span class="preprocessor">#include <stdlib.h></span> 00017 <span class="preprocessor">#include <unistd.h></span> 00018 00021 <span class="preprocessor">#ifdef NOTYET</span> 00022 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="comment">/*@abstract@*/</span> <span class="keyword">struct </span><a class="code" href="structpgpDig__s.html">pgpDig_s</a> * pgpDig; 00023 <span class="preprocessor">#endif</span> 00024 <span class="preprocessor"></span> 00033 <span class="preprocessor">#if !defined(__LCLINT__) && defined(__GLIBC__) && \</span> 00034 <span class="preprocessor"> (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2))</span> 00035 <span class="preprocessor"></span><span class="preprocessor">#define USE_COOKIE_SEEK_POINTER 1</span> 00036 <span class="preprocessor"></span><span class="keyword">typedef</span> _IO_off64_t <a class="code" href="group__rpmio.html#a0">_libio_off_t</a>; 00037 <span class="keyword">typedef</span> <a class="code" href="group__rpmio.html#a0">_libio_off_t</a> * <a class="code" href="group__rpmio.html#a49">_libio_pos_t</a>; 00038 <span class="preprocessor">#else</span> <a name="l00039"></a><a class="code" href="group__rpmio.html#a0">00039</a> <span class="preprocessor"></span><span class="keyword">typedef</span> off_t <a class="code" href="group__rpmio.html#a0">_libio_off_t</a>; <a name="l00040"></a><a class="code" href="group__rpmio.html#a49">00040</a> <span class="keyword">typedef</span> off_t <a class="code" href="group__rpmio.html#a49">_libio_pos_t</a>; 00041 <span class="preprocessor">#endif</span> 00042 <span class="preprocessor"></span> <a name="l00046"></a><a class="code" href="group__rpmio.html#a1">00046</a> <span class="keyword">typedef</span> <span class="comment">/*@abstract@*/</span> <span class="comment">/*@refcounted@*/</span> <span class="keyword">struct </span><a class="code" href="struct__FD__s.html">_FD_s</a> * FD_t; 00047 <a name="l00050"></a><a class="code" href="group__rpmio.html#a2">00050</a> <span class="keyword">typedef</span> <span class="comment">/*@observer@*/</span> <span class="keyword">struct </span><a class="code" href="structFDIO__s.html">FDIO_s</a> * FDIO_t; 00051 00052 <span class="preprocessor">#ifdef __cplusplus</span> 00053 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { 00054 <span class="preprocessor">#endif</span> 00055 <span class="preprocessor"></span> 00060 <a name="l00063"></a><a class="code" href="group__rpmio.html#a3">00063</a> <span class="keyword">typedef</span> ssize_t (*<a class="code" href="group__rpmio.html#a3">fdio_read_function_t</a>) (<span class="keywordtype">void</span> *cookie, <span class="keywordtype">char</span> *buf, size_t nbytes) 00064 <span class="comment">/*@globals fileSystem @*/</span> 00065 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; 00066 <a name="l00069"></a><a class="code" href="group__rpmio.html#a50">00069</a> <span class="keyword">typedef</span> ssize_t (*<a class="code" href="group__rpmio.html#a50">fdio_write_function_t</a>) (<span class="keywordtype">void</span> *cookie, <span class="keyword">const</span> <span class="keywordtype">char</span> *buf, size_t nbytes) 00070 <span class="comment">/*@globals fileSystem @*/</span> 00071 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; 00072 <a name="l00075"></a><a class="code" href="group__rpmio.html#a51">00075</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmio.html#a51">fdio_seek_function_t</a>) (<span class="keywordtype">void</span> *cookie, <a class="code" href="group__rpmio.html#a49">_libio_pos_t</a> pos, <span class="keywordtype">int</span> whence) 00076 <span class="comment">/*@globals fileSystem @*/</span> 00077 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; 00078 <a name="l00081"></a><a class="code" href="group__rpmio.html#a52">00081</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmio.html#a52">fdio_close_function_t</a>) (<span class="keywordtype">void</span> *cookie) 00082 <span class="comment">/*@globals fileSystem @*/</span> 00083 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; 00084 00085 <a name="l00088"></a><a class="code" href="group__rpmio.html#a53">00088</a> <span class="keyword">typedef</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a class="code" href="group__rpmio.html#a1">FD_t</a> (*<a class="code" href="group__rpmio.html#a53">fdio_ref_function_t</a>) ( <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * cookie, 00089 <span class="keyword">const</span> <span class="keywordtype">char</span> * msg, <span class="keyword">const</span> <span class="keywordtype">char</span> * file, <span class="keywordtype">unsigned</span> line) 00090 <span class="comment">/*@globals fileSystem @*/</span> 00091 <span class="comment">/*@modifies fileSystem @*/</span>; 00092 <a name="l00095"></a><a class="code" href="group__rpmio.html#a54">00095</a> <span class="keyword">typedef</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a class="code" href="group__rpmio.html#a1">FD_t</a> (*<a class="code" href="group__rpmio.html#a54">fdio_deref_function_t</a>) ( <span class="comment">/*@only@*/</span> FD_t fd, 00096 <span class="keyword">const</span> <span class="keywordtype">char</span> * msg, <span class="keyword">const</span> <span class="keywordtype">char</span> * file, <span class="keywordtype">unsigned</span> line) 00097 <span class="comment">/*@globals fileSystem @*/</span> 00098 <span class="comment">/*@modifies fd, fileSystem @*/</span>; 00099 00100 <a name="l00103"></a><a class="code" href="group__rpmio.html#a55">00103</a> <span class="keyword">typedef</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> <a class="code" href="group__rpmio.html#a1">FD_t</a> (*<a class="code" href="group__rpmio.html#a55">fdio_new_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * msg, 00104 <span class="keyword">const</span> <span class="keywordtype">char</span> * file, <span class="keywordtype">unsigned</span> line) 00105 <span class="comment">/*@globals fileSystem @*/</span> 00106 <span class="comment">/*@modifies fileSystem @*/</span>; 00107 00108 <a name="l00111"></a><a class="code" href="group__rpmio.html#a56">00111</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmio.html#a56">fdio_fileno_function_t</a>) (<span class="keywordtype">void</span> * cookie) 00112 <span class="comment">/*@globals fileSystem @*/</span> 00113 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; 00114 00115 <a name="l00118"></a><a class="code" href="group__rpmio.html#a57">00118</a> <span class="keyword">typedef</span> <a class="code" href="group__rpmio.html#a1">FD_t</a> (*<a class="code" href="group__rpmio.html#a57">fdio_open_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="keywordtype">int</span> flags, mode_t mode) 00119 <span class="comment">/*@globals fileSystem @*/</span> 00120 <span class="comment">/*@modifies fileSystem @*/</span>; 00121 <a name="l00124"></a><a class="code" href="group__rpmio.html#a58">00124</a> <span class="keyword">typedef</span> <a class="code" href="group__rpmio.html#a1">FD_t</a> (*<a class="code" href="group__rpmio.html#a58">fdio_fopen_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="keyword">const</span> <span class="keywordtype">char</span> * fmode) 00125 <span class="comment">/*@globals fileSystem @*/</span> 00126 <span class="comment">/*@modifies fileSystem @*/</span>; 00127 <a name="l00130"></a><a class="code" href="group__rpmio.html#a59">00130</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*fdio_ffileno_function_t) (FD_t fd) 00131 <span class="comment">/*@globals fileSystem @*/</span> 00132 <span class="comment">/*@modifies fileSystem @*/</span>; 00133 <a name="l00136"></a><a class="code" href="group__rpmio.html#a60">00136</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmio.html#a60">fdio_fflush_function_t</a>) (FD_t fd) 00137 <span class="comment">/*@globals fileSystem @*/</span> 00138 <span class="comment">/*@modifies fileSystem @*/</span>; 00146 <a name="l00149"></a><a class="code" href="group__rpmrpc.html#a0">00149</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a0">fdio_mkdir_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path, mode_t mode) 00150 <span class="comment">/*@globals fileSystem @*/</span> 00151 <span class="comment">/*@modifies fileSystem @*/</span>; 00152 <a name="l00155"></a><a class="code" href="group__rpmrpc.html#a2">00155</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a2">fdio_chdir_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00156 <span class="comment">/*@globals fileSystem @*/</span> 00157 <span class="comment">/*@modifies fileSystem @*/</span>; 00158 <a name="l00161"></a><a class="code" href="group__rpmrpc.html#a3">00161</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a3">fdio_rmdir_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00162 <span class="comment">/*@globals fileSystem @*/</span> 00163 <span class="comment">/*@modifies fileSystem @*/</span>; 00164 <a name="l00167"></a><a class="code" href="group__rpmrpc.html#a4">00167</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a4">fdio_rename_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * oldpath, <span class="keyword">const</span> <span class="keywordtype">char</span> * newpath) 00168 <span class="comment">/*@globals fileSystem @*/</span> 00169 <span class="comment">/*@modifies fileSystem @*/</span>; 00170 <a name="l00173"></a><a class="code" href="group__rpmrpc.html#a5">00173</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a5">fdio_unlink_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00174 <span class="comment">/*@globals fileSystem @*/</span> 00175 <span class="comment">/*@modifies fileSystem @*/</span>; 00176 <span class="comment">/*@-typeuse@*/</span> 00177 <a name="l00180"></a><a class="code" href="group__rpmrpc.html#a6">00180</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a6">fdio_stat_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="comment">/*@out@*/</span> <span class="keyword">struct </span>stat * st) 00181 <span class="comment">/*@globals fileSystem @*/</span> 00182 <span class="comment">/*@modifies *st, fileSystem @*/</span>; 00183 <a name="l00186"></a><a class="code" href="group__rpmrpc.html#a7">00186</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a7">fdio_lstat_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="comment">/*@out@*/</span> <span class="keyword">struct </span>stat * st) 00187 <span class="comment">/*@globals fileSystem @*/</span> 00188 <span class="comment">/*@modifies *st, fileSystem @*/</span>; 00189 <a name="l00192"></a><a class="code" href="group__rpmrpc.html#a8">00192</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__rpmrpc.html#a8">fdio_access_function_t</a>) (<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="keywordtype">int</span> amode) 00193 <span class="comment">/*@globals fileSystem @*/</span> 00194 <span class="comment">/*@modifies fileSystem @*/</span>; 00195 <span class="comment">/*@=typeuse@*/</span> <a name="l00201"></a><a class="code" href="structFDIO__s.html">00201</a> <span class="keyword">struct </span><a class="code" href="structFDIO__s.html">FDIO_s</a> { <a name="l00202"></a><a class="code" href="structFDIO__s.html#m0">00202</a> <a class="code" href="group__rpmio.html#a3">fdio_read_function_t</a> <a class="code" href="structFDIO__s.html#m0">read</a>; <a name="l00203"></a><a class="code" href="structFDIO__s.html#m1">00203</a> <a class="code" href="group__rpmio.html#a50">fdio_write_function_t</a> <a class="code" href="structFDIO__s.html#m1">write</a>; <a name="l00204"></a><a class="code" href="structFDIO__s.html#m2">00204</a> <a class="code" href="group__rpmio.html#a51">fdio_seek_function_t</a> <a class="code" href="structFDIO__s.html#m2">seek</a>; <a name="l00205"></a><a class="code" href="structFDIO__s.html#m3">00205</a> <a class="code" href="group__rpmio.html#a52">fdio_close_function_t</a> <a class="code" href="structFDIO__s.html#m3">close</a>; 00206 <a name="l00207"></a><a class="code" href="structFDIO__s.html#m4">00207</a> <a class="code" href="group__rpmio.html#a53">fdio_ref_function_t</a> <a class="code" href="structFDIO__s.html#m4">_fdref</a>; <a name="l00208"></a><a class="code" href="structFDIO__s.html#m5">00208</a> <a class="code" href="group__rpmio.html#a54">fdio_deref_function_t</a> <a class="code" href="structFDIO__s.html#m5">_fdderef</a>; <a name="l00209"></a><a class="code" href="structFDIO__s.html#m6">00209</a> <a class="code" href="group__rpmio.html#a55">fdio_new_function_t</a> <a class="code" href="structFDIO__s.html#m6">_fdnew</a>; <a name="l00210"></a><a class="code" href="structFDIO__s.html#m7">00210</a> <a class="code" href="group__rpmio.html#a56">fdio_fileno_function_t</a> <a class="code" href="structFDIO__s.html#m7">_fileno</a>; 00211 <a name="l00212"></a><a class="code" href="structFDIO__s.html#m8">00212</a> <a class="code" href="group__rpmio.html#a57">fdio_open_function_t</a> <a class="code" href="structFDIO__s.html#m8">_open</a>; <a name="l00213"></a><a class="code" href="structFDIO__s.html#m9">00213</a> <a class="code" href="group__rpmio.html#a58">fdio_fopen_function_t</a> <a class="code" href="structFDIO__s.html#m9">_fopen</a>; <a name="l00214"></a><a class="code" href="structFDIO__s.html#m10">00214</a> <a class="code" href="group__rpmio.html#a59">fdio_ffileno_function_t</a> <a class="code" href="structFDIO__s.html#m10">_ffileno</a>; <a name="l00215"></a><a class="code" href="structFDIO__s.html#m11">00215</a> <a class="code" href="group__rpmio.html#a60">fdio_fflush_function_t</a> <a class="code" href="structFDIO__s.html#m11">_fflush</a>; 00216 <a name="l00217"></a><a class="code" href="structFDIO__s.html#m12">00217</a> <a class="code" href="group__rpmrpc.html#a0">fdio_mkdir_function_t</a> <a class="code" href="structFDIO__s.html#m12">_mkdir</a>; <a name="l00218"></a><a class="code" href="structFDIO__s.html#m13">00218</a> <a class="code" href="group__rpmrpc.html#a2">fdio_chdir_function_t</a> <a class="code" href="structFDIO__s.html#m13">_chdir</a>; <a name="l00219"></a><a class="code" href="structFDIO__s.html#m14">00219</a> <a class="code" href="group__rpmrpc.html#a3">fdio_rmdir_function_t</a> <a class="code" href="structFDIO__s.html#m14">_rmdir</a>; <a name="l00220"></a><a class="code" href="structFDIO__s.html#m15">00220</a> <a class="code" href="group__rpmrpc.html#a4">fdio_rename_function_t</a> <a class="code" href="structFDIO__s.html#m15">_rename</a>; <a name="l00221"></a><a class="code" href="structFDIO__s.html#m16">00221</a> <a class="code" href="group__rpmrpc.html#a5">fdio_unlink_function_t</a> <a class="code" href="structFDIO__s.html#m16">_unlink</a>; 00222 }; 00223 00224 00229 00233 <span class="comment">/*@-redecl@*/</span> 00234 <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmio.html#a11">Fstrerror</a>(<span class="comment">/*@null@*/</span> FD_t fd) 00235 <span class="comment">/*@*/</span>; 00236 <span class="comment">/*@=redecl@*/</span> 00237 00241 size_t <a class="code" href="group__rpmio.html#a77">Fread</a>(<span class="comment">/*@out@*/</span> <span class="keywordtype">void</span> * buf, size_t size, size_t nmemb, FD_t fd) 00242 <span class="comment">/*@globals fileSystem @*/</span> 00243 <span class="comment">/*@modifies fd, *buf, fileSystem @*/</span>; 00244 00248 size_t <a class="code" href="group__rpmio.html#a78">Fwrite</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> * buf, size_t size, size_t nmemb, FD_t fd) 00249 <span class="comment">/*@globals fileSystem @*/</span> 00250 <span class="comment">/*@modifies fd, fileSystem @*/</span>; 00251 00255 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a79">Fseek</a>(FD_t fd, <a class="code" href="group__rpmio.html#a0">_libio_off_t</a> offset, <span class="keywordtype">int</span> whence) 00256 <span class="comment">/*@globals fileSystem @*/</span> 00257 <span class="comment">/*@modifies fileSystem @*/</span>; 00258 00262 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a80">Fclose</a>( <span class="comment">/*@killref@*/</span> FD_t fd) 00263 <span class="comment">/*@globals fileSystem @*/</span> 00264 <span class="comment">/*@modifies fd, fileSystem @*/</span>; 00265 00268 <span class="comment">/*@null@*/</span> FD_t <a class="code" href="group__rpmio.html#a82">Fdopen</a>(FD_t ofd, <span class="keyword">const</span> <span class="keywordtype">char</span> * fmode) 00269 <span class="comment">/*@globals fileSystem @*/</span> 00270 <span class="comment">/*@modifies ofd, fileSystem @*/</span>; 00271 00275 <span class="comment">/*@null@*/</span> FD_t <a class="code" href="group__rpmio.html#a83">Fopen</a>(<span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * path, 00276 <span class="comment">/*@null@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * fmode) 00277 <span class="comment">/*@globals fileSystem @*/</span> 00278 <span class="comment">/*@modifies fileSystem @*/</span>; 00279 00280 00284 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a84">Fflush</a>(<span class="comment">/*@null@*/</span> FD_t fd) 00285 <span class="comment">/*@globals fileSystem @*/</span> 00286 <span class="comment">/*@modifies fd, fileSystem @*/</span>; 00287 00291 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a85">Ferror</a>(<span class="comment">/*@null@*/</span> FD_t fd) 00292 <span class="comment">/*@*/</span>; 00293 00297 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a86">Fileno</a>(FD_t fd) 00298 <span class="comment">/*@globals fileSystem @*/</span> 00299 <span class="comment">/*@modifies fileSystem@*/</span>; 00300 00304 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a87">Fcntl</a>(FD_t fd, <span class="keywordtype">int</span> op, <span class="keywordtype">void</span> *lip) 00305 <span class="comment">/*@globals fileSystem @*/</span> 00306 <span class="comment">/*@modifies fd, *lip, fileSystem @*/</span>; 00307 00314 00318 <span class="keywordtype">int</span> <a class="code" href="group__rpmrpc.html#a22">Mkdir</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path, mode_t mode) 00319 <span class="comment">/*@globals fileSystem @*/</span> 00320 <span class="comment">/*@modifies fileSystem @*/</span>; 00321 00325 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a23">Chdir</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00326 <span class="comment">/*@globals fileSystem @*/</span> 00327 <span class="comment">/*@modifies fileSystem @*/</span>; 00328 00332 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a24">Rmdir</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00333 <span class="comment">/*@globals fileSystem @*/</span> 00334 <span class="comment">/*@modifies fileSystem @*/</span>; 00335 00339 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a25">Rename</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * oldpath, <span class="keyword">const</span> <span class="keywordtype">char</span> * newpath) 00340 <span class="comment">/*@globals fileSystem @*/</span> 00341 <span class="comment">/*@modifies fileSystem @*/</span>; 00342 00346 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a26">Link</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * oldpath, <span class="keyword">const</span> <span class="keywordtype">char</span> * newpath) 00347 <span class="comment">/*@globals fileSystem @*/</span> 00348 <span class="comment">/*@modifies fileSystem @*/</span>; 00349 00353 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a27">Unlink</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00354 <span class="comment">/*@globals fileSystem @*/</span> 00355 <span class="comment">/*@modifies fileSystem @*/</span>; 00356 00360 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a47">Readlink</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="comment">/*@out@*/</span> <span class="keywordtype">char</span> * buf, size_t bufsiz) 00361 <span class="comment">/*@globals fileSystem @*/</span> 00362 <span class="comment">/*@modifies *buf, fileSystem @*/</span>; 00363 00367 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a45">Stat</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="comment">/*@out@*/</span> <span class="keyword">struct</span> stat * st) 00368 <span class="comment">/*@globals fileSystem @*/</span> 00369 <span class="comment">/*@modifies *st, fileSystem @*/</span>; 00370 00374 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a46">Lstat</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="comment">/*@out@*/</span> <span class="keyword">struct</span> stat * st) 00375 <span class="comment">/*@globals fileSystem @*/</span> 00376 <span class="comment">/*@modifies *st, fileSystem @*/</span>; 00377 00381 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a48">Access</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path, <span class="keywordtype">int</span> amode) 00382 <span class="comment">/*@globals fileSystem @*/</span> 00383 <span class="comment">/*@modifies fileSystem @*/</span>; 00384 00385 00389 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a49">Glob</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * pattern, <span class="keywordtype">int</span> flags, 00390 <span class="keywordtype">int</span> errfunc(<span class="keyword">const</span> <span class="keywordtype">char</span> * epath, <span class="keywordtype">int</span> eerrno), 00391 <span class="comment">/*@out@*/</span> glob_t * pglob) 00392 <span class="comment">/*@globals fileSystem @*/</span> 00393 <span class="comment">/*@modifies *pglob, fileSystem @*/</span>; 00394 00398 <span class="keywordtype">void</span> <a class="code" href="rpmrpc_8c.html#a50">Globfree</a>( <span class="comment">/*@only@*/</span> glob_t * pglob) 00399 <span class="comment">/*@globals fileSystem @*/</span> 00400 <span class="comment">/*@modifies *pglob, fileSystem @*/</span>; 00401 00402 00406 <span class="comment">/*@null@*/</span> 00407 DIR * <a class="code" href="rpmrpc_8c.html#a51">Opendir</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * path) 00408 <span class="comment">/*@globals fileSystem @*/</span> 00409 <span class="comment">/*@modifies fileSystem @*/</span>; 00410 00414 <span class="comment">/*@null@*/</span> <span class="keyword">struct </span><a class="code" href="system_8h.html#a11">dirent</a> * Readdir(DIR * dir) 00415 <span class="comment">/*@globals fileSystem @*/</span> 00416 <span class="comment">/*@modifies *dir, fileSystem @*/</span>; 00417 00421 <span class="keywordtype">int</span> <a class="code" href="rpmrpc_8c.html#a53">Closedir</a>(<span class="comment">/*@only@*/</span> DIR * dir) 00422 <span class="comment">/*@globals fileSystem @*/</span> 00423 <span class="comment">/*@modifies *dir, fileSystem @*/</span>; 00424 00432 00435 off_t <a class="code" href="group__rpmio.html#a12">fdSize</a>(FD_t fd) 00436 <span class="comment">/*@globals fileSystem @*/</span> 00437 <span class="comment">/*@modifies fd, fileSystem@*/</span>; 00438 00441 <span class="comment">/*@null@*/</span> FD_t <a class="code" href="rpmio_8c.html#a35">fdDup</a>(<span class="keywordtype">int</span> fdno) 00442 <span class="comment">/*@globals fileSystem @*/</span> 00443 <span class="comment">/*@modifies fileSystem@*/</span>; 00444 00445 <span class="preprocessor">#ifdef UNUSED</span> 00446 <span class="preprocessor"></span><span class="comment">/*@null@*/</span> FILE *fdFdopen( <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * cookie, <span class="keyword">const</span> <span class="keywordtype">char</span> * mode); 00447 <span class="preprocessor">#endif</span> 00448 <span class="preprocessor"></span> 00449 <span class="comment">/* XXX Legacy interfaces needed by gnorpm, rpmfind et al */</span> 00450 00451 <span class="comment">/*@-exportlocal@*/</span> 00454 <span class="preprocessor">#ifndef H_RPMIO_INTERNAL </span><span class="comment">/* XXX avoid gcc warning */</span> 00455 <span class="comment">/*@unused@*/</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a0">fdFileno</a>(<span class="keywordtype">void</span> * cookie) 00456 <span class="comment">/*@*/</span>; <a name="l00457"></a><a class="code" href="rpmio_8h.html#a0">00457</a> <span class="preprocessor">#define fdFileno(_fd) fdio->_fileno(_fd)</span> 00458 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 00459 <span class="preprocessor"></span> 00462 <span class="comment">/*@null@*/</span> FD_t <a class="code" href="rpmio_8h.html#a1">fdOpen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">int</span> flags, mode_t mode) 00463 <span class="comment">/*@globals fileSystem @*/</span> 00464 <span class="comment">/*@modifies fileSystem @*/</span>; <a name="l00465"></a><a class="code" href="rpmio_8h.html#a1">00465</a> <span class="preprocessor">#define fdOpen(_path, _flags, _mode) fdio->_open((_path), (_flags), (_mode))</span> 00466 <span class="preprocessor"></span> 00469 ssize_t <a class="code" href="rpmio_8h.html#a2">fdRead</a>(<span class="keywordtype">void</span> * cookie, <span class="comment">/*@out@*/</span> <span class="keywordtype">char</span> * buf, size_t count) 00470 <span class="comment">/*@globals fileSystem @*/</span> 00471 <span class="comment">/*@modifies *cookie, *buf, fileSystem @*/</span>; <a name="l00472"></a><a class="code" href="rpmio_8h.html#a2">00472</a> <span class="preprocessor">#define fdRead(_fd, _buf, _count) fdio->read((_fd), (_buf), (_count))</span> 00473 <span class="preprocessor"></span> 00476 ssize_t <a class="code" href="rpmio_8h.html#a3">fdWrite</a>(<span class="keywordtype">void</span> * cookie, <span class="keyword">const</span> <span class="keywordtype">char</span> * buf, size_t count) 00477 <span class="comment">/*@globals fileSystem @*/</span> 00478 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; <a name="l00479"></a><a class="code" href="rpmio_8h.html#a3">00479</a> <span class="preprocessor">#define fdWrite(_fd, _buf, _count) fdio->write((_fd), (_buf), (_count))</span> 00480 <span class="preprocessor"></span> 00483 <span class="keywordtype">int</span> <a class="code" href="rpmio_8c.html#a43">fdClose</a>( <span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * cookie) 00484 <span class="comment">/*@globals fileSystem @*/</span> 00485 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; <a name="l00486"></a><a class="code" href="rpmio_8h.html#a4">00486</a> <span class="preprocessor">#define fdCLose(_fd) fdio->close(_fd)</span> 00487 <span class="preprocessor"></span> 00490 <span class="comment">/*@unused@*/</span> 00491 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> 00492 FD_t <a class="code" href="rpmio_8h.html#a5">fdLink</a> (<span class="comment">/*@only@*/</span> <span class="keywordtype">void</span> * cookie, <span class="keyword">const</span> <span class="keywordtype">char</span> * msg) 00493 <span class="comment">/*@globals fileSystem @*/</span> 00494 <span class="comment">/*@modifies *cookie, fileSystem @*/</span>; <a name="l00495"></a><a class="code" href="rpmio_8h.html#a5">00495</a> <span class="preprocessor">#define fdLink(_fd, _msg) fdio->_fdref(_fd, _msg, __FILE__, __LINE__)</span> 00496 <span class="preprocessor"></span> 00499 <span class="comment">/*@unused@*/</span> 00500 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> 00501 FD_t <a class="code" href="rpmio_8h.html#a6">fdFree</a>(<span class="comment">/*@only@*/</span> FD_t fd, <span class="keyword">const</span> <span class="keywordtype">char</span> * msg) 00502 <span class="comment">/*@globals fileSystem @*/</span> 00503 <span class="comment">/*@modifies fd, fileSystem @*/</span>; <a name="l00504"></a><a class="code" href="rpmio_8h.html#a6">00504</a> <span class="preprocessor">#define fdFree(_fd, _msg) fdio->_fdderef(_fd, _msg, __FILE__, __LINE__)</span> 00505 <span class="preprocessor"></span> 00508 <span class="comment">/*@unused@*/</span> 00509 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span> 00510 FD_t <a class="code" href="rpmio_8h.html#a7">fdNew</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * msg) 00511 <span class="comment">/*@globals fileSystem @*/</span> 00512 <span class="comment">/*@modifies fileSystem @*/</span>; <a name="l00513"></a><a class="code" href="rpmio_8h.html#a7">00513</a> <span class="preprocessor">#define fdNew(_msg) fdio->_fdnew(_msg, __FILE__, __LINE__)</span> 00514 <span class="preprocessor"></span> 00517 <span class="keywordtype">int</span> <a class="code" href="rpmio_8c.html#a45">fdWritable</a>(FD_t fd, <span class="keywordtype">int</span> secs) 00518 <span class="comment">/*@globals errno, fileSystem @*/</span> 00519 <span class="comment">/*@modifies fd, errno, fileSystem @*/</span>; 00520 00523 <span class="keywordtype">int</span> <a class="code" href="rpmio_8c.html#a46">fdReadable</a>(FD_t fd, <span class="keywordtype">int</span> secs) 00524 <span class="comment">/*@globals errno @*/</span> 00525 <span class="comment">/*@modifies fd, errno @*/</span>; 00526 <span class="comment">/*@=exportlocal@*/</span> 00527 00531 <span class="comment">/*@-typeuse@*/</span> <a name="l00532"></a><a class="code" href="rpmio_8h.html#a107">00532</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="rpmio_8h.html#a107">ftperrCode_e</a> { 00533 <a class="code" href="rpmio_8h.html#a107a40">FTPERR_BAD_SERVER_RESPONSE</a> = -1, 00534 <a class="code" href="rpmio_8h.html#a107a41">FTPERR_SERVER_IO_ERROR</a> = -2, 00535 <a class="code" href="rpmio_8h.html#a107a42">FTPERR_SERVER_TIMEOUT</a> = -3, 00536 <a class="code" href="rpmio_8h.html#a107a43">FTPERR_BAD_HOST_ADDR</a> = -4, 00537 <a class="code" href="rpmio_8h.html#a107a44">FTPERR_BAD_HOSTNAME</a> = -5, 00538 <a class="code" href="rpmio_8h.html#a107a45">FTPERR_FAILED_CONNECT</a> = -6, 00539 <a class="code" href="rpmio_8h.html#a107a46">FTPERR_FILE_IO_ERROR</a> = -7, 00540 <a class="code" href="rpmio_8h.html#a107a47">FTPERR_PASSIVE_ERROR</a> = -8, 00541 <a class="code" href="rpmio_8h.html#a107a48">FTPERR_FAILED_DATA_CONNECT</a> = -9, 00542 <a class="code" href="rpmio_8h.html#a107a49">FTPERR_FILE_NOT_FOUND</a> = -10, 00543 <a class="code" href="rpmio_8h.html#a107a50">FTPERR_NIC_ABORT_IN_PROGRESS</a>= -11, 00544 <a class="code" href="rpmio_8h.html#a107a51">FTPERR_UNKNOWN</a> = -100 00545 } <a class="code" href="rpmio_8h.html#a33">ftperrCode</a>; 00546 <span class="comment">/*@=typeuse@*/</span> 00547 00550 <span class="comment">/*@-redecl@*/</span> 00551 <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code" href="rpmio_8c.html#a48">ftpStrerror</a>(<span class="keywordtype">int</span> errorNumber) <span class="comment">/*@*/</span>; 00552 <span class="comment">/*@=redecl@*/</span> 00553 00556 <span class="comment">/*@unused@*/</span> 00557 <span class="comment">/*@dependent@*/</span> <span class="comment">/*@null@*/</span> <span class="keywordtype">void</span> * <a class="code" href="rpmio_8c.html#a67">ufdGetUrlinfo</a>(FD_t fd) 00558 <span class="comment">/*@modifies fd @*/</span>; 00559 00562 <span class="comment">/*@-redecl@*/</span> 00563 <span class="comment">/*@unused@*/</span> 00564 <span class="comment">/*@observer@*/</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="rpmio_8c.html#a49">urlStrerror</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * url) <span class="comment">/*@*/</span>; 00565 <span class="comment">/*@=redecl@*/</span> 00566 00569 <span class="comment">/*@-exportlocal@*/</span> 00570 <span class="keywordtype">int</span> <a class="code" href="rpmio_8c.html#a59">ufdCopy</a>(FD_t sfd, FD_t tfd) 00571 <span class="comment">/*@globals fileSystem @*/</span> 00572 <span class="comment">/*@modifies sfd, tfd, fileSystem @*/</span>; 00573 <span class="comment">/*@=exportlocal@*/</span> 00574 00577 <span class="keywordtype">int</span> <a class="code" href="rpmio_8c.html#a61">ufdGetFile</a>( <span class="comment">/*@killref@*/</span> FD_t sfd, FD_t tfd) 00578 <span class="comment">/*@globals fileSystem @*/</span> 00579 <span class="comment">/*@modifies sfd, tfd, fileSystem @*/</span>; 00580 00583 <span class="comment">/*@unused@*/</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a8">timedRead</a>(FD_t fd, <span class="comment">/*@out@*/</span> <span class="keywordtype">void</span> * bufptr, <span class="keywordtype">int</span> length) 00584 <span class="comment">/*@globals fileSystem @*/</span> 00585 <span class="comment">/*@modifies fd, *bufptr, fileSystem @*/</span>; <a name="l00586"></a><a class="code" href="rpmio_8h.html#a8">00586</a> <span class="preprocessor">#define timedRead ufdio->read</span> 00587 <span class="preprocessor"></span> 00588 <span class="comment">/*@-exportlocal@*/</span> <a name="l00591"></a><a class="code" href="rpmio_8h.html#a34">00591</a> <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span> <span class="keyword">extern</span> FDIO_t <a class="code" href="rpmio_8h.html#a34">fdio</a>; 00592 <a name="l00595"></a><a class="code" href="rpmio_8h.html#a35">00595</a> <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span> <span class="keyword">extern</span> FDIO_t <a class="code" href="rpmio_8h.html#a35">fpio</a>; 00596 <a name="l00599"></a><a class="code" href="rpmio_8h.html#a36">00599</a> <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span> <span class="keyword">extern</span> FDIO_t <a class="code" href="rpmio_8h.html#a36">ufdio</a>; 00600 <a name="l00603"></a><a class="code" href="rpmio_8h.html#a37">00603</a> <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span> <span class="keyword">extern</span> FDIO_t <a class="code" href="rpmio_8h.html#a37">gzdio</a>; 00604 <a name="l00607"></a><a class="code" href="rpmio_8h.html#a38">00607</a> <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span> <span class="keyword">extern</span> FDIO_t <a class="code" href="rpmio_8h.html#a38">bzdio</a>; 00608 <a name="l00611"></a><a class="code" href="rpmio_8h.html#a39">00611</a> <span class="comment">/*@observer@*/</span> <span class="comment">/*@unchecked@*/</span> <span class="keyword">extern</span> FDIO_t <a class="code" href="rpmio_8h.html#a39">fadio</a>; 00612 <span class="comment">/*@=exportlocal@*/</span> <a name="l00615"></a><a class="code" href="rpmio_8h.html#a96">00615</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a96">xislower</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00616 <span class="keywordflow">return</span> (c >= <span class="charliteral">'a'</span> && c <= <span class="charliteral">'z'</span>); 00617 } <a name="l00618"></a><a class="code" href="rpmio_8h.html#a97">00618</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a97">xisupper</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00619 <span class="keywordflow">return</span> (c >= <span class="charliteral">'A'</span> && c <= <span class="charliteral">'Z'</span>); 00620 } <a name="l00621"></a><a class="code" href="rpmio_8h.html#a98">00621</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a98">xisalpha</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00622 <span class="keywordflow">return</span> (<a class="code" href="rpmio_8h.html#a96">xislower</a>(c) || <a class="code" href="rpmio_8h.html#a97">xisupper</a>(c)); 00623 } <a name="l00624"></a><a class="code" href="rpmio_8h.html#a99">00624</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a99">xisdigit</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00625 <span class="keywordflow">return</span> (c >= <span class="charliteral">'0'</span> && c <= <span class="charliteral">'9'</span>); 00626 } <a name="l00627"></a><a class="code" href="rpmio_8h.html#a100">00627</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a100">xisalnum</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00628 <span class="keywordflow">return</span> (<a class="code" href="rpmio_8h.html#a98">xisalpha</a>(c) || <a class="code" href="rpmio_8h.html#a99">xisdigit</a>(c)); 00629 } <a name="l00630"></a><a class="code" href="rpmio_8h.html#a101">00630</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a101">xisblank</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00631 <span class="keywordflow">return</span> (c == <span class="charliteral">' '</span> || c == <span class="charliteral">'\t'</span>); 00632 } <a name="l00633"></a><a class="code" href="rpmio_8h.html#a102">00633</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a102">xisspace</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00634 <span class="keywordflow">return</span> (<a class="code" href="rpmio_8h.html#a101">xisblank</a>(c) || c == <span class="charliteral">'\n'</span> || c == <span class="charliteral">'\r'</span> || c == <span class="charliteral">'\f'</span> || c == <span class="charliteral">'\v'</span>); 00635 } 00636 <a name="l00637"></a><a class="code" href="rpmio_8h.html#a103">00637</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a103">xtolower</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00638 <span class="keywordflow">return</span> ((<a class="code" href="rpmio_8h.html#a97">xisupper</a>(c)) ? (c | (<span class="charliteral">'a'</span> - <span class="charliteral">'A'</span>)) : c); 00639 } <a name="l00640"></a><a class="code" href="rpmio_8h.html#a104">00640</a> <span class="comment">/*@unused@*/</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="rpmio_8h.html#a104">xtoupper</a>(<span class="keywordtype">int</span> c) <span class="comment">/*@*/</span> { 00641 <span class="keywordflow">return</span> ((<a class="code" href="rpmio_8h.html#a96">xislower</a>(c)) ? (c & ~(<span class="charliteral">'a'</span> - <span class="charliteral">'A'</span>)) : c); 00642 } 00643 00647 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a0">xstrcasecmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * s1, <span class="keyword">const</span> <span class="keywordtype">char</span> * s2) <span class="comment">/*@*/</span>; 00648 00652 <span class="keywordtype">int</span> <a class="code" href="group__rpmio.html#a1">xstrncasecmp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> * s2, size_t n) <span class="comment">/*@*/</span>; 00653 00654 <span class="preprocessor">#ifdef __cplusplus</span> 00655 <span class="preprocessor"></span>} 00656 <span class="preprocessor">#endif</span> 00657 <span class="preprocessor"></span> 00658 <span class="preprocessor">#endif </span><span class="comment">/* H_RPMIO */</span> </pre></div><hr><address style="align: right;"><small>Generated on Thu Sep 12 22:15:01 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>