int symlink(char *topath,char *frompath) { int p1, p2; p1 = smbw_path(topath); p2 = smbw_path(frompath); if (p1 || p2) { /* can't handle symlinks */ errno = EPERM; return -1; } return real_symlink(topath, frompath); }
int rename(char *oldname,char *newname) { int p1, p2; p1 = smbw_path(oldname); p2 = smbw_path(newname); if (p1 ^ p2) { /* can't cross filesystem boundaries */ errno = EXDEV; return -1; } if (p1 && p2) { return smbw_rename(oldname, newname); } return real_rename(oldname, newname); }
int symlink(const char *topath, const char *frompath) { int p1, p2; check_init("symlink"); p1 = smbw_path((char *) topath); p2 = smbw_path((char *) frompath); if (p1 || p2) { /* can't handle symlinks */ errno = EPERM; return -1; } return (* smbw_libc.symlink)((char *) topath, (char *) frompath); }
int open64(char *name, int flags, mode_t mode) { if (smbw_path(name)) { return smbw_open(name, flags, mode); } return real_open64(name, flags, mode); }
int access(char *name, int mode) { if (smbw_path(name)) { return smbw_access(name, mode); } return real_access(name, mode); }
int acl(char *pathp, int cmd, int nentries, void *aclbufp) { if (smbw_path(pathp)) { return smbw_acl(pathp, cmd, nentries, aclbufp); } return real_acl(pathp, cmd, nentries, aclbufp); }
int chmod(char *name,mode_t mode) { if (smbw_path(name)) { return smbw_chmod(name, mode); } return real_chmod(name, mode); }
int utime(char *name,void *tvp) { if (smbw_path(name)) { return smbw_utime(name, tvp); } return real_utime(name, tvp); }
int utimes(const char *name, const struct timeval *tvp) { if (smbw_path(name)) { return smbw_utimes(name, tvp); } return real_utimes(name, tvp); }
int mkdir(char *name, mode_t mode) { if (smbw_path(name)) { return smbw_mkdir(name, mode); } return real_mkdir(name, mode); }
int unlink(char *name) { if (smbw_path(name)) { return smbw_unlink(name); } return real_unlink(name); }
int rmdir(char *name) { if (smbw_path(name)) { return smbw_rmdir(name); } return real_rmdir(name); }
int chown(char *name,uid_t owner, gid_t group) { if (smbw_path(name)) { return smbw_chown(name, owner, group); } return real_chown(name, owner, group); }
static int openx(char *name, int flags, mode_t mode, int (* f)(char *, int, mode_t)) { if (smbw_path(name)) { return smbw_open(name, flags, mode); } return (* f)(name, flags, mode); }
int readlink(char *path, char *buf, size_t bufsize) { if (smbw_path(path)) { return smbw_readlink(path, buf, bufsize); } return real_readlink(path, buf, bufsize); }
void *opendir(char *name) { if (smbw_path(name)) { return (void *)smbw_opendir(name); } return (void *)real_opendir(name); }
int lremovexattr(const char *fname, const char *name) { if (smbw_path(fname)) { return smbw_lremovexattr(fname, name); } return (* smbw_libc.lremovexattr)(fname, name); }
int rename(const char *oldname, const char *newname) { int p1, p2; check_init("rename"); p1 = smbw_path((char *) oldname); p2 = smbw_path((char *) newname); if (p1 ^ p2) { /* can't cross filesystem boundaries */ errno = EXDEV; return -1; } if (p1 && p2) { return smbw_rename((char *) oldname, (char *) newname); } return (* smbw_libc.rename)((char *) oldname, (char *) newname); }
int chown(const char *name, uid_t owner, gid_t group) { check_init("chown"); if (smbw_path((char *) name)) { return smbw_chown((char *) name, owner, group); } return (* smbw_libc.chown)((char *) name, owner, group); }
int chmod(const char *name, mode_t mode) { check_init("chmod"); if (smbw_path((char *) name)) { return smbw_chmod((char *) name, mode); } return (* smbw_libc.chmod)((char *) name, mode); }
int access(const char *name, int mode) { check_init("access"); if (smbw_path((char *) name)) { return smbw_access((char *) name, mode); } return (* smbw_libc.access)((char *) name, mode); }
int llistxattr(const char *fname, char *list, size_t size) { if (smbw_path(fname)) { return smbw_llistxattr(fname, list, size); } return (* smbw_libc.llistxattr)(fname, list, size); }
int readlink(const char *path, char *buf, size_t bufsize) { check_init("readlink"); if (smbw_path((char *) path)) { return smbw_readlink(path, (char *) buf, bufsize); } return (* smbw_libc.readlink)((char *) path, buf, bufsize); }
DIR *opendir(const char *name) { check_init("opendir"); if (smbw_path((char *) name)) { return (void *)smbw_opendir((char *) name); } return (* smbw_libc.opendir)((char *) name); }
int utimes(const char *name, const struct timeval *tvp) { check_init("utimes"); if (smbw_path(name)) { return smbw_utimes(name, (struct timeval *) tvp); } return (* smbw_libc.utimes)((char *) name, (struct timeval *) tvp); }
int utime(const char *name, const struct utimbuf *tvp) { check_init("utime"); if (smbw_path(name)) { return smbw_utime(name, (struct utimbuf *) tvp); } return (* smbw_libc.utime)((char *) name, (struct utimbuf *) tvp); }
int mkdir(const char *name, mode_t mode) { check_init("mkdir"); if (smbw_path((char *) name)) { return smbw_mkdir((char *) name, mode); } return (* smbw_libc.mkdir)((char *) name, mode); }
int rmdir(const char *name) { check_init("rmdir"); if (smbw_path((char *) name)) { return smbw_rmdir((char *) name); } return (* smbw_libc.rmdir)((char *) name); }
int lstat64(char *name, void *st64) { if (smbw_path(name)) { double xx[32]; int ret = lstat(name, xx); stat64_convert(xx, st64); return ret; } return real_lstat64(name, st64); }
int unlink(const char *name) { check_init("unlink"); if (smbw_path((char *) name)) { return smbw_unlink((char *) name); } return (* smbw_libc.unlink)((char *) name); }