XRootD
XrdPosixLinkage.hh
Go to the documentation of this file.
1 #ifndef _XRDPOSIXLINKAGE_H_
2 #define _XRDPOSIXLINKAGE_H_
3 /******************************************************************************/
4 /* */
5 /* X r d P o s i x L i n k a g e . h h */
6 /* */
7 /* (c) 2005 by the Board of Trustees of the Leland Stanford, Jr., University */
8 /* All Rights Reserved */
9 /* Produced by Andrew Hanushevsky for Stanford University under contract */
10 /* DE-AC02-76-SFO0515 with the Department of Energy */
11 /* */
12 /* This file is part of the XRootD software suite. */
13 /* */
14 /* XRootD is free software: you can redistribute it and/or modify it under */
15 /* the terms of the GNU Lesser General Public License as published by the */
16 /* Free Software Foundation, either version 3 of the License, or (at your */
17 /* option) any later version. */
18 /* */
19 /* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22 /* License for more details. */
23 /* */
24 /* You should have received a copy of the GNU Lesser General Public License */
25 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26 /* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27 /* */
28 /* The copyright holder's institutional names and contributor's names may not */
29 /* be used to endorse or promote products derived from this software without */
30 /* specific prior written permission of the institution or contributor. */
31 /******************************************************************************/
32 
33 #include <sys/types.h>
34 #include <sys/stat.h>
35 #include <sys/statvfs.h>
36 #include <dirent.h>
37 #include <cerrno>
38 #include <fcntl.h>
39 #include <cstdio>
40 #include <unistd.h>
41 
44 #include "XrdSys/XrdSysPlatform.hh"
45 #include "XrdSys/XrdSysStatx.hh"
46 
47 /******************************************************************************/
48 /* Posix Symbols vs Return Valus and Arguments */
49 /******************************************************************************/
50 
51 //#ifdef __linux__
52 //#define UNIX_PFX "__"
53 //#else
54 #define UNIX_PFX
55 //#endif
56 
57 #define Symb_Access UNIX_PFX "access"
58 #define Retv_Access int
59 #define Args_Access const char *path, int amode
60 
61 #define Symb_Acl UNIX_PFX "acl"
62 #define Retv_Acl int
63 #define Args_Acl const char *, int, int, void *
64 
65 #define Symb_Chdir UNIX_PFX "chdir"
66 #define Retv_Chdir int
67 #define Args_Chdir const char *path
68 
69 #define Symb_Close UNIX_PFX "close"
70 #define Retv_Close int
71 #define Args_Close int
72 
73 #define Symb_Closedir UNIX_PFX "closedir"
74 #define Retv_Closedir int
75 #define Args_Closedir DIR *
76 
77 #define Symb_Fclose UNIX_PFX "fclose"
78 #define Retv_Fclose int
79 #define Args_Fclose FILE *
80 
81 #define Symb_Fcntl UNIX_PFX "fcntl"
82 #define Retv_Fcntl int
83 #define Args_Fcntl int, int, ...
84 
85 #ifdef __APPLE__
86 #define Symb_Fcntl64 UNIX_PFX "fcntl"
87 #define Retv_Fcntl64 int
88 #define Args_Fcntl64 int, int, ...
89 #else
90 #define Symb_Fcntl64 UNIX_PFX "fcntl64"
91 #define Retv_Fcntl64 int
92 #define Args_Fcntl64 int, int, ...
93 #endif
94 
95 #define Symb_Fdatasync UNIX_PFX "fdatasync"
96 #define Retv_Fdatasync int
97 #define Args_Fdatasync int
98 
99 #define Symb_Fflush UNIX_PFX "fflush"
100 #define Retv_Fflush int
101 #define Args_Fflush FILE *
102 
103 #define Symb_Fopen UNIX_PFX "fopen"
104 #define Retv_Fopen FILE *
105 #define Args_Fopen const char *, const char *
106 
107 #ifdef __APPLE__
108 #define Symb_Fopen64 UNIX_PFX "fopen"
109 #define Retv_Fopen64 FILE *
110 #define Args_Fopen64 const char *, const char *
111 #else
112 #define Symb_Fopen64 UNIX_PFX "fopen64"
113 #define Retv_Fopen64 FILE *
114 #define Args_Fopen64 const char *, const char *
115 #endif
116 
117 #define Symb_Fread UNIX_PFX "fread"
118 #define Retv_Fread size_t
119 #define Args_Fread void *, size_t, size_t, FILE *
120 
121 #define Symb_Fseek UNIX_PFX "fseek"
122 #define Retv_Fseek int
123 #define Args_Fseek FILE *, long, int
124 
125 #define Symb_Fseeko UNIX_PFX "fseeko"
126 #define Retv_Fseeko int
127 #define Args_Fseeko FILE *, off_t, int
128 
129 #ifdef __APPLE__
130 #define Symb_Fseeko64 UNIX_PFX "fseeko"
131 #define Retv_Fseeko64 int
132 #define Args_Fseeko64 FILE *, off64_t, int
133 #else
134 #define Symb_Fseeko64 UNIX_PFX "fseeko64"
135 #define Retv_Fseeko64 int
136 #define Args_Fseeko64 FILE *, off64_t, int
137 #endif
138 
139 #if defined(__linux__) && defined(_STAT_VER)
140 #define Symb_Fstat UNIX_PFX "__fxstat"
141 #define Retv_Fstat int
142 #define Args_Fstat int, int, struct stat *
143 #else
144 #define Symb_Fstat UNIX_PFX "fstat"
145 #define Retv_Fstat int
146 #define Args_Fstat int, struct stat *
147 #endif
148 
149 #if defined(__linux__) && defined(_STAT_VER)
150 #define Symb_Fstat64 UNIX_PFX "__fxstat64"
151 #define Retv_Fstat64 int
152 #define Args_Fstat64 int, int, struct stat64 *
153 #else
154 #ifdef __APPLE__
155 #define Symb_Fstat64 UNIX_PFX "fstat"
156 #define Retv_Fstat64 int
157 #define Args_Fstat64 int, struct stat64 *
158 #else
159 #define Symb_Fstat64 UNIX_PFX "fstat64"
160 #define Retv_Fstat64 int
161 #define Args_Fstat64 int, struct stat64 *
162 #endif
163 #endif
164 
165 #define Symb_Fstatat UNIX_PFX "fstatat"
166 #define Retv_Fstatat int
167 #define Args_Fstatat int, const char*, struct stat *, int
168 
169 #define Symb_Fstatat64 UNIX_PFX "fstatat64"
170 #define Retv_Fstatat64 int
171 #define Args_Fstatat64 int, const char*, struct stat64 *, int
172 
173 #define Symb_Fsync UNIX_PFX "fsync"
174 #define Retv_Fsync int
175 #define Args_Fsync int
176 
177 #define Symb_Ftell UNIX_PFX "ftell"
178 #define Retv_Ftell long
179 #define Args_Ftell FILE *
180 
181 #define Symb_Ftello UNIX_PFX "ftello"
182 #define Retv_Ftello off_t
183 #define Args_Ftello FILE *
184 
185 #ifdef __APPLE__
186 #define Symb_Ftello64 UNIX_PFX "ftello"
187 #define Retv_Ftello64 off64_t
188 #define Args_Ftello64 FILE *
189 #else
190 #define Symb_Ftello64 UNIX_PFX "ftello64"
191 #define Retv_Ftello64 off64_t
192 #define Args_Ftello64 FILE *
193 #endif
194 
195 #define Symb_Ftruncate UNIX_PFX "ftruncate"
196 #define Retv_Ftruncate int
197 #define Args_Ftruncate int, off_t
198 
199 #ifdef __APPLE__
200 #define Symb_Ftruncate64 UNIX_PFX "ftruncate"
201 #define Retv_Ftruncate64 int
202 #define Args_Ftruncate64 int, off64_t
203 #else
204 #define Symb_Ftruncate64 UNIX_PFX "ftruncate64"
205 #define Retv_Ftruncate64 int
206 #define Args_Ftruncate64 int, off64_t
207 #endif
208 
209 #define Symb_Fwrite UNIX_PFX "fwrite"
210 #define Retv_Fwrite int
211 #define Args_Fwrite const void *, size_t, size_t, FILE *
212 
213 #define Symb_Fgetxattr UNIX_PFX "fgetxattr"
214 #define Retv_Fgetxattr ssize_t
215 #define Args_Fgetxattr int, const char *, const void *, size_t
216 
217 #define Symb_Getxattr UNIX_PFX "getxattr"
218 #define Retv_Getxattr ssize_t
219 #define Args_Getxattr const char *, const char *, const void *, size_t
220 
221 #define Symb_Lgetxattr UNIX_PFX "lgetxattr"
222 #define Retv_Lgetxattr ssize_t
223 #define Args_Lgetxattr const char *, const char *, const void *, size_t
224 
225 #define Symb_Lseek UNIX_PFX "lseek"
226 #define Retv_Lseek off_t
227 #define Args_Lseek int, off_t, int
228 
229 #ifdef __APPLE__
230 #define Symb_Lseek64 UNIX_PFX "lseek"
231 #define Retv_Lseek64 off64_t
232 #define Args_Lseek64 int, off64_t, int
233 #else
234 #define Symb_Lseek64 UNIX_PFX "lseek64"
235 #define Retv_Lseek64 off64_t
236 #define Args_Lseek64 int, off64_t, int
237 #endif
238 
239 #if defined(__linux__) && defined(_STAT_VER)
240 #define Symb_Lstat UNIX_PFX "__lxstat"
241 #define Retv_Lstat int
242 #define Args_Lstat int, const char *, struct stat *
243 #else
244 #define Symb_Lstat UNIX_PFX "lstat"
245 #define Retv_Lstat int
246 #define Args_Lstat const char *, struct stat *
247 #endif
248 
249 #if defined(__linux__) && defined(_STAT_VER)
250 #define Symb_Lstat64 UNIX_PFX "__lxstat64"
251 #define Retv_Lstat64 int
252 #define Args_Lstat64 int, const char *, struct stat64 *
253 #else
254 #ifdef __APPLE__
255 #define Symb_Lstat64 UNIX_PFX "lstat"
256 #define Retv_Lstat64 int
257 #define Args_Lstat64 const char *, struct stat64 *
258 #else
259 #define Symb_Lstat64 UNIX_PFX "lstat64"
260 #define Retv_Lstat64 int
261 #define Args_Lstat64 const char *, struct stat64 *
262 #endif
263 #endif
264 
265 #define Symb_Mkdir UNIX_PFX "mkdir"
266 #define Retv_Mkdir int
267 #define Args_Mkdir const char *, mode_t
268 
269 #define Symb_Open UNIX_PFX "open"
270 #define Retv_Open int
271 #define Args_Open const char *, int, ...
272 
273 #define Symb_Openat UNIX_PFX "openat"
274 #define Retv_Openat int
275 #define Args_Openat const char *, int, ...
276 
277 #define Symb_Openat64 UNIX_PFX "openat64"
278 #define Retv_Openat64 int
279 #define Args_Openat64 const char *, int, ...
280 
281 #ifdef __APPLE__
282 #define Symb_Open64 UNIX_PFX "open"
283 #define Retv_Open64 int
284 #define Args_Open64 const char *, int, ...
285 #else
286 #define Symb_Open64 UNIX_PFX "open64"
287 #define Retv_Open64 int
288 #define Args_Open64 const char *, int, ...
289 #endif
290 
291 #define Symb_Opendir UNIX_PFX "opendir"
292 #define Retv_Opendir DIR *
293 #define Args_Opendir const char *
294 
295 #define Symb_Pathconf UNIX_PFX "pathconf"
296 #define Retv_Pathconf long
297 #define Args_Pathconf const char *, int
298 
299 #define Symb_Pread UNIX_PFX "pread"
300 #define Retv_Pread ssize_t
301 #define Args_Pread int, void *, size_t, off_t
302 
303 #ifdef __APPLE__
304 #define Symb_Pread64 UNIX_PFX "pread"
305 #define Retv_Pread64 ssize_t
306 #define Args_Pread64 int, void *, size_t, off64_t
307 #else
308 #define Symb_Pread64 UNIX_PFX "pread64"
309 #define Retv_Pread64 ssize_t
310 #define Args_Pread64 int, void *, size_t, off64_t
311 #endif
312 
313 #define Symb_Pwrite UNIX_PFX "pwrite"
314 #define Retv_Pwrite ssize_t
315 #define Args_Pwrite int, const void *, size_t, off_t
316 
317 #ifdef __APPLE__
318 #define Symb_Pwrite64 UNIX_PFX "pwrite"
319 #define Retv_Pwrite64 ssize_t
320 #define Args_Pwrite64 int, const void *, size_t, off64_t
321 #else
322 #define Symb_Pwrite64 UNIX_PFX "pwrite64"
323 #define Retv_Pwrite64 ssize_t
324 #define Args_Pwrite64 int, const void *, size_t, off64_t
325 #endif
326 
327 #define Symb_Read UNIX_PFX "read"
328 #define Retv_Read ssize_t
329 #define Args_Read int, void *, size_t
330 
331 #define Symb_Readv UNIX_PFX "readv"
332 #define Retv_Readv ssize_t
333 #define Args_Readv int, const struct iovec *, int
334 
335 #define Symb_Readdir UNIX_PFX "readdir"
336 #define Retv_Readdir struct dirent *
337 #define Args_Readdir DIR *
338 
339 #ifdef __APPLE__
340 #define Symb_Readdir64 UNIX_PFX "readdir"
341 #define Retv_Readdir64 struct dirent *
342 #define Args_Readdir64 DIR *
343 #else
344 #define Symb_Readdir64 UNIX_PFX "readdir64"
345 #define Retv_Readdir64 struct dirent64 *
346 #define Args_Readdir64 DIR *
347 #endif
348 
349 #define Symb_Readdir_r UNIX_PFX "readdir_r"
350 #define Retv_Readdir_r int
351 #define Args_Readdir_r DIR *, struct dirent *, struct dirent **
352 
353 #ifdef __APPLE__
354 #define Symb_Readdir64_r UNIX_PFX "readdir_r"
355 #define Retv_Readdir64_r int
356 #define Args_Readdir64_r DIR *, struct dirent64 *, struct dirent64 **
357 #else
358 #define Symb_Readdir64_r UNIX_PFX "readdir64_r"
359 #define Retv_Readdir64_r int
360 #define Args_Readdir64_r DIR *, struct dirent64 *, struct dirent64 **
361 #endif
362 
363 #define Symb_Rename UNIX_PFX "rename"
364 #define Retv_Rename int
365 #define Args_Rename const char *, const char *
366 
367 #define Symb_Rewinddir UNIX_PFX "rewinddir"
368 #define Retv_Rewinddir void
369 #define Args_Rewinddir DIR *
370 
371 #define Symb_Rmdir UNIX_PFX "rmdir"
372 #define Retv_Rmdir int
373 #define Args_Rmdir const char *
374 
375 #define Symb_Seekdir UNIX_PFX "seekdir"
376 #define Retv_Seekdir void
377 #define Args_Seekdir DIR *, long
378 
379 #ifdef __linux__
380 #define Symb_Stat UNIX_PFX "__xstat"
381 #define Retv_Stat int
382 #define Args_Stat int, const char *, struct stat *
383 #else
384 #define Symb_Stat UNIX_PFX "stat"
385 #define Retv_Stat int
386 #define Args_Stat const char *, struct stat *
387 #endif
388 
389 #if defined(__linux__) && defined(_STAT_VER)
390 #define Symb_Stat64 UNIX_PFX "__xstat64"
391 #define Retv_Stat64 int
392 #define Args_Stat64 int, const char *, struct stat64 *
393 #else
394 #ifdef __APPLE__
395 #define Symb_Stat64 UNIX_PFX "stat"
396 #define Retv_Stat64 int
397 #define Args_Stat64 const char *, struct stat64 *
398 #else
399 #define Symb_Stat64 UNIX_PFX "stat64"
400 #define Retv_Stat64 int
401 #define Args_Stat64 const char *, struct stat64 *
402 #endif
403 #endif
404 
405 #define Symb_Statfs UNIX_PFX "statfs"
406 #define Retv_Statfs int
407 #define Args_Statfs const char *, struct statfs *
408 
409 #ifdef __APPLE__
410 #define Symb_Statfs64 UNIX_PFX "statfs"
411 #define Retv_Statfs64 int
412 #define Args_Statfs64 const char *, struct statfs64 *
413 #else
414 #define Symb_Statfs64 UNIX_PFX "statfs64"
415 #define Retv_Statfs64 int
416 #define Args_Statfs64 const char *, struct statfs64 *
417 #endif
418 
419 #define Symb_Statvfs UNIX_PFX "statvfs"
420 #define Retv_Statvfs int
421 #define Args_Statvfs const char *, struct statvfs *
422 
423 #ifdef __APPLE__
424 #define Symb_Statvfs64 UNIX_PFX "statvfs"
425 #define Retv_Statvfs64 int
426 #define Args_Statvfs64 const char *, struct statvfs64 *
427 #else
428 #define Symb_Statvfs64 UNIX_PFX "statvfs64"
429 #define Retv_Statvfs64 int
430 #define Args_Statvfs64 const char *, struct statvfs64 *
431 #endif
432 
433 #define Symb_Statx UNIX_PFX "statx"
434 #define Retv_Statx int
435 #define Args_Statx int, const char *, int, unsigned int, XrdSysStatx *
436 
437 #define Symb_Telldir UNIX_PFX "telldir"
438 #define Retv_Telldir long
439 #define Args_Telldir DIR *
440 
441 #define Symb_Truncate UNIX_PFX "truncate"
442 #define Retv_Truncate int
443 #define Args_Truncate const char *, off_t
444 
445 #ifdef __APPLE__
446 #define Symb_Truncate64 UNIX_PFX "truncate"
447 #define Retv_Truncate64 int
448 #define Args_Truncate64 const char *, off64_t
449 #else
450 #define Symb_Truncate64 UNIX_PFX "truncate64"
451 #define Retv_Truncate64 int
452 #define Args_Truncate64 const char *, off64_t
453 #endif
454 
455 #define Symb_Unlink UNIX_PFX "unlink"
456 #define Retv_Unlink int
457 #define Args_Unlink const char *
458 
459 #define Symb_Write UNIX_PFX "write"
460 #define Retv_Write ssize_t
461 #define Args_Write int, const void *, size_t
462 
463 #define Symb_Writev UNIX_PFX "writev"
464 #define Retv_Writev ssize_t
465 #define Args_Writev int, const struct iovec *, int
466 
467 /******************************************************************************/
468 /* C a l l O u t V e c t o r D e f i n i t i o n */
469 /******************************************************************************/
470 
472 {public:
473  int Init(int *X=0) {if (!Done) Done = Resolve(); return 0;}
474 
543 
544  int Load_Error(const char *epname, int retv=-1);
545 
546  XrdPosixLinkage() : Done(0) {Init();}
548 
549 private:
550 int Done;
551 void Missing(const char *);
552 int Resolve();
553 };
554 // Warning! This class is meant to be defined as a static object.
555 #endif
#define Args_Fseeko64
#define Retv_Truncate
#define Args_Readdir64_r
#define Retv_Telldir
#define Args_Fseeko
#define Args_Pread
#define Retv_Pread64
#define Retv_Fwrite
#define Retv_Lstat
#define Args_Lgetxattr
#define Args_Fcntl64
#define Retv_Openat
#define Retv_Truncate64
#define Args_Lstat
#define Args_Fopen64
#define Retv_Fseek
#define Retv_Ftello64
#define Args_Seekdir
#define Retv_Fcntl
#define Args_Read
#define Args_Write
#define Args_Writev
#define Args_Readdir64
#define Args_Telldir
#define Retv_Close
#define Retv_Statvfs64
#define Args_Fcntl
#define Args_Fstatat
#define Retv_Statfs
#define Retv_Fcntl64
#define Args_Truncate
#define Args_Acl
#define Args_Fopen
#define Retv_Unlink
#define Args_Fseek
#define Retv_Readdir64
#define Args_Closedir
#define Args_Stat64
#define Args_Openat64
#define Retv_Statvfs
#define Args_Ftello
#define Args_Fgetxattr
#define Retv_Ftello
#define Args_Access
#define Args_Statfs64
#define Retv_Stat
#define Retv_Getxattr
#define Retv_Write
#define Retv_Closedir
#define Args_Statfs
#define Retv_Fstat64
#define Args_Fread
#define Args_Fsync
#define Args_Stat
#define Retv_Access
#define Retv_Lseek64
#define Retv_Fsync
#define Args_Open
#define Retv_Ftruncate
#define Args_Ftruncate
#define Retv_Fstat
#define Retv_Chdir
#define Retv_Statx
#define Retv_Fclose
#define Retv_Lstat64
#define Args_Fstat
#define Args_Openat
#define Retv_Fseeko64
#define Args_Fflush
#define Args_Lstat64
#define Retv_Pread
#define Args_Close
#define Retv_Opendir
#define Retv_Fstatat
#define Retv_Lgetxattr
#define Args_Pwrite64
#define Args_Chdir
#define Args_Pathconf
#define Retv_Fopen64
#define Retv_Readdir64_r
#define Args_Readdir_r
#define Args_Fstatat64
#define Args_Fstat64
#define Retv_Ftell
#define Args_Truncate64
#define Args_Statx
#define Retv_Acl
#define Args_Ftruncate64
#define Retv_Pwrite
#define Retv_Fstatat64
#define Args_Fdatasync
#define Retv_Pwrite64
#define Args_Fclose
#define Args_Ftell
#define Args_Rmdir
#define Retv_Mkdir
#define Retv_Seekdir
#define Retv_Rewinddir
#define Args_Readdir
#define Args_Rewinddir
#define Args_Getxattr
#define Retv_Fdatasync
#define Retv_Fflush
#define Retv_Readdir
#define Retv_Fread
#define Retv_Open64
#define Retv_Stat64
#define Retv_Ftruncate64
#define Args_Statvfs
#define Retv_Writev
#define Args_Rename
#define Retv_Rename
#define Retv_Fgetxattr
#define Args_Mkdir
#define Args_Pread64
#define Retv_Fseeko
#define Args_Open64
#define Args_Statvfs64
#define Retv_Statfs64
#define Args_Opendir
#define Retv_Pathconf
#define Retv_Read
#define Retv_Readv
#define Args_Readv
#define Args_Pwrite
#define Args_Ftello64
#define Retv_Readdir_r
#define Retv_Fopen
#define Retv_Lseek
#define Retv_Open
#define Args_Unlink
#define Retv_Rmdir
#define Args_Fwrite
#define Args_Lseek64
#define Args_Lseek
#define Retv_Openat64
Retv_Opendir(* Opendir)(Args_Opendir)
Retv_Mkdir(* Mkdir)(Args_Mkdir)
Retv_Fcntl(* Fcntl)(Args_Fcntl)
int Init(int *X=0)
Retv_Readdir64(* Readdir64)(Args_Readdir64)
Retv_Fflush(* Fflush)(Args_Fflush)
Retv_Fstat64(* Fstat64)(Args_Fstat64)
Retv_Fclose(* Fclose)(Args_Fclose)
Retv_Fseek(* Fseek)(Args_Fseek)
Retv_Fdatasync(* Fdatasync)(Args_Fdatasync)
Retv_Fwrite(* Fwrite)(Args_Fwrite)
Retv_Acl(* Acl)(Args_Acl)
Retv_Statx(* Statx)(Args_Statx)
Retv_Writev(* Writev)(Args_Writev)
Retv_Read(* Read)(Args_Read)
Retv_Stat(* Stat)(Args_Stat)
Retv_Fseeko(* Fseeko)(Args_Fseeko)
Retv_Fsync(* Fsync)(Args_Fsync)
Retv_Rename(* Rename)(Args_Rename)
Retv_Close(* Close)(Args_Close)
Retv_Statfs64(* Statfs64)(Args_Statfs64)
Retv_Statvfs(* Statvfs)(Args_Statvfs)
Retv_Lgetxattr(* Lgetxattr)(Args_Lgetxattr)
Retv_Ftruncate64(* Ftruncate64)(Args_Ftruncate64)
Retv_Lseek(* Lseek)(Args_Lseek)
Retv_Ftello(* Ftello)(Args_Ftello)
Retv_Pread(* Pread)(Args_Pread)
Retv_Rewinddir(* Rewinddir)(Args_Rewinddir)
Retv_Readdir(* Readdir)(Args_Readdir)
Retv_Lseek64(* Lseek64)(Args_Lseek64)
Retv_Statvfs64(* Statvfs64)(Args_Statvfs64)
Retv_Truncate64(* Truncate64)(Args_Truncate64)
Retv_Truncate(* Truncate)(Args_Truncate)
Retv_Ftell(* Ftell)(Args_Ftell)
Retv_Fread(* Fread)(Args_Fread)
Retv_Fstatat64(* Fstatat64)(Args_Fstatat64)
Retv_Open64(* Open64)(Args_Open64)
Retv_Fopen64(* Fopen64)(Args_Fopen64)
Retv_Fopen(* Fopen)(Args_Fopen)
Retv_Telldir(* Telldir)(Args_Telldir)
Retv_Fseeko64(* Fseeko64)(Args_Fseeko64)
Retv_Readv(* Readv)(Args_Readv)
Retv_Stat64(* Stat64)(Args_Stat64)
Retv_Fstatat(* Fstatat)(Args_Fstatat)
Retv_Statfs(* Statfs)(Args_Statfs)
Retv_Pwrite(* Pwrite)(Args_Pwrite)
Retv_Pread64(* Pread64)(Args_Pread64)
Retv_Readdir64_r(* Readdir64_r)(Args_Readdir64_r)
Retv_Fcntl64(* Fcntl64)(Args_Fcntl64)
Retv_Seekdir(* Seekdir)(Args_Seekdir)
Retv_Lstat64(* Lstat64)(Args_Lstat64)
Retv_Chdir(* Chdir)(Args_Chdir)
Retv_Getxattr(* Getxattr)(Args_Getxattr)
Retv_Open(* Open)(Args_Open)
Retv_Access(* Access)(Args_Access)
Retv_Ftruncate(* Ftruncate)(Args_Ftruncate)
Retv_Openat64(* Openat64)(Args_Openat64)
Retv_Closedir(* Closedir)(Args_Closedir)
Retv_Pathconf(* Pathconf)(Args_Pathconf)
Retv_Lstat(* Lstat)(Args_Lstat)
Retv_Write(* Write)(Args_Write)
Retv_Readdir_r(* Readdir_r)(Args_Readdir_r)
Retv_Openat(* Openat)(Args_Openat)
Retv_Rmdir(* Rmdir)(Args_Rmdir)
Retv_Fgetxattr(* Fgetxattr)(Args_Fgetxattr)
Retv_Fstat(* Fstat)(Args_Fstat)
Retv_Unlink(* Unlink)(Args_Unlink)
Retv_Pwrite64(* Pwrite64)(Args_Pwrite64)
int Load_Error(const char *epname, int retv=-1)
Retv_Ftello64(* Ftello64)(Args_Ftello64)