コード例 #1
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #2
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #3
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #4
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #5
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int access(char *name, int mode)
{
    if (smbw_path(name)) {
        return smbw_access(name, mode);
    }

    return real_access(name, mode);
}
コード例 #6
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #7
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int chmod(char *name,mode_t mode)
{
    if (smbw_path(name)) {
        return smbw_chmod(name, mode);
    }

    return real_chmod(name, mode);
}
コード例 #8
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int utime(char *name,void *tvp)
{
    if (smbw_path(name)) {
        return smbw_utime(name, tvp);
    }

    return real_utime(name, tvp);
}
コード例 #9
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int utimes(const char *name, const struct timeval *tvp)
{
    if (smbw_path(name)) {
        return smbw_utimes(name, tvp);
    }

    return real_utimes(name, tvp);
}
コード例 #10
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int mkdir(char *name, mode_t mode)
{
    if (smbw_path(name)) {
        return smbw_mkdir(name, mode);
    }

    return real_mkdir(name, mode);
}
コード例 #11
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int unlink(char *name)
{
    if (smbw_path(name)) {
        return smbw_unlink(name);
    }

    return real_unlink(name);
}
コード例 #12
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
int rmdir(char *name)
{
    if (smbw_path(name)) {
        return smbw_rmdir(name);
    }

    return real_rmdir(name);
}
コード例 #13
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #14
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #15
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #16
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
void *opendir(char *name)
{
    if (smbw_path(name)) {
        return (void *)smbw_opendir(name);
    }

    return (void *)real_opendir(name);
}
コード例 #17
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
int lremovexattr(const char *fname,
                 const char *name)
{
	if (smbw_path(fname)) {
		return smbw_lremovexattr(fname, name);
	}
        
        return (* smbw_libc.lremovexattr)(fname, name);
}
コード例 #18
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #19
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #20
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #21
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #22
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #23
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #24
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #25
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #26
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #27
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
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);
}
コード例 #28
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
int rmdir(const char *name)
{
        check_init("rmdir");
        
	if (smbw_path((char *) name)) {
		return smbw_rmdir((char *) name);
	}
        
        return (* smbw_libc.rmdir)((char *) name);
}
コード例 #29
0
ファイル: wrapped.c プロジェクト: hynnet/ralink_sdk
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);
}
コード例 #30
0
ファイル: wrapper.c プロジェクト: AllardJ/Tomato
int unlink(const char *name)
{
        check_init("unlink");
        
	if (smbw_path((char *) name)) {
		return smbw_unlink((char *) name);
	}
        
        return (* smbw_libc.unlink)((char *) name);
}