Package jnr.posix
Class WindowsPOSIX
- java.lang.Object
-
- jnr.posix.NativePOSIX
-
- jnr.posix.BaseNativePOSIX
-
- jnr.posix.WindowsPOSIX
-
- All Implemented Interfaces:
POSIX
public final class WindowsPOSIX extends BaseNativePOSIX
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jnr.posix.BaseNativePOSIX
BaseNativePOSIX.PointerConverter
-
-
Field Summary
Fields Modifier and Type Field Description static int
FILE_FLAG_BACKUP_SEMANTICS
static BaseNativePOSIX.PointerConverter
PASSWD
-
Fields inherited from class jnr.posix.BaseNativePOSIX
ConstantConverter, FileStatConverter, GROUP, handler, helper, MsgHdrConverter, signalHandlers, TimesConverter
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MsgHdr
allocateMsgHdr()
FileStat
allocateStat()
Timeval
allocateTimeval()
int
aspawn(boolean overlay, java.lang.String program, java.lang.String[] argv, java.lang.String path, java.lang.String[] envp)
int
chdir(java.lang.String path)
int
chmod(java.lang.String filename, int mode)
int
chown(java.lang.String filename, int user, int group)
byte[]
crypt(byte[] key, byte[] salt)
Call the crypt function with the given key and salt as raw null-terminated byte (C char) strings.java.lang.CharSequence
crypt(java.lang.CharSequence key, java.lang.CharSequence salt)
int
endgrent()
int
endpwent()
jnr.ffi.Pointer
environ()
int
exec(java.lang.String path, java.lang.String[] argv)
Shell expanding and escaping version of exec which handles all the preparation of a command line or command list.int
exec(java.lang.String path, java.lang.String[] argv, java.lang.String[] envp)
Shell expanding and escaping version of exec which handles all the preparation of a command line or command list.int
execv(java.lang.String path, java.lang.String[] argv)
int
fcntlInt(int fd, jnr.constants.platform.Fcntl fcntl, int arg)
int
findFirstFile(java.lang.String path, FileStat stat)
FileStat
fstat(int fd)
int
fstat(java.io.FileDescriptor fileDescriptor, FileStat stat)
int
getegid()
int
geteuid()
int
getgid()
Group
getgrent()
Group
getgrgid(int which)
Group
getgrnam(java.lang.String which)
java.lang.String
gethostname()
java.lang.String
getlogin()
int
getpgid()
int
getpgid(int pid)
int
getpid()
int
getppid()
int
getpriority(int which, int who)
Passwd
getpwent()
Passwd
getpwnam(java.lang.String which)
Passwd
getpwuid(int which)
int
gettimeofday(Timeval tv)
int
getuid()
int
isatty(int fd)
boolean
isatty(java.io.FileDescriptor fd)
int
kill(int pid, int signal)
int
kill(long pid, int signal)
int
lchmod(java.lang.String filename, int mode)
int
lchown(java.lang.String filename, int user, int group)
int
link(java.lang.String oldpath, java.lang.String newpath)
FileStat
lstat(java.lang.String path)
int
lstat(java.lang.String path, FileStat stat)
int
mkdir(java.lang.String path, int mode)
int
mkfifo(java.lang.String filename, int mode)
int
pipe(int[] fds)
java.lang.String
readlink(java.lang.String oldpath)
int
rmdir(java.lang.String path)
The logic here is a bit strange and this copies MRI (Ruby) which may not be language agnostic, but windows (win7 and others) automatically mark folders as read-only when it contains other files and folders within it.int
setegid(int egid)
int
setenv(java.lang.String envName, java.lang.String envValue, int overwrite)
int
seteuid(int euid)
int
setgid(int gid)
int
setgrent()
int
setpgid(int pid, int pgid)
int
setpriority(int which, int who, int prio)
int
setpwent()
int
setuid(int uid)
SocketMacros
socketMacros()
int
spawn(boolean overlay, java.lang.String command, java.lang.String program, java.lang.String path, java.lang.String[] envp)
int
stat(java.lang.String path, FileStat stat)
int
truncate(java.lang.CharSequence path, long length)
int
umask(int mask)
int
unsetenv(java.lang.String envName)
int
utimensat(int dirfd, java.lang.String path, long[] atimespec, long[] mtimespec, int flag)
int
utimes(java.lang.String path, long[] atimeval, long[] mtimeval)
int
wait(int[] status)
int
waitpid(int pid, int[] status, int flags)
int
waitpid(long pid, int[] status, int flags)
-
Methods inherited from class jnr.posix.BaseNativePOSIX
access, close, confstr, crypt, daemon, dup, dup2, errno, errno, execve, fchmod, fchown, fcntl, fcntl, fcntl, fdatasync, flock, fork, fpathconf, fstat, fstat, fsync, ftruncate, futimens, futimens, futimes, getcwd, getdtablesize, getenv, getfd, getgroups, getgroups, getpgrp, getrlimit, getrlimit, getrlimit, isNative, libc, lseek, lseekLong, lutimes, newProcessMaker, newProcessMaker, nl_langinfo, open, posix_spawnp, posix_spawnp, posix_spawnp, posix_spawnp, pread, pread, pread, pread, pwrite, pwrite, pwrite, pwrite, raise, read, read, read, read, readlink, readlink, readlink, recvmsg, rename, sendmsg, setlocale, setpgrp, setrlimit, setrlimit, setrlimit, setsid, signal, socketpair, stat, strerror, symlink, sysconf, times, unimplementedInt, unimplementedNull, unlink, utimensat, utimes, write, write, write, write
-
Methods inherited from class jnr.posix.NativePOSIX
allocatePosixSpawnattr, allocatePosixSpawnFileActions
-
-
-
-
Field Detail
-
FILE_FLAG_BACKUP_SEMANTICS
public static final int FILE_FLAG_BACKUP_SEMANTICS
- See Also:
- Constant Field Values
-
PASSWD
public static final BaseNativePOSIX.PointerConverter PASSWD
-
-
Method Detail
-
allocateStat
public FileStat allocateStat()
- Specified by:
allocateStat
in interfacePOSIX
- Specified by:
allocateStat
in classBaseNativePOSIX
-
allocateMsgHdr
public MsgHdr allocateMsgHdr()
-
socketMacros
public SocketMacros socketMacros()
- Specified by:
socketMacros
in classNativePOSIX
-
kill
public int kill(int pid, int signal)
- Specified by:
kill
in interfacePOSIX
- Overrides:
kill
in classBaseNativePOSIX
-
kill
public int kill(long pid, int signal)
- Specified by:
kill
in interfacePOSIX
- Overrides:
kill
in classBaseNativePOSIX
-
chmod
public int chmod(java.lang.String filename, int mode)
- Specified by:
chmod
in interfacePOSIX
- Overrides:
chmod
in classBaseNativePOSIX
-
chdir
public int chdir(java.lang.String path)
- Specified by:
chdir
in interfacePOSIX
- Overrides:
chdir
in classBaseNativePOSIX
-
chown
public int chown(java.lang.String filename, int user, int group)
- Specified by:
chown
in interfacePOSIX
- Overrides:
chown
in classBaseNativePOSIX
-
exec
public int exec(java.lang.String path, java.lang.String[] argv)
Description copied from interface:POSIX
Shell expanding and escaping version of exec which handles all the preparation of a command line or command list.- Specified by:
exec
in interfacePOSIX
- Overrides:
exec
in classBaseNativePOSIX
- Parameters:
path
- the path to executeargv
- the arguments to pass, with arg0 equal to the desired process name- Returns:
- does not return if successful; -1 if failed
-
crypt
public java.lang.CharSequence crypt(java.lang.CharSequence key, java.lang.CharSequence salt)
- Specified by:
crypt
in interfacePOSIX
- Overrides:
crypt
in classBaseNativePOSIX
-
crypt
public byte[] crypt(byte[] key, byte[] salt)
Description copied from interface:POSIX
Call the crypt function with the given key and salt as raw null-terminated byte (C char) strings.- Specified by:
crypt
in interfacePOSIX
- Overrides:
crypt
in classBaseNativePOSIX
- Parameters:
key
- null-terminated key bytessalt
- null-terminated salt bytes- Returns:
- null-terminated crypted bytes, or null if there was an error
-
exec
public int exec(java.lang.String path, java.lang.String[] argv, java.lang.String[] envp)
Description copied from interface:POSIX
Shell expanding and escaping version of exec which handles all the preparation of a command line or command list.- Specified by:
exec
in interfacePOSIX
- Overrides:
exec
in classBaseNativePOSIX
- Parameters:
path
- the path to executeargv
- the arguments to pass, with arg0 equal to the desired process nameenvp
- a set of KEY=VALUE environment strings to set for the new execution- Returns:
- does not return if successful; -1 if failed
-
execv
public int execv(java.lang.String path, java.lang.String[] argv)
- Specified by:
execv
in interfacePOSIX
- Overrides:
execv
in classBaseNativePOSIX
-
getegid
public int getegid()
- Specified by:
getegid
in interfacePOSIX
- Overrides:
getegid
in classBaseNativePOSIX
-
setegid
public int setegid(int egid)
- Specified by:
setegid
in interfacePOSIX
- Overrides:
setegid
in classBaseNativePOSIX
-
geteuid
public int geteuid()
- Specified by:
geteuid
in interfacePOSIX
- Overrides:
geteuid
in classBaseNativePOSIX
-
seteuid
public int seteuid(int euid)
- Specified by:
seteuid
in interfacePOSIX
- Overrides:
seteuid
in classBaseNativePOSIX
-
getuid
public int getuid()
- Specified by:
getuid
in interfacePOSIX
- Overrides:
getuid
in classBaseNativePOSIX
-
setuid
public int setuid(int uid)
- Specified by:
setuid
in interfacePOSIX
- Overrides:
setuid
in classBaseNativePOSIX
-
getgid
public int getgid()
- Specified by:
getgid
in interfacePOSIX
- Overrides:
getgid
in classBaseNativePOSIX
-
setgid
public int setgid(int gid)
- Specified by:
setgid
in interfacePOSIX
- Overrides:
setgid
in classBaseNativePOSIX
-
getpgid
public int getpgid(int pid)
- Specified by:
getpgid
in interfacePOSIX
- Overrides:
getpgid
in classBaseNativePOSIX
-
getpgid
public int getpgid()
- Specified by:
getpgid
in interfacePOSIX
- Overrides:
getpgid
in classBaseNativePOSIX
-
setpgid
public int setpgid(int pid, int pgid)
- Specified by:
setpgid
in interfacePOSIX
- Overrides:
setpgid
in classBaseNativePOSIX
-
getpriority
public int getpriority(int which, int who)
- Specified by:
getpriority
in interfacePOSIX
- Overrides:
getpriority
in classBaseNativePOSIX
-
setpriority
public int setpriority(int which, int who, int prio)
- Specified by:
setpriority
in interfacePOSIX
- Overrides:
setpriority
in classBaseNativePOSIX
-
getpid
public int getpid()
- Specified by:
getpid
in interfacePOSIX
- Overrides:
getpid
in classBaseNativePOSIX
-
getppid
public int getppid()
- Specified by:
getppid
in interfacePOSIX
- Overrides:
getppid
in classBaseNativePOSIX
-
lchmod
public int lchmod(java.lang.String filename, int mode)
- Specified by:
lchmod
in interfacePOSIX
- Overrides:
lchmod
in classBaseNativePOSIX
-
lchown
public int lchown(java.lang.String filename, int user, int group)
- Specified by:
lchown
in interfacePOSIX
- Overrides:
lchown
in classBaseNativePOSIX
-
gethostname
public java.lang.String gethostname()
- Specified by:
gethostname
in interfacePOSIX
- Overrides:
gethostname
in classBaseNativePOSIX
-
fstat
public FileStat fstat(int fd)
- Specified by:
fstat
in interfacePOSIX
- Overrides:
fstat
in classBaseNativePOSIX
-
fstat
public int fstat(java.io.FileDescriptor fileDescriptor, FileStat stat)
- Specified by:
fstat
in interfacePOSIX
- Overrides:
fstat
in classBaseNativePOSIX
-
lstat
public FileStat lstat(java.lang.String path)
- Specified by:
lstat
in interfacePOSIX
- Overrides:
lstat
in classBaseNativePOSIX
-
lstat
public int lstat(java.lang.String path, FileStat stat)
- Specified by:
lstat
in interfacePOSIX
- Overrides:
lstat
in classBaseNativePOSIX
-
stat
public int stat(java.lang.String path, FileStat stat)
- Specified by:
stat
in interfacePOSIX
- Overrides:
stat
in classBaseNativePOSIX
-
findFirstFile
public int findFirstFile(java.lang.String path, FileStat stat)
-
readlink
public java.lang.String readlink(java.lang.String oldpath)
- Specified by:
readlink
in interfacePOSIX
- Overrides:
readlink
in classBaseNativePOSIX
-
environ
public jnr.ffi.Pointer environ()
- Specified by:
environ
in interfacePOSIX
- Overrides:
environ
in classBaseNativePOSIX
-
setenv
public int setenv(java.lang.String envName, java.lang.String envValue, int overwrite)
- Specified by:
setenv
in interfacePOSIX
- Overrides:
setenv
in classBaseNativePOSIX
-
umask
public int umask(int mask)
- Specified by:
umask
in interfacePOSIX
- Overrides:
umask
in classBaseNativePOSIX
-
unsetenv
public int unsetenv(java.lang.String envName)
- Specified by:
unsetenv
in interfacePOSIX
- Overrides:
unsetenv
in classBaseNativePOSIX
-
utimes
public int utimes(java.lang.String path, long[] atimeval, long[] mtimeval)
- Specified by:
utimes
in interfacePOSIX
- Overrides:
utimes
in classBaseNativePOSIX
-
utimensat
public int utimensat(int dirfd, java.lang.String path, long[] atimespec, long[] mtimespec, int flag)
- Specified by:
utimensat
in interfacePOSIX
- Overrides:
utimensat
in classBaseNativePOSIX
-
wait
public int wait(int[] status)
- Specified by:
wait
in interfacePOSIX
- Overrides:
wait
in classBaseNativePOSIX
-
waitpid
public int waitpid(int pid, int[] status, int flags)
- Specified by:
waitpid
in interfacePOSIX
- Overrides:
waitpid
in classBaseNativePOSIX
-
waitpid
public int waitpid(long pid, int[] status, int flags)
- Specified by:
waitpid
in interfacePOSIX
- Overrides:
waitpid
in classBaseNativePOSIX
-
getlogin
public java.lang.String getlogin()
- Specified by:
getlogin
in interfacePOSIX
- Overrides:
getlogin
in classBaseNativePOSIX
-
endgrent
public int endgrent()
- Specified by:
endgrent
in interfacePOSIX
- Overrides:
endgrent
in classBaseNativePOSIX
-
endpwent
public int endpwent()
- Specified by:
endpwent
in interfacePOSIX
- Overrides:
endpwent
in classBaseNativePOSIX
-
getgrent
public Group getgrent()
- Specified by:
getgrent
in interfacePOSIX
- Overrides:
getgrent
in classBaseNativePOSIX
-
getpwent
public Passwd getpwent()
- Specified by:
getpwent
in interfacePOSIX
- Overrides:
getpwent
in classBaseNativePOSIX
-
getgrgid
public Group getgrgid(int which)
- Specified by:
getgrgid
in interfacePOSIX
- Overrides:
getgrgid
in classBaseNativePOSIX
-
getpwnam
public Passwd getpwnam(java.lang.String which)
- Specified by:
getpwnam
in interfacePOSIX
- Overrides:
getpwnam
in classBaseNativePOSIX
-
getgrnam
public Group getgrnam(java.lang.String which)
- Specified by:
getgrnam
in interfacePOSIX
- Overrides:
getgrnam
in classBaseNativePOSIX
-
setgrent
public int setgrent()
- Specified by:
setgrent
in interfacePOSIX
- Overrides:
setgrent
in classBaseNativePOSIX
-
setpwent
public int setpwent()
- Specified by:
setpwent
in interfacePOSIX
- Overrides:
setpwent
in classBaseNativePOSIX
-
getpwuid
public Passwd getpwuid(int which)
- Specified by:
getpwuid
in interfacePOSIX
- Overrides:
getpwuid
in classBaseNativePOSIX
-
isatty
public boolean isatty(java.io.FileDescriptor fd)
- Specified by:
isatty
in interfacePOSIX
- Overrides:
isatty
in classBaseNativePOSIX
-
isatty
public int isatty(int fd)
- Specified by:
isatty
in interfacePOSIX
- Overrides:
isatty
in classBaseNativePOSIX
-
mkdir
public int mkdir(java.lang.String path, int mode)
- Specified by:
mkdir
in interfacePOSIX
- Overrides:
mkdir
in classBaseNativePOSIX
-
rmdir
public int rmdir(java.lang.String path)
The logic here is a bit strange and this copies MRI (Ruby) which may not be language agnostic, but windows (win7 and others) automatically mark folders as read-only when it contains other files and folders within it. This document explains more: http://support.microsoft.com/kb/326549 I think the logic is based around idea that if you removed all other files it would be empty but will stay marked as read-only.- Specified by:
rmdir
in interfacePOSIX
- Overrides:
rmdir
in classBaseNativePOSIX
- Parameters:
path
- the path to remove- Returns:
- 0 if successful, -1 if failed
-
link
public int link(java.lang.String oldpath, java.lang.String newpath)
- Specified by:
link
in interfacePOSIX
- Overrides:
link
in classBaseNativePOSIX
-
aspawn
public int aspawn(boolean overlay, java.lang.String program, java.lang.String[] argv, java.lang.String path, java.lang.String[] envp)
- Parameters:
overlay
- is P_OVERLAY if true and P_NOWAIT if falseprogram
- to be invokedargv
- is all args including argv0 being what is executedpath
- is path to be searched when needed (delimited by ; on windows)envp
- is a set of KEY=VALUE strings to be set in the child process- Returns:
- the pid
-
pipe
public int pipe(int[] fds)
- Specified by:
pipe
in interfacePOSIX
- Overrides:
pipe
in classBaseNativePOSIX
-
truncate
public int truncate(java.lang.CharSequence path, long length)
- Specified by:
truncate
in interfacePOSIX
- Overrides:
truncate
in classBaseNativePOSIX
-
fcntlInt
public int fcntlInt(int fd, jnr.constants.platform.Fcntl fcntl, int arg)
- Specified by:
fcntlInt
in interfacePOSIX
- Overrides:
fcntlInt
in classBaseNativePOSIX
-
spawn
public int spawn(boolean overlay, java.lang.String command, java.lang.String program, java.lang.String path, java.lang.String[] envp)
- Parameters:
overlay
- is P_OVERLAY if true and P_NOWAIT if falsecommand
- full command stringprogram
- program to be invokedpath
- is path to be searched when needed (delimited by ; on windows)envp
- is a set of KEY=VALUE strings to be set in the child process- Returns:
- the pid
-
mkfifo
public int mkfifo(java.lang.String filename, int mode)
- Specified by:
mkfifo
in interfacePOSIX
- Overrides:
mkfifo
in classBaseNativePOSIX
-
allocateTimeval
public Timeval allocateTimeval()
- Specified by:
allocateTimeval
in interfacePOSIX
- Overrides:
allocateTimeval
in classBaseNativePOSIX
-
gettimeofday
public int gettimeofday(Timeval tv)
- Specified by:
gettimeofday
in interfacePOSIX
- Overrides:
gettimeofday
in classBaseNativePOSIX
-
-