Loading...
Searching...
No Matches
XrdPosixLinkage.cc
Go to the documentation of this file.
/******************************************************************************/
/* */
/* X r d P o s i x L i n k a g e . c c */
/* */
/* (c) 2005 by the Board of Trustees of the Leland Stanford, Jr., University */
/* All Rights Reserved */
/* Produced by Andrew Hanushevsky for Stanford University under contract */
/* DE-AC02-76-SFO0515 with the Department of Energy */
/* */
/* This file is part of the XRootD software suite. */
/* */
/* XRootD is free software: you can redistribute it and/or modify it under */
/* the terms of the GNU Lesser General Public License as published by the */
/* Free Software Foundation, either version 3 of the License, or (at your */
/* option) any later version. */
/* */
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public License */
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
/* */
/* The copyright holder's institutional names and contributor's names may not */
/* be used to endorse or promote products derived from this software without */
/* specific prior written permission of the institution or contributor. */
/******************************************************************************/
// Bypass Solaris ELF madness
//
#ifdef __solaris__
#include <sys/isa_defs.h>
#if defined(_ILP32) && (_FILE_OFFSET_BITS != 32)
#undef _FILE_OFFSET_BITS
#define _FILE_OFFSET_BITS 32
#undef _LARGEFILE_SOURCE
#endif
#endif
#include <dlfcn.h>
#if !defined(__APPLE__) && !defined(__CYGWIN__)
#include <link.h>
#endif
#include <cerrno>
#include <cstdio>
#include "XrdSys/XrdSysHeaders.hh"
#include "XrdPosix/XrdPosixLinkage.hh"
/******************************************************************************/
/* G l o b a l D e c l a r a t i o n s */
/******************************************************************************/
XrdPosixLinkage Xunix;
/******************************************************************************/
/* M a c r o L o a d e r */
/******************************************************************************/
#define LOOKUP_UNIX(symb) symb = (Retv_ ## symb (*)(Args_ ## symb)) \
dlsym(RTLD_NEXT, Symb_ ## symb); \
if (!symb) {symb = Xrd_U_ ## symb; \
Missing(Symb_ ## symb);}
/******************************************************************************/
/* U n r e s o l v e d R e f e r e n c e L i n k a g e */
/******************************************************************************/
Retv_Access Xrd_U_Access(Args_Access)
{return (Retv_Access)Xunix.Load_Error("access");}
#if !defined(__APPLE__) and !defined(__linux__)
Retv_Acl Xrd_U_Acl(Args_Acl)
{return (Retv_Acl)Xunix.Load_Error("acl");}
#endif
Retv_Chdir Xrd_U_Chdir(Args_Chdir)
{return (Retv_Chdir)Xunix.Load_Error("chdir");}
Retv_Close Xrd_U_Close(Args_Close)
{return (Retv_Close)Xunix.Load_Error("close");}
Retv_Closedir Xrd_U_Closedir(Args_Closedir)
{return (Retv_Closedir)Xunix.Load_Error("closedir");}
Retv_Fclose Xrd_U_Fclose(Args_Fclose)
{return (Retv_Fclose)Xunix.Load_Error("fclose");}
Retv_Fcntl Xrd_U_Fcntl(Args_Fcntl)
{Xunix.Load_Error("fcntl"); return (Retv_Fcntl)0;}
Retv_Fcntl64 Xrd_U_Fcntl64(Args_Fcntl64)
{Xunix.Load_Error("fcntl"); return (Retv_Fcntl64)0;}
Retv_Fdatasync Xrd_U_Fdatasync(Args_Fdatasync)
{return (Retv_Fdatasync)Xunix.Load_Error("fdatasync");}
Retv_Fflush Xrd_U_Fflush(Args_Fflush)
{return (Retv_Fflush)Xunix.Load_Error("fflush");}
Retv_Fopen Xrd_U_Fopen(Args_Fopen)
{Xunix.Load_Error("fopen"); return (Retv_Fopen)0;}
Retv_Fopen64 Xrd_U_Fopen64(Args_Fopen64)
{Xunix.Load_Error("fopen"); return (Retv_Fopen64)0;}
Retv_Fread Xrd_U_Fread(Args_Fread)
{return (Retv_Fread)Xunix.Load_Error("fread");}
Retv_Fseek Xrd_U_Fseek(Args_Fseek)
{return (Retv_Fseek)Xunix.Load_Error("fseek");}
Retv_Fseeko Xrd_U_Fseeko(Args_Fseeko)
{return (Retv_Fseeko)Xunix.Load_Error("fseeko");}
Retv_Fseeko64 Xrd_U_Fseeko64(Args_Fseeko64)
{return (Retv_Fseeko64)Xunix.Load_Error("fseeko64");}
Retv_Fstat Xrd_U_Fstat(Args_Fstat)
{return (Retv_Fstat)Xunix.Load_Error("fstat");}
Retv_Fstat64 Xrd_U_Fstat64(Args_Fstat64)
{return (Retv_Fstat64)Xunix.Load_Error("fstat64");}
Retv_Fsync Xrd_U_Fsync(Args_Fsync)
{return (Retv_Fsync)Xunix.Load_Error("fsync");}
Retv_Ftell Xrd_U_Ftell(Args_Ftell)
{return (Retv_Ftell)Xunix.Load_Error("ftell");}
Retv_Ftello Xrd_U_Ftello(Args_Ftello)
{return (Retv_Ftello)Xunix.Load_Error("ftello");}
Retv_Ftello64 Xrd_U_Ftello64(Args_Ftello64)
{return (Retv_Ftello64)Xunix.Load_Error("ftello64");}
Retv_Ftruncate Xrd_U_Ftruncate(Args_Ftruncate)
{return (Retv_Ftruncate)Xunix.Load_Error("ftruncate");}
Retv_Ftruncate64 Xrd_U_Ftruncate64(Args_Ftruncate64)
{return (Retv_Ftruncate64)Xunix.Load_Error("ftruncate64");}
Retv_Fwrite Xrd_U_Fwrite(Args_Fwrite)
{return (Retv_Fwrite)Xunix.Load_Error("fwrite");}
Retv_Fgetxattr Xrd_U_Fgetxattr(Args_Fgetxattr)
{return (Retv_Fgetxattr)Xunix.Load_Error("fgetxattr");}
Retv_Getxattr Xrd_U_Getxattr(Args_Getxattr)
{return (Retv_Getxattr)Xunix.Load_Error("getxattr");}
#ifndef __APPLE__
Retv_Lgetxattr Xrd_U_Lgetxattr(Args_Lgetxattr)
{return (Retv_Lgetxattr)Xunix.Load_Error("lgetxattr");}
#endif
Retv_Lseek Xrd_U_Lseek(Args_Lseek)
{return (Retv_Lseek)Xunix.Load_Error("lseek");}
Retv_Lseek64 Xrd_U_Lseek64(Args_Lseek64)
{return (Retv_Lseek64)Xunix.Load_Error("lseek");}
Retv_Lstat Xrd_U_Lstat(Args_Lstat)
{return (Retv_Lstat)Xunix.Load_Error("lstat");}
Retv_Lstat64 Xrd_U_Lstat64(Args_Lstat64)
{return (Retv_Lstat64)Xunix.Load_Error("lstat");}
Retv_Mkdir Xrd_U_Mkdir(Args_Mkdir)
{return (Retv_Mkdir)Xunix.Load_Error("mkdir");}
Retv_Open Xrd_U_Open(Args_Open)
{return (Retv_Open)Xunix.Load_Error("open");}
Retv_Open64 Xrd_U_Open64(Args_Open64)
{return (Retv_Open64)Xunix.Load_Error("open");}
Retv_Opendir Xrd_U_Opendir(Args_Opendir)
{Xunix.Load_Error("opendir"); return (Retv_Opendir)0;}
Retv_Pathconf Xrd_U_Pathconf(Args_Pathconf)
{return (Retv_Pathconf)Xunix.Load_Error("pathconf");}
Retv_Pread Xrd_U_Pread(Args_Pread)
{return (Retv_Pread)Xunix.Load_Error("pread");}
Retv_Pread64 Xrd_U_Pread64(Args_Pread64)
{return (Retv_Pread64)Xunix.Load_Error("pread");}
Retv_Pwrite Xrd_U_Pwrite(Args_Pwrite)
{return (Retv_Pwrite)Xunix.Load_Error("pwrite");}
Retv_Pwrite64 Xrd_U_Pwrite64(Args_Pwrite64)
{return (Retv_Pwrite64)Xunix.Load_Error("pwrite");}
Retv_Read Xrd_U_Read(Args_Read)
{return (Retv_Read)Xunix.Load_Error("read");}
Retv_Readv Xrd_U_Readv(Args_Readv)
{return (Retv_Readv)Xunix.Load_Error("readv");}
Retv_Readdir Xrd_U_Readdir(Args_Readdir)
{Xunix.Load_Error("readdir"); return (Retv_Readdir)0;}
Retv_Readdir64 Xrd_U_Readdir64(Args_Readdir64)
{Xunix.Load_Error("readdir64");return (Retv_Readdir64)0;}
Retv_Readdir_r Xrd_U_Readdir_r(Args_Readdir_r)
{return (Retv_Readdir_r)Xunix.Load_Error("readdir_r", ELIBACC);}
Retv_Readdir64_r Xrd_U_Readdir64_r(Args_Readdir64_r)
{return (Retv_Readdir64_r)Xunix.Load_Error("readdir64_r", ELIBACC);}
Retv_Rename Xrd_U_Rename(Args_Rename)
{return (Retv_Rename)Xunix.Load_Error("rename");}
Retv_Rewinddir Xrd_U_Rewinddir(Args_Rewinddir)
{ Xunix.Load_Error("rewinddir"); abort();}
Retv_Rmdir Xrd_U_Rmdir(Args_Rmdir)
{return (Retv_Rmdir)Xunix.Load_Error("rmdir");}
Retv_Seekdir Xrd_U_Seekdir(Args_Seekdir)
{ Xunix.Load_Error("seekdir"); abort();}
Retv_Stat Xrd_U_Stat(Args_Stat)
{return (Retv_Stat)Xunix.Load_Error("stat");}
Retv_Stat64 Xrd_U_Stat64(Args_Stat64)
{return (Retv_Stat64)Xunix.Load_Error("stat");}
Retv_Statfs Xrd_U_Statfs(Args_Statfs)
{return (Retv_Statfs)Xunix.Load_Error("statfs");}
Retv_Statfs64 Xrd_U_Statfs64(Args_Statfs64)
{return (Retv_Statfs64)Xunix.Load_Error("statfs64");}
Retv_Statvfs Xrd_U_Statvfs(Args_Statvfs)
{return (Retv_Statvfs)Xunix.Load_Error("statvfs");}
Retv_Statvfs64 Xrd_U_Statvfs64(Args_Statvfs64)
{return (Retv_Statvfs64)Xunix.Load_Error("statvfs64");}
Retv_Telldir Xrd_U_Telldir(Args_Telldir)
{return (Retv_Telldir)Xunix.Load_Error("telldir");}
Retv_Truncate Xrd_U_Truncate(Args_Truncate)
{return (Retv_Truncate)Xunix.Load_Error("truncate");}
Retv_Truncate64 Xrd_U_Truncate64(Args_Truncate64)
{return (Retv_Truncate64)Xunix.Load_Error("truncate64");}
Retv_Unlink Xrd_U_Unlink(Args_Unlink)
{return (Retv_Unlink)Xunix.Load_Error("unlink");}
Retv_Write Xrd_U_Write(Args_Write)
{return (Retv_Write)Xunix.Load_Error("write");}
Retv_Writev Xrd_U_Writev(Args_Writev)
{return (Retv_Writev)Xunix.Load_Error("writev");}
/******************************************************************************/
/* X r d P o s i x L i n k a g e C o n s t r u c t o r */
/******************************************************************************/
int XrdPosixLinkage::Resolve()
{
LOOKUP_UNIX(Access)
#if !defined(__APPLE__) and !defined(__linux__)
LOOKUP_UNIX(Acl)
#endif
LOOKUP_UNIX(Chdir)
LOOKUP_UNIX(Close)
LOOKUP_UNIX(Closedir)
LOOKUP_UNIX(Fclose)
LOOKUP_UNIX(Fcntl)
LOOKUP_UNIX(Fcntl64)
LOOKUP_UNIX(Fdatasync)
LOOKUP_UNIX(Fflush)
LOOKUP_UNIX(Fopen)
LOOKUP_UNIX(Fopen64)
LOOKUP_UNIX(Fread)
LOOKUP_UNIX(Fseek)
LOOKUP_UNIX(Fseeko)
LOOKUP_UNIX(Fseeko64)
LOOKUP_UNIX(Fstat)
LOOKUP_UNIX(Fstat64)
LOOKUP_UNIX(Fsync)
LOOKUP_UNIX(Ftell)
LOOKUP_UNIX(Ftello)
LOOKUP_UNIX(Ftello64)
LOOKUP_UNIX(Ftruncate)
LOOKUP_UNIX(Ftruncate64)
LOOKUP_UNIX(Fwrite)
LOOKUP_UNIX(Fgetxattr)
LOOKUP_UNIX(Getxattr)
#ifndef __APPLE__
LOOKUP_UNIX(Lgetxattr)
#endif
LOOKUP_UNIX(Lseek)
LOOKUP_UNIX(Lseek64)
LOOKUP_UNIX(Lstat)
LOOKUP_UNIX(Lstat64)
LOOKUP_UNIX(Fsync)
LOOKUP_UNIX(Mkdir)
LOOKUP_UNIX(Open)
LOOKUP_UNIX(Open64)
LOOKUP_UNIX(Opendir)
LOOKUP_UNIX(Pathconf)
LOOKUP_UNIX(Pread)
LOOKUP_UNIX(Pread64)
LOOKUP_UNIX(Pwrite)
LOOKUP_UNIX(Pwrite64)
LOOKUP_UNIX(Read)
LOOKUP_UNIX(Readv)
LOOKUP_UNIX(Readdir)
LOOKUP_UNIX(Readdir64)
LOOKUP_UNIX(Readdir_r)
LOOKUP_UNIX(Readdir64_r)
LOOKUP_UNIX(Rename)
LOOKUP_UNIX(Rewinddir)
LOOKUP_UNIX(Rmdir)
LOOKUP_UNIX(Seekdir)
LOOKUP_UNIX(Stat)
LOOKUP_UNIX(Stat64)
LOOKUP_UNIX(Statfs)
LOOKUP_UNIX(Statfs64)
LOOKUP_UNIX(Statvfs)
LOOKUP_UNIX(Statvfs64)
LOOKUP_UNIX(Telldir)
LOOKUP_UNIX(Truncate)
LOOKUP_UNIX(Truncate64)
LOOKUP_UNIX(Unlink)
LOOKUP_UNIX(Write)
LOOKUP_UNIX(Writev)
if (getenv("XRDPOSIX_REPORT")) Missing(0);
return 1;
}
/******************************************************************************/
/* X r d P o s i x L i n k a g e : : L o a d _ E r r o r */
/******************************************************************************/
int XrdPosixLinkage::Load_Error(const char *epname, int retv)
{
if (*Write != &Xrd_U_Write && *Writev != &Xrd_U_Writev)
std::cerr << "PosixPreload: Unable to resolve Unix '" <<epname <<"()'" <<std::endl;
errno = ELIBACC;
return retv;
}
/******************************************************************************/
/* M i s s i n g */
/******************************************************************************/
void XrdPosixLinkage::Missing(const char *epname)
{
struct Missing
{struct Missing *Next;
const char *What;
Missing(Missing *Prev, const char *That)
: Next(Prev), What(That) {}
~Missing() {}
};
static Missing *epList = 0;
if (epname) epList = new Missing(epList, epname);
else {
Missing *np = epList;
while(np){
fprintf(stderr, "PosixPreload: Unable to resolve Unix '%s()\n", np->What);
np = np->Next;
}
}
}
Xrd_U_Lstat64
Retv_Lstat64 Xrd_U_Lstat64(Args_Lstat64)
Definition XrdPosixLinkage.cc:138
Xrd_U_Readdir_r
Retv_Readdir_r Xrd_U_Readdir_r(Args_Readdir_r)
Definition XrdPosixLinkage.cc:166
Xrd_U_Read
Retv_Read Xrd_U_Read(Args_Read)
Definition XrdPosixLinkage.cc:158
Xrd_U_Fopen64
Retv_Fopen64 Xrd_U_Fopen64(Args_Fopen64)
Definition XrdPosixLinkage.cc:96
Xrd_U_Readdir64
Retv_Readdir64 Xrd_U_Readdir64(Args_Readdir64)
Definition XrdPosixLinkage.cc:164
Xrd_U_Fopen
Retv_Fopen Xrd_U_Fopen(Args_Fopen)
Definition XrdPosixLinkage.cc:94
Xrd_U_Fread
Retv_Fread Xrd_U_Fread(Args_Fread)
Definition XrdPosixLinkage.cc:98
Xrd_U_Fgetxattr
Retv_Fgetxattr Xrd_U_Fgetxattr(Args_Fgetxattr)
Definition XrdPosixLinkage.cc:124
Xrd_U_Statfs
Retv_Statfs Xrd_U_Statfs(Args_Statfs)
Definition XrdPosixLinkage.cc:182
Xrd_U_Readdir64_r
Retv_Readdir64_r Xrd_U_Readdir64_r(Args_Readdir64_r)
Definition XrdPosixLinkage.cc:168
Xrd_U_Stat64
Retv_Stat64 Xrd_U_Stat64(Args_Stat64)
Definition XrdPosixLinkage.cc:180
Xrd_U_Ftello64
Retv_Ftello64 Xrd_U_Ftello64(Args_Ftello64)
Definition XrdPosixLinkage.cc:116
Xrd_U_Fwrite
Retv_Fwrite Xrd_U_Fwrite(Args_Fwrite)
Definition XrdPosixLinkage.cc:122
Xrd_U_Ftell
Retv_Ftell Xrd_U_Ftell(Args_Ftell)
Definition XrdPosixLinkage.cc:112
Xrd_U_Fclose
Retv_Fclose Xrd_U_Fclose(Args_Fclose)
Definition XrdPosixLinkage.cc:84
Xrd_U_Truncate
Retv_Truncate Xrd_U_Truncate(Args_Truncate)
Definition XrdPosixLinkage.cc:192
Xrd_U_Readdir
Retv_Readdir Xrd_U_Readdir(Args_Readdir)
Definition XrdPosixLinkage.cc:162
Xrd_U_Lseek
Retv_Lseek Xrd_U_Lseek(Args_Lseek)
Definition XrdPosixLinkage.cc:132
Xrd_U_Chdir
Retv_Chdir Xrd_U_Chdir(Args_Chdir)
Definition XrdPosixLinkage.cc:78
Xrd_U_Rename
Retv_Rename Xrd_U_Rename(Args_Rename)
Definition XrdPosixLinkage.cc:170
Xrd_U_Lstat
Retv_Lstat Xrd_U_Lstat(Args_Lstat)
Definition XrdPosixLinkage.cc:136
Xrd_U_Truncate64
Retv_Truncate64 Xrd_U_Truncate64(Args_Truncate64)
Definition XrdPosixLinkage.cc:194
Xrd_U_Mkdir
Retv_Mkdir Xrd_U_Mkdir(Args_Mkdir)
Definition XrdPosixLinkage.cc:140
Xrd_U_Statvfs
Retv_Statvfs Xrd_U_Statvfs(Args_Statvfs)
Definition XrdPosixLinkage.cc:186
Xrd_U_Statfs64
Retv_Statfs64 Xrd_U_Statfs64(Args_Statfs64)
Definition XrdPosixLinkage.cc:184
Xrd_U_Acl
Retv_Acl Xrd_U_Acl(Args_Acl)
Definition XrdPosixLinkage.cc:75
Xrd_U_Readv
Retv_Readv Xrd_U_Readv(Args_Readv)
Definition XrdPosixLinkage.cc:160
Xrd_U_Fseek
Retv_Fseek Xrd_U_Fseek(Args_Fseek)
Definition XrdPosixLinkage.cc:100
Xrd_U_Fdatasync
Retv_Fdatasync Xrd_U_Fdatasync(Args_Fdatasync)
Definition XrdPosixLinkage.cc:90
Xrd_U_Lgetxattr
Retv_Lgetxattr Xrd_U_Lgetxattr(Args_Lgetxattr)
Definition XrdPosixLinkage.cc:129
Xrd_U_Ftello
Retv_Ftello Xrd_U_Ftello(Args_Ftello)
Definition XrdPosixLinkage.cc:114
Xrd_U_Pread
Retv_Pread Xrd_U_Pread(Args_Pread)
Definition XrdPosixLinkage.cc:150
Xrd_U_Fseeko
Retv_Fseeko Xrd_U_Fseeko(Args_Fseeko)
Definition XrdPosixLinkage.cc:102
Xrd_U_Pathconf
Retv_Pathconf Xrd_U_Pathconf(Args_Pathconf)
Definition XrdPosixLinkage.cc:148
Xrd_U_Seekdir
Retv_Seekdir Xrd_U_Seekdir(Args_Seekdir)
Definition XrdPosixLinkage.cc:176
Xrd_U_Getxattr
Retv_Getxattr Xrd_U_Getxattr(Args_Getxattr)
Definition XrdPosixLinkage.cc:126
Xrd_U_Fseeko64
Retv_Fseeko64 Xrd_U_Fseeko64(Args_Fseeko64)
Definition XrdPosixLinkage.cc:104
Xrd_U_Fcntl64
Retv_Fcntl64 Xrd_U_Fcntl64(Args_Fcntl64)
Definition XrdPosixLinkage.cc:88
Xrd_U_Ftruncate
Retv_Ftruncate Xrd_U_Ftruncate(Args_Ftruncate)
Definition XrdPosixLinkage.cc:118
Xrd_U_Unlink
Retv_Unlink Xrd_U_Unlink(Args_Unlink)
Definition XrdPosixLinkage.cc:196
Xrd_U_Writev
Retv_Writev Xrd_U_Writev(Args_Writev)
Definition XrdPosixLinkage.cc:200
Xrd_U_Fcntl
Retv_Fcntl Xrd_U_Fcntl(Args_Fcntl)
Definition XrdPosixLinkage.cc:86
Xrd_U_Fstat
Retv_Fstat Xrd_U_Fstat(Args_Fstat)
Definition XrdPosixLinkage.cc:106
Xrd_U_Pwrite64
Retv_Pwrite64 Xrd_U_Pwrite64(Args_Pwrite64)
Definition XrdPosixLinkage.cc:156
Xrd_U_Fflush
Retv_Fflush Xrd_U_Fflush(Args_Fflush)
Definition XrdPosixLinkage.cc:92
Xrd_U_Rmdir
Retv_Rmdir Xrd_U_Rmdir(Args_Rmdir)
Definition XrdPosixLinkage.cc:174
Xrd_U_Write
Retv_Write Xrd_U_Write(Args_Write)
Definition XrdPosixLinkage.cc:198
Xrd_U_Stat
Retv_Stat Xrd_U_Stat(Args_Stat)
Definition XrdPosixLinkage.cc:178
Xrd_U_Closedir
Retv_Closedir Xrd_U_Closedir(Args_Closedir)
Definition XrdPosixLinkage.cc:82
Xrd_U_Open64
Retv_Open64 Xrd_U_Open64(Args_Open64)
Definition XrdPosixLinkage.cc:144
Xrd_U_Pwrite
Retv_Pwrite Xrd_U_Pwrite(Args_Pwrite)
Definition XrdPosixLinkage.cc:154
Xrd_U_Fstat64
Retv_Fstat64 Xrd_U_Fstat64(Args_Fstat64)
Definition XrdPosixLinkage.cc:108
Xrd_U_Rewinddir
Retv_Rewinddir Xrd_U_Rewinddir(Args_Rewinddir)
Definition XrdPosixLinkage.cc:172
Xrd_U_Opendir
Retv_Opendir Xrd_U_Opendir(Args_Opendir)
Definition XrdPosixLinkage.cc:146
Xrd_U_Fsync
Retv_Fsync Xrd_U_Fsync(Args_Fsync)
Definition XrdPosixLinkage.cc:110
Xrd_U_Pread64
Retv_Pread64 Xrd_U_Pread64(Args_Pread64)
Definition XrdPosixLinkage.cc:152
Xrd_U_Lseek64
Retv_Lseek64 Xrd_U_Lseek64(Args_Lseek64)
Definition XrdPosixLinkage.cc:134
Xrd_U_Access
Retv_Access Xrd_U_Access(Args_Access)
Definition XrdPosixLinkage.cc:72
Xrd_U_Ftruncate64
Retv_Ftruncate64 Xrd_U_Ftruncate64(Args_Ftruncate64)
Definition XrdPosixLinkage.cc:120
Xrd_U_Statvfs64
Retv_Statvfs64 Xrd_U_Statvfs64(Args_Statvfs64)
Definition XrdPosixLinkage.cc:188
Xrd_U_Open
Retv_Open Xrd_U_Open(Args_Open)
Definition XrdPosixLinkage.cc:142
Xrd_U_Close
Retv_Close Xrd_U_Close(Args_Close)
Definition XrdPosixLinkage.cc:80
Xrd_U_Telldir
Retv_Telldir Xrd_U_Telldir(Args_Telldir)
Definition XrdPosixLinkage.cc:190
LOOKUP_UNIX
#define LOOKUP_UNIX(symb)
Definition XrdPosixLinkage.cc:63
XrdPosixLinkage.hh
Args_Fseeko64
#define Args_Fseeko64
Definition XrdPosixLinkage.hh:135
Retv_Truncate
#define Retv_Truncate
Definition XrdPosixLinkage.hh:421
Args_Readdir64_r
#define Args_Readdir64_r
Definition XrdPosixLinkage.hh:343
Retv_Telldir
#define Retv_Telldir
Definition XrdPosixLinkage.hh:417
Args_Fseeko
#define Args_Fseeko
Definition XrdPosixLinkage.hh:126
Args_Pread
#define Args_Pread
Definition XrdPosixLinkage.hh:284
Retv_Pread64
#define Retv_Pread64
Definition XrdPosixLinkage.hh:292
Retv_Fwrite
#define Retv_Fwrite
Definition XrdPosixLinkage.hh:201
Retv_Lstat
#define Retv_Lstat
Definition XrdPosixLinkage.hh:236
Args_Lgetxattr
#define Args_Lgetxattr
Definition XrdPosixLinkage.hh:214
Args_Fcntl64
#define Args_Fcntl64
Definition XrdPosixLinkage.hh:91
Retv_Truncate64
#define Retv_Truncate64
Definition XrdPosixLinkage.hh:430
Args_Lstat
#define Args_Lstat
Definition XrdPosixLinkage.hh:237
Args_Fopen64
#define Args_Fopen64
Definition XrdPosixLinkage.hh:113
Retv_Fseek
#define Retv_Fseek
Definition XrdPosixLinkage.hh:121
Retv_Ftello64
#define Retv_Ftello64
Definition XrdPosixLinkage.hh:182
Args_Seekdir
#define Args_Seekdir
Definition XrdPosixLinkage.hh:360
Retv_Fcntl
#define Retv_Fcntl
Definition XrdPosixLinkage.hh:81
Args_Read
#define Args_Read
Definition XrdPosixLinkage.hh:312
Args_Write
#define Args_Write
Definition XrdPosixLinkage.hh:440
Args_Writev
#define Args_Writev
Definition XrdPosixLinkage.hh:444
Args_Readdir64
#define Args_Readdir64
Definition XrdPosixLinkage.hh:329
Args_Telldir
#define Args_Telldir
Definition XrdPosixLinkage.hh:418
Retv_Close
#define Retv_Close
Definition XrdPosixLinkage.hh:69
Retv_Statvfs64
#define Retv_Statvfs64
Definition XrdPosixLinkage.hh:412
Args_Fcntl
#define Args_Fcntl
Definition XrdPosixLinkage.hh:82
Retv_Statfs
#define Retv_Statfs
Definition XrdPosixLinkage.hh:389
Retv_Fcntl64
#define Retv_Fcntl64
Definition XrdPosixLinkage.hh:90
Args_Truncate
#define Args_Truncate
Definition XrdPosixLinkage.hh:422
Args_Acl
#define Args_Acl
Definition XrdPosixLinkage.hh:62
Args_Fopen
#define Args_Fopen
Definition XrdPosixLinkage.hh:104
Retv_Unlink
#define Retv_Unlink
Definition XrdPosixLinkage.hh:435
Args_Fseek
#define Args_Fseek
Definition XrdPosixLinkage.hh:122
Retv_Readdir64
#define Retv_Readdir64
Definition XrdPosixLinkage.hh:328
Args_Closedir
#define Args_Closedir
Definition XrdPosixLinkage.hh:74
Args_Stat64
#define Args_Stat64
Definition XrdPosixLinkage.hh:384
Retv_Statvfs
#define Retv_Statvfs
Definition XrdPosixLinkage.hh:403
Args_Ftello
#define Args_Ftello
Definition XrdPosixLinkage.hh:174
Args_Fgetxattr
#define Args_Fgetxattr
Definition XrdPosixLinkage.hh:206
Retv_Ftello
#define Retv_Ftello
Definition XrdPosixLinkage.hh:173
Args_Access
#define Args_Access
Definition XrdPosixLinkage.hh:58
Args_Statfs64
#define Args_Statfs64
Definition XrdPosixLinkage.hh:399
Retv_Stat
#define Retv_Stat
Definition XrdPosixLinkage.hh:368
Retv_Getxattr
#define Retv_Getxattr
Definition XrdPosixLinkage.hh:209
Retv_Write
#define Retv_Write
Definition XrdPosixLinkage.hh:439
Retv_Closedir
#define Retv_Closedir
Definition XrdPosixLinkage.hh:73
Args_Statfs
#define Args_Statfs
Definition XrdPosixLinkage.hh:390
Retv_Fstat64
#define Retv_Fstat64
Definition XrdPosixLinkage.hh:159
Args_Fread
#define Args_Fread
Definition XrdPosixLinkage.hh:118
Args_Fsync
#define Args_Fsync
Definition XrdPosixLinkage.hh:166
Args_Stat
#define Args_Stat
Definition XrdPosixLinkage.hh:369
Retv_Access
#define Retv_Access
Definition XrdPosixLinkage.hh:57
Retv_Lseek64
#define Retv_Lseek64
Definition XrdPosixLinkage.hh:226
Retv_Fsync
#define Retv_Fsync
Definition XrdPosixLinkage.hh:165
Args_Open
#define Args_Open
Definition XrdPosixLinkage.hh:262
Retv_Ftruncate
#define Retv_Ftruncate
Definition XrdPosixLinkage.hh:187
Args_Ftruncate
#define Args_Ftruncate
Definition XrdPosixLinkage.hh:188
Retv_Fstat
#define Retv_Fstat
Definition XrdPosixLinkage.hh:144
Retv_Chdir
#define Retv_Chdir
Definition XrdPosixLinkage.hh:65
Retv_Fclose
#define Retv_Fclose
Definition XrdPosixLinkage.hh:77
Retv_Lstat64
#define Retv_Lstat64
Definition XrdPosixLinkage.hh:251
Args_Fstat
#define Args_Fstat
Definition XrdPosixLinkage.hh:145
Retv_Fseeko64
#define Retv_Fseeko64
Definition XrdPosixLinkage.hh:134
Args_Fflush
#define Args_Fflush
Definition XrdPosixLinkage.hh:100
Args_Lstat64
#define Args_Lstat64
Definition XrdPosixLinkage.hh:252
Retv_Pread
#define Retv_Pread
Definition XrdPosixLinkage.hh:283
Args_Close
#define Args_Close
Definition XrdPosixLinkage.hh:70
Retv_Opendir
#define Retv_Opendir
Definition XrdPosixLinkage.hh:275
Retv_Lgetxattr
#define Retv_Lgetxattr
Definition XrdPosixLinkage.hh:213
Args_Pwrite64
#define Args_Pwrite64
Definition XrdPosixLinkage.hh:307
Args_Chdir
#define Args_Chdir
Definition XrdPosixLinkage.hh:66
Args_Pathconf
#define Args_Pathconf
Definition XrdPosixLinkage.hh:280
Retv_Fopen64
#define Retv_Fopen64
Definition XrdPosixLinkage.hh:112
Retv_Readdir64_r
#define Retv_Readdir64_r
Definition XrdPosixLinkage.hh:342
Args_Readdir_r
#define Args_Readdir_r
Definition XrdPosixLinkage.hh:334
Args_Fstat64
#define Args_Fstat64
Definition XrdPosixLinkage.hh:160
Retv_Ftell
#define Retv_Ftell
Definition XrdPosixLinkage.hh:169
Args_Truncate64
#define Args_Truncate64
Definition XrdPosixLinkage.hh:431
Retv_Acl
#define Retv_Acl
Definition XrdPosixLinkage.hh:61
Args_Ftruncate64
#define Args_Ftruncate64
Definition XrdPosixLinkage.hh:197
Retv_Pwrite
#define Retv_Pwrite
Definition XrdPosixLinkage.hh:297
Args_Fdatasync
#define Args_Fdatasync
Definition XrdPosixLinkage.hh:96
Retv_Pwrite64
#define Retv_Pwrite64
Definition XrdPosixLinkage.hh:306
Args_Fclose
#define Args_Fclose
Definition XrdPosixLinkage.hh:78
Args_Ftell
#define Args_Ftell
Definition XrdPosixLinkage.hh:170
Args_Rmdir
#define Args_Rmdir
Definition XrdPosixLinkage.hh:356
Retv_Mkdir
#define Retv_Mkdir
Definition XrdPosixLinkage.hh:257
Retv_Seekdir
#define Retv_Seekdir
Definition XrdPosixLinkage.hh:359
Retv_Rewinddir
#define Retv_Rewinddir
Definition XrdPosixLinkage.hh:351
Args_Readdir
#define Args_Readdir
Definition XrdPosixLinkage.hh:320
Args_Rewinddir
#define Args_Rewinddir
Definition XrdPosixLinkage.hh:352
Args_Getxattr
#define Args_Getxattr
Definition XrdPosixLinkage.hh:210
Retv_Fdatasync
#define Retv_Fdatasync
Definition XrdPosixLinkage.hh:95
Retv_Fflush
#define Retv_Fflush
Definition XrdPosixLinkage.hh:99
Retv_Readdir
#define Retv_Readdir
Definition XrdPosixLinkage.hh:319
Retv_Fread
#define Retv_Fread
Definition XrdPosixLinkage.hh:117
Retv_Open64
#define Retv_Open64
Definition XrdPosixLinkage.hh:270
Retv_Stat64
#define Retv_Stat64
Definition XrdPosixLinkage.hh:383
Retv_Ftruncate64
#define Retv_Ftruncate64
Definition XrdPosixLinkage.hh:196
Args_Statvfs
#define Args_Statvfs
Definition XrdPosixLinkage.hh:404
Retv_Writev
#define Retv_Writev
Definition XrdPosixLinkage.hh:443
Args_Rename
#define Args_Rename
Definition XrdPosixLinkage.hh:348
Retv_Rename
#define Retv_Rename
Definition XrdPosixLinkage.hh:347
Retv_Fgetxattr
#define Retv_Fgetxattr
Definition XrdPosixLinkage.hh:205
Args_Mkdir
#define Args_Mkdir
Definition XrdPosixLinkage.hh:258
Args_Pread64
#define Args_Pread64
Definition XrdPosixLinkage.hh:293
Retv_Fseeko
#define Retv_Fseeko
Definition XrdPosixLinkage.hh:125
Args_Open64
#define Args_Open64
Definition XrdPosixLinkage.hh:271
Args_Statvfs64
#define Args_Statvfs64
Definition XrdPosixLinkage.hh:413
Retv_Statfs64
#define Retv_Statfs64
Definition XrdPosixLinkage.hh:398
Args_Opendir
#define Args_Opendir
Definition XrdPosixLinkage.hh:276
Retv_Pathconf
#define Retv_Pathconf
Definition XrdPosixLinkage.hh:279
Retv_Read
#define Retv_Read
Definition XrdPosixLinkage.hh:311
Retv_Readv
#define Retv_Readv
Definition XrdPosixLinkage.hh:315
Args_Readv
#define Args_Readv
Definition XrdPosixLinkage.hh:316
Args_Pwrite
#define Args_Pwrite
Definition XrdPosixLinkage.hh:298
Args_Ftello64
#define Args_Ftello64
Definition XrdPosixLinkage.hh:183
Retv_Readdir_r
#define Retv_Readdir_r
Definition XrdPosixLinkage.hh:333
Retv_Fopen
#define Retv_Fopen
Definition XrdPosixLinkage.hh:103
Retv_Lseek
#define Retv_Lseek
Definition XrdPosixLinkage.hh:217
Retv_Open
#define Retv_Open
Definition XrdPosixLinkage.hh:261
Args_Unlink
#define Args_Unlink
Definition XrdPosixLinkage.hh:436
Retv_Rmdir
#define Retv_Rmdir
Definition XrdPosixLinkage.hh:355
Args_Fwrite
#define Args_Fwrite
Definition XrdPosixLinkage.hh:202
Args_Lseek64
#define Args_Lseek64
Definition XrdPosixLinkage.hh:227
Args_Lseek
#define Args_Lseek
Definition XrdPosixLinkage.hh:218
Xunix
XrdPosixLinkage Xunix
Definition XrdPosixLinkage.cc:57
XrdSysHeaders.hh
XrdPosixLinkage
Definition XrdPosixLinkage.hh:451
XrdPosixLinkage::Opendir
Retv_Opendir(* Opendir)(Args_Opendir)
Definition XrdPosixLinkage.hh:489
XrdPosixLinkage::Mkdir
Retv_Mkdir(* Mkdir)(Args_Mkdir)
Definition XrdPosixLinkage.hh:486
XrdPosixLinkage::Fcntl
Retv_Fcntl(* Fcntl)(Args_Fcntl)
Definition XrdPosixLinkage.hh:460
XrdPosixLinkage::Readdir64
Retv_Readdir64(* Readdir64)(Args_Readdir64)
Definition XrdPosixLinkage.hh:498
XrdPosixLinkage::Fflush
Retv_Fflush(* Fflush)(Args_Fflush)
Definition XrdPosixLinkage.hh:463
XrdPosixLinkage::Fstat64
Retv_Fstat64(* Fstat64)(Args_Fstat64)
Definition XrdPosixLinkage.hh:471
XrdPosixLinkage::Fclose
Retv_Fclose(* Fclose)(Args_Fclose)
Definition XrdPosixLinkage.hh:459
XrdPosixLinkage::Fseek
Retv_Fseek(* Fseek)(Args_Fseek)
Definition XrdPosixLinkage.hh:467
XrdPosixLinkage::Fdatasync
Retv_Fdatasync(* Fdatasync)(Args_Fdatasync)
Definition XrdPosixLinkage.hh:462
XrdPosixLinkage::Fwrite
Retv_Fwrite(* Fwrite)(Args_Fwrite)
Definition XrdPosixLinkage.hh:478
XrdPosixLinkage::Acl
Retv_Acl(* Acl)(Args_Acl)
Definition XrdPosixLinkage.hh:455
XrdPosixLinkage::Writev
Retv_Writev(* Writev)(Args_Writev)
Definition XrdPosixLinkage.hh:516
XrdPosixLinkage::Read
Retv_Read(* Read)(Args_Read)
Definition XrdPosixLinkage.hh:495
XrdPosixLinkage::Stat
Retv_Stat(* Stat)(Args_Stat)
Definition XrdPosixLinkage.hh:505
XrdPosixLinkage::Fseeko
Retv_Fseeko(* Fseeko)(Args_Fseeko)
Definition XrdPosixLinkage.hh:468
XrdPosixLinkage::Fsync
Retv_Fsync(* Fsync)(Args_Fsync)
Definition XrdPosixLinkage.hh:472
XrdPosixLinkage::Rename
Retv_Rename(* Rename)(Args_Rename)
Definition XrdPosixLinkage.hh:501
XrdPosixLinkage::Close
Retv_Close(* Close)(Args_Close)
Definition XrdPosixLinkage.hh:457
XrdPosixLinkage::Statfs64
Retv_Statfs64(* Statfs64)(Args_Statfs64)
Definition XrdPosixLinkage.hh:508
XrdPosixLinkage::Statvfs
Retv_Statvfs(* Statvfs)(Args_Statvfs)
Definition XrdPosixLinkage.hh:509
XrdPosixLinkage::Lgetxattr
Retv_Lgetxattr(* Lgetxattr)(Args_Lgetxattr)
Definition XrdPosixLinkage.hh:480
XrdPosixLinkage::Ftruncate64
Retv_Ftruncate64(* Ftruncate64)(Args_Ftruncate64)
Definition XrdPosixLinkage.hh:477
XrdPosixLinkage::Lseek
Retv_Lseek(* Lseek)(Args_Lseek)
Definition XrdPosixLinkage.hh:482
XrdPosixLinkage::Ftello
Retv_Ftello(* Ftello)(Args_Ftello)
Definition XrdPosixLinkage.hh:474
XrdPosixLinkage::Pread
Retv_Pread(* Pread)(Args_Pread)
Definition XrdPosixLinkage.hh:491
XrdPosixLinkage::Rewinddir
Retv_Rewinddir(* Rewinddir)(Args_Rewinddir)
Definition XrdPosixLinkage.hh:502
XrdPosixLinkage::Readdir
Retv_Readdir(* Readdir)(Args_Readdir)
Definition XrdPosixLinkage.hh:497
XrdPosixLinkage::Lseek64
Retv_Lseek64(* Lseek64)(Args_Lseek64)
Definition XrdPosixLinkage.hh:483
XrdPosixLinkage::Statvfs64
Retv_Statvfs64(* Statvfs64)(Args_Statvfs64)
Definition XrdPosixLinkage.hh:510
XrdPosixLinkage::Truncate64
Retv_Truncate64(* Truncate64)(Args_Truncate64)
Definition XrdPosixLinkage.hh:513
XrdPosixLinkage::Truncate
Retv_Truncate(* Truncate)(Args_Truncate)
Definition XrdPosixLinkage.hh:512
XrdPosixLinkage::Ftell
Retv_Ftell(* Ftell)(Args_Ftell)
Definition XrdPosixLinkage.hh:473
XrdPosixLinkage::Fread
Retv_Fread(* Fread)(Args_Fread)
Definition XrdPosixLinkage.hh:466
XrdPosixLinkage::Open64
Retv_Open64(* Open64)(Args_Open64)
Definition XrdPosixLinkage.hh:488
XrdPosixLinkage::Fopen64
Retv_Fopen64(* Fopen64)(Args_Fopen64)
Definition XrdPosixLinkage.hh:465
XrdPosixLinkage::Fopen
Retv_Fopen(* Fopen)(Args_Fopen)
Definition XrdPosixLinkage.hh:464
XrdPosixLinkage::Telldir
Retv_Telldir(* Telldir)(Args_Telldir)
Definition XrdPosixLinkage.hh:511
XrdPosixLinkage::Fseeko64
Retv_Fseeko64(* Fseeko64)(Args_Fseeko64)
Definition XrdPosixLinkage.hh:469
XrdPosixLinkage::Readv
Retv_Readv(* Readv)(Args_Readv)
Definition XrdPosixLinkage.hh:496
XrdPosixLinkage::Stat64
Retv_Stat64(* Stat64)(Args_Stat64)
Definition XrdPosixLinkage.hh:506
XrdPosixLinkage::Statfs
Retv_Statfs(* Statfs)(Args_Statfs)
Definition XrdPosixLinkage.hh:507
XrdPosixLinkage::Pwrite
Retv_Pwrite(* Pwrite)(Args_Pwrite)
Definition XrdPosixLinkage.hh:493
XrdPosixLinkage::Pread64
Retv_Pread64(* Pread64)(Args_Pread64)
Definition XrdPosixLinkage.hh:492
XrdPosixLinkage::Readdir64_r
Retv_Readdir64_r(* Readdir64_r)(Args_Readdir64_r)
Definition XrdPosixLinkage.hh:500
XrdPosixLinkage::Fcntl64
Retv_Fcntl64(* Fcntl64)(Args_Fcntl64)
Definition XrdPosixLinkage.hh:461
XrdPosixLinkage::Seekdir
Retv_Seekdir(* Seekdir)(Args_Seekdir)
Definition XrdPosixLinkage.hh:504
XrdPosixLinkage::Lstat64
Retv_Lstat64(* Lstat64)(Args_Lstat64)
Definition XrdPosixLinkage.hh:485
XrdPosixLinkage::Chdir
Retv_Chdir(* Chdir)(Args_Chdir)
Definition XrdPosixLinkage.hh:456
XrdPosixLinkage::Getxattr
Retv_Getxattr(* Getxattr)(Args_Getxattr)
Definition XrdPosixLinkage.hh:481
XrdPosixLinkage::Open
Retv_Open(* Open)(Args_Open)
Definition XrdPosixLinkage.hh:487
XrdPosixLinkage::Access
Retv_Access(* Access)(Args_Access)
Definition XrdPosixLinkage.hh:454
XrdPosixLinkage::Ftruncate
Retv_Ftruncate(* Ftruncate)(Args_Ftruncate)
Definition XrdPosixLinkage.hh:476
XrdPosixLinkage::Closedir
Retv_Closedir(* Closedir)(Args_Closedir)
Definition XrdPosixLinkage.hh:458
XrdPosixLinkage::Pathconf
Retv_Pathconf(* Pathconf)(Args_Pathconf)
Definition XrdPosixLinkage.hh:490
XrdPosixLinkage::Lstat
Retv_Lstat(* Lstat)(Args_Lstat)
Definition XrdPosixLinkage.hh:484
XrdPosixLinkage::Write
Retv_Write(* Write)(Args_Write)
Definition XrdPosixLinkage.hh:515
XrdPosixLinkage::Readdir_r
Retv_Readdir_r(* Readdir_r)(Args_Readdir_r)
Definition XrdPosixLinkage.hh:499
XrdPosixLinkage::Rmdir
Retv_Rmdir(* Rmdir)(Args_Rmdir)
Definition XrdPosixLinkage.hh:503
XrdPosixLinkage::Fgetxattr
Retv_Fgetxattr(* Fgetxattr)(Args_Fgetxattr)
Definition XrdPosixLinkage.hh:479
XrdPosixLinkage::Fstat
Retv_Fstat(* Fstat)(Args_Fstat)
Definition XrdPosixLinkage.hh:470
XrdPosixLinkage::Unlink
Retv_Unlink(* Unlink)(Args_Unlink)
Definition XrdPosixLinkage.hh:514
XrdPosixLinkage::Pwrite64
Retv_Pwrite64(* Pwrite64)(Args_Pwrite64)
Definition XrdPosixLinkage.hh:494
XrdPosixLinkage::Load_Error
int Load_Error(const char *epname, int retv=-1)
Definition XrdPosixLinkage.cc:285
XrdPosixLinkage::Ftello64
Retv_Ftello64(* Ftello64)(Args_Ftello64)
Definition XrdPosixLinkage.hh:475