public int setenv(String envName, String envValue, int overwrite) { Map<String, String> env = helper.getEnv(); if (envName.contains("=")) { handler.error(EINVAL, "setenv", envName); return -1; } // POSIX specified. Existence is success if overwrite is 0. if (overwrite == 0 && env.containsKey(envName)) return 0; env.put(envName, envValue); return 0; }
public FileStat stat(String path) { FileStat stat = allocateStat(); if (helper.stat(path, stat) < 0) handler.error(ENOENT, "stat", path); return stat; }
@Override public int unsetenv(String envName) { if (!wlibc().SetEnvironmentVariableW(new WString(envName), null)) { handler.error(EINVAL, "unsetenv", envName); return -1; } return 0; }
@Override public int unsetenv(String envName) { if (!wlibc().SetEnvironmentVariableW(new WString(envName), null)) { handler.error(EINVAL, "unsetenv", envName); return -1; } return 0; }
@Override public FileStat fstat(int fd) { FileStat stat = allocateStat(); int ret = fstat(fd, stat); if (ret < 0) handler.error(Errno.valueOf(errno()), "fstat", Integer.toString(fd)); return stat; }
@Override public FileStat fstat(FileDescriptor fileDescriptor) { FileStat stat = allocateStat(); int fd = helper.getfd(fileDescriptor); int ret = fstat(fd, stat); if (ret < 0) handler.error(Errno.valueOf(errno()), "fstat", Integer.toString(fd)); return stat; }
public int mkdir(String path, int mode) { int res = libc().mkdir(path, mode); if (res < 0) { int errno = errno(); handler.error(Errno.valueOf(errno), "mkdir", path); } return res; }
public FileStat fstat(int fd) { WindowsFileStat stat = new WindowsFileStat(this); if (fstat(fd, stat) < 0) handler.error(Errno.valueOf(errno()), "fstat", "" + fd); return stat; }
@Override public FileStat lstat(String path) { FileStat stat = allocateStat(); int ret = lstat(path, stat); if (ret < 0) handler.error(Errno.valueOf(errno()), "lstat", path); return stat; }
public FileStat fstat(int fd) { WindowsFileStat stat = new WindowsFileStat(this); if (fstat(fd, stat) < 0) handler.error(Errno.valueOf(errno()), "fstat", "" + fd); return stat; }
public int mkdir(String path, int mode) { int res = libc().mkdir(path, mode); if (res < 0) { int errno = errno(); handler.error(Errno.valueOf(errno), "mkdir", path); } return res; }
@Override public FileStat stat(String path) { FileStat stat = allocateStat(); int ret = stat(path, stat); if (ret < 0) handler.error(Errno.valueOf(errno()), "stat", path); return stat; }
public FileStat lstat(String path) { FileStat stat = allocateStat(); if (lstat(path, stat) < 0) handler.error(Errno.valueOf(errno()), "lstat", path); return stat; }
public int rmdir(String path) { int res = libc().rmdir(path); if (res < 0) handler.error(Errno.valueOf(errno()), "rmdir", path); return res; }
public FileStat stat(String path) { FileStat stat = allocateStat(); if (stat(path, stat) < 0) handler.error(Errno.valueOf(errno()), "stat", path); return stat; }
public FileStat fstat(int fd) { FileStat stat = allocateStat(); if (fstat(fd, stat) < 0) handler.error(Errno.valueOf(errno()), "fstat", "" + fd); return stat; }
public FileStat fstat(FileDescriptor fileDescriptor) { FileStat stat = allocateStat(); if (fstat(fileDescriptor, stat) < 0) handler.error(Errno.valueOf(errno()), "fstat", "" + helper.getfd(fileDescriptor)); return stat; }
public RLimit getrlimit(int resource) { RLimit rlim = new DefaultNativeRLimit(getRuntime()); if (getrlimit(resource, rlim) < 0) handler.error(Errno.valueOf(errno()), "rlim"); return rlim; }
@Override public int link(String oldpath, String newpath) { boolean linkCreated = wlibc().CreateHardLinkW(WString.path(newpath), WString.path(oldpath), null); if (!linkCreated) { int error = errno(); handler.error(mapErrorToErrno(error), "link", oldpath + " or " + newpath); return error; } else { return 0; } }
@Override public int link(String oldpath, String newpath) { boolean linkCreated = wlibc().CreateHardLinkW(WString.path(newpath), WString.path(oldpath), null); if (!linkCreated) { int error = errno(); handler.error(mapErrorToErrno(error), "link", oldpath + " or " + newpath); return error; } else { return 0; } }