Os
public
final
class
Os
extends Object
Access to low-level system functionality. Most of these are system calls. Most users will want
to use higher-level APIs where available, but this class provides access to the underlying
primitives used to implement the higher-level APIs.
The corresponding constants can be found in OsConstants
.
Summary
Public methods |
static
FileDescriptor
|
accept(FileDescriptor fd, InetSocketAddress peerAddress)
See accept(2).
|
static
boolean
|
access(String path, int mode)
See access(2).
|
static
void
|
bind(FileDescriptor fd, InetAddress address, int port)
See bind(2).
|
static
void
|
bind(FileDescriptor fd, SocketAddress address)
See bind(2).
|
static
void
|
chmod(String path, int mode)
See chmod(2).
|
static
void
|
chown(String path, int uid, int gid)
See chown(2).
|
static
void
|
close(FileDescriptor fd)
See close(2).
|
static
void
|
connect(FileDescriptor fd, InetAddress address, int port)
See connect(2).
|
static
void
|
connect(FileDescriptor fd, SocketAddress address)
See connect(2).
|
static
FileDescriptor
|
dup(FileDescriptor oldFd)
See dup(2).
|
static
FileDescriptor
|
dup2(FileDescriptor oldFd, int newFd)
See dup2(2).
|
static
String[]
|
environ()
See environ(3).
|
static
void
|
execv(String filename, String[] argv)
See exec(3).
|
static
void
|
execve(String filename, String[] argv, String[] envp)
See execve(2).
|
static
void
|
fchmod(FileDescriptor fd, int mode)
See fchmod(2).
|
static
void
|
fchown(FileDescriptor fd, int uid, int gid)
See fchown(2).
|
static
int
|
fcntlInt(FileDescriptor fd, int cmd, int arg)
See fcntl(2).
|
static
void
|
fdatasync(FileDescriptor fd)
See fdatasync(2).
|
static
StructStat
|
fstat(FileDescriptor fd)
See fstat(2).
|
static
StructStatVfs
|
fstatvfs(FileDescriptor fd)
See fstatvfs(2).
|
static
void
|
fsync(FileDescriptor fd)
See fsync(2).
|
static
void
|
ftruncate(FileDescriptor fd, long length)
See ftruncate(2).
|
static
String
|
gai_strerror(int error)
See gai_strerror(3).
|
static
int
|
getegid()
See getegid(2).
|
static
String
|
getenv(String name)
See getenv(3).
|
static
int
|
geteuid()
See geteuid(2).
|
static
int
|
getgid()
See getgid(2).
|
static
SocketAddress
|
getpeername(FileDescriptor fd)
See getpeername(2).
|
static
int
|
getpid()
See getpid(2).
|
static
int
|
getppid()
See getppid(2).
|
static
SocketAddress
|
getsockname(FileDescriptor fd)
See getsockname(2).
|
static
StructTimeval
|
getsockoptTimeval(FileDescriptor fd, int level, int option)
See getsockopt(2).
|
static
int
|
gettid()
See gettid(2).
|
static
int
|
getuid()
See getuid(2).
|
static
byte[]
|
getxattr(String path, String name)
See getxattr(2)
|
static
String
|
if_indextoname(int index)
See if_indextoname(3).
|
static
int
|
if_nametoindex(String name)
See if_nametoindex(3).
|
static
InetAddress
|
inet_pton(int family, String address)
See inet_pton(3).
|
static
boolean
|
isatty(FileDescriptor fd)
See isatty(3).
|
static
void
|
kill(int pid, int signal)
See kill(2).
|
static
void
|
lchown(String path, int uid, int gid)
See lchown(2).
|
static
void
|
link(String oldPath, String newPath)
See link(2).
|
static
void
|
listen(FileDescriptor fd, int backlog)
See listen(2).
|
static
String[]
|
listxattr(String path)
See listxattr(2)
|
static
long
|
lseek(FileDescriptor fd, long offset, int whence)
See lseek(2).
|
static
StructStat
|
lstat(String path)
See lstat(2).
|
static
FileDescriptor
|
memfd_create(String name, int flags)
See memfd_create(2).
|
static
void
|
mincore(long address, long byteCount, byte[] vector)
See mincore(2).
|
static
void
|
mkdir(String path, int mode)
See mkdir(2).
|
static
void
|
mkfifo(String path, int mode)
See mkfifo(3).
|
static
void
|
mlock(long address, long byteCount)
See mlock(2).
|
static
long
|
mmap(long address, long byteCount, int prot, int flags, FileDescriptor fd, long offset)
See mmap(2).
|
static
void
|
msync(long address, long byteCount, int flags)
See msync(2).
|
static
void
|
munlock(long address, long byteCount)
See munlock(2).
|
static
void
|
munmap(long address, long byteCount)
See munmap(2).
|
static
FileDescriptor
|
open(String path, int flags, int mode)
See open(2).
|
static
FileDescriptor[]
|
pipe()
See pipe(2).
|
static
int
|
poll(StructPollfd[] fds, int timeoutMs)
See poll(2).
|
static
void
|
posix_fallocate(FileDescriptor fd, long offset, long length)
See posix_fallocate(3).
|
static
int
|
prctl(int option, long arg2, long arg3, long arg4, long arg5)
See prctl(2).
|
static
int
|
pread(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount, long offset)
See pread(2).
|
static
int
|
pread(FileDescriptor fd, ByteBuffer buffer, long offset)
See pread(2).
|
static
int
|
pwrite(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount, long offset)
See pwrite(2).
|
static
int
|
pwrite(FileDescriptor fd, ByteBuffer buffer, long offset)
See pwrite(2).
|
static
int
|
read(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount)
See read(2).
|
static
int
|
read(FileDescriptor fd, ByteBuffer buffer)
See read(2).
|
static
String
|
readlink(String path)
See readlink(2).
|
static
int
|
readv(FileDescriptor fd, Object[] buffers, int[] offsets, int[] byteCounts)
See readv(2).
|
static
int
|
recvfrom(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount, int flags, InetSocketAddress srcAddress)
See recvfrom(2).
|
static
int
|
recvfrom(FileDescriptor fd, ByteBuffer buffer, int flags, InetSocketAddress srcAddress)
See recvfrom(2).
|
static
int
|
recvmsg(FileDescriptor fd, StructMsghdr msg, int flags)
See recvmsg(2).
|
static
void
|
remove(String path)
See remove(3).
|
static
void
|
removexattr(String path, String name)
See removexattr(2).
|
static
void
|
rename(String oldPath, String newPath)
See rename(2).
|
static
long
|
sendfile(FileDescriptor outFd, FileDescriptor inFd, Int64Ref offset, long byteCount)
See sendfile(2).
|
static
int
|
sendmsg(FileDescriptor fd, StructMsghdr msg, int flags)
See sendmsg(2).
|
static
int
|
sendto(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount, int flags, SocketAddress address)
See sendto(2).
|
static
int
|
sendto(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount, int flags, InetAddress inetAddress, int port)
See sendto(2).
|
static
int
|
sendto(FileDescriptor fd, ByteBuffer buffer, int flags, InetAddress inetAddress, int port)
See sendto(2).
|
static
void
|
setegid(int egid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
|
static
void
|
setenv(String name, String value, boolean overwrite)
See setenv(3).
|
static
void
|
seteuid(int euid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
|
static
void
|
setgid(int gid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
|
static
int
|
setsid()
See setsid(2).
|
static
void
|
setsockoptInt(FileDescriptor fd, int level, int option, int value)
See setsockopt(2).
|
static
void
|
setsockoptTimeval(FileDescriptor fd, int level, int option, StructTimeval value)
See setsockopt(2).
|
static
void
|
setuid(int uid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
|
static
void
|
setxattr(String path, String name, byte[] value, int flags)
See setxattr(2)
|
static
void
|
shutdown(FileDescriptor fd, int how)
See shutdown(2).
|
static
FileDescriptor
|
socket(int domain, int type, int protocol)
See socket(2).
|
static
void
|
socketpair(int domain, int type, int protocol, FileDescriptor fd1, FileDescriptor fd2)
See socketpair(2).
|
static
StructStat
|
stat(String path)
See stat(2).
|
static
StructStatVfs
|
statvfs(String path)
See statvfs(2).
|
static
String
|
strerror(int errno)
See strerror(2).
|
static
String
|
strsignal(int signal)
See strsignal(3).
|
static
void
|
symlink(String oldPath, String newPath)
See symlink(2).
|
static
long
|
sysconf(int name)
See sysconf(3).
|
static
void
|
tcdrain(FileDescriptor fd)
See tcdrain(3).
|
static
void
|
tcsendbreak(FileDescriptor fd, int duration)
See tcsendbreak(3).
|
static
int
|
umask(int mask)
See umask(2).
|
static
StructUtsname
|
uname()
See uname(2).
|
static
void
|
unsetenv(String name)
See unsetenv(3).
|
static
int
|
write(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount)
See write(2).
|
static
int
|
write(FileDescriptor fd, ByteBuffer buffer)
See write(2).
|
static
int
|
writev(FileDescriptor fd, Object[] buffers, int[] offsets, int[] byteCounts)
See writev(2).
|
Inherited methods |
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted.
|
|
Public methods
access
public static boolean access (String path,
int mode)
See access(2).
Parameters |
path |
String |
mode |
int |
bind
public static void bind (FileDescriptor fd,
SocketAddress address)
See bind(2).
Parameters |
fd |
FileDescriptor : This value cannot be null . |
address |
SocketAddress : This value cannot be null . |
chmod
public static void chmod (String path,
int mode)
See chmod(2).
Parameters |
path |
String |
mode |
int |
chown
public static void chown (String path,
int uid,
int gid)
See chown(2).
Parameters |
path |
String |
uid |
int |
gid |
int |
connect
public static void connect (FileDescriptor fd,
SocketAddress address)
See connect(2).
Parameters |
fd |
FileDescriptor : This value cannot be null . |
address |
SocketAddress : This value cannot be null . |
execv
public static void execv (String filename,
String[] argv)
See exec(3).
Parameters |
filename |
String |
argv |
String |
fchmod
public static void fchmod (FileDescriptor fd,
int mode)
See fchmod(2).
Parameters |
fd |
FileDescriptor |
mode |
int |
fchown
public static void fchown (FileDescriptor fd,
int uid,
int gid)
See fchown(2).
Parameters |
fd |
FileDescriptor |
uid |
int |
gid |
int |
fcntlInt
public static int fcntlInt (FileDescriptor fd,
int cmd,
int arg)
See fcntl(2).
Parameters |
fd |
FileDescriptor : This value cannot be null . |
cmd |
int |
arg |
int |
ftruncate
public static void ftruncate (FileDescriptor fd,
long length)
See ftruncate(2).
Parameters |
fd |
FileDescriptor |
length |
long |
getegid
public static int getegid ()
See getegid(2).
geteuid
public static int geteuid ()
See geteuid(2).
getgid
public static int getgid ()
See getgid(2).
getpid
public static int getpid ()
See getpid(2).
getppid
public static int getppid ()
See getppid(2).
gettid
public static int gettid ()
See gettid(2).
getuid
public static int getuid ()
See getuid(2).
getxattr
public static byte[] getxattr (String path,
String name)
See getxattr(2)
Parameters |
path |
String |
name |
String |
kill
public static void kill (int pid,
int signal)
See kill(2).
Parameters |
pid |
int |
signal |
int |
lchown
public static void lchown (String path,
int uid,
int gid)
See lchown(2).
Parameters |
path |
String |
uid |
int |
gid |
int |
link
public static void link (String oldPath,
String newPath)
See link(2).
Parameters |
oldPath |
String |
newPath |
String |
listen
public static void listen (FileDescriptor fd,
int backlog)
See listen(2).
Parameters |
fd |
FileDescriptor |
backlog |
int |
lseek
public static long lseek (FileDescriptor fd,
long offset,
int whence)
See lseek(2).
Parameters |
fd |
FileDescriptor |
offset |
long |
whence |
int |
mincore
public static void mincore (long address,
long byteCount,
byte[] vector)
See mincore(2).
Parameters |
address |
long |
byteCount |
long |
vector |
byte |
mkdir
public static void mkdir (String path,
int mode)
See mkdir(2).
Parameters |
path |
String |
mode |
int |
mkfifo
public static void mkfifo (String path,
int mode)
See mkfifo(3).
Parameters |
path |
String |
mode |
int |
mlock
public static void mlock (long address,
long byteCount)
See mlock(2).
Parameters |
address |
long |
byteCount |
long |
mmap
public static long mmap (long address,
long byteCount,
int prot,
int flags,
FileDescriptor fd,
long offset)
See mmap(2).
Parameters |
address |
long |
byteCount |
long |
prot |
int |
flags |
int |
fd |
FileDescriptor |
offset |
long |
msync
public static void msync (long address,
long byteCount,
int flags)
See msync(2).
Parameters |
address |
long |
byteCount |
long |
flags |
int |
munlock
public static void munlock (long address,
long byteCount)
See munlock(2).
Parameters |
address |
long |
byteCount |
long |
munmap
public static void munmap (long address,
long byteCount)
See munmap(2).
Parameters |
address |
long |
byteCount |
long |
poll
public static int poll (StructPollfd[] fds,
int timeoutMs)
See poll(2).
Note that in Lollipop this could throw an ErrnoException
with EINTR
.
In later releases, the implementation will automatically just restart the system call with
an appropriately reduced timeout.
Parameters |
fds |
StructPollfd |
timeoutMs |
int |
posix_fallocate
public static void posix_fallocate (FileDescriptor fd,
long offset,
long length)
See posix_fallocate(3).
Parameters |
fd |
FileDescriptor |
offset |
long |
length |
long |
prctl
public static int prctl (int option,
long arg2,
long arg3,
long arg4,
long arg5)
See prctl(2).
Parameters |
option |
int |
arg2 |
long |
arg3 |
long |
arg4 |
long |
arg5 |
long |
pread
public static int pread (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount,
long offset)
See pread(2).
Parameters |
fd |
FileDescriptor |
bytes |
byte |
byteOffset |
int |
byteCount |
int |
offset |
long |
pwrite
public static int pwrite (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount,
long offset)
See pwrite(2).
Parameters |
fd |
FileDescriptor |
bytes |
byte |
byteOffset |
int |
byteCount |
int |
offset |
long |
read
public static int read (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount)
See read(2).
Parameters |
fd |
FileDescriptor |
bytes |
byte |
byteOffset |
int |
byteCount |
int |
readv
public static int readv (FileDescriptor fd,
Object[] buffers,
int[] offsets,
int[] byteCounts)
See readv(2).
Parameters |
fd |
FileDescriptor |
buffers |
Object |
offsets |
int |
byteCounts |
int |
recvfrom
public static int recvfrom (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount,
int flags,
InetSocketAddress srcAddress)
See recvfrom(2).
Parameters |
fd |
FileDescriptor |
bytes |
byte |
byteOffset |
int |
byteCount |
int |
flags |
int |
srcAddress |
InetSocketAddress |
recvmsg
public static int recvmsg (FileDescriptor fd,
StructMsghdr msg,
int flags)
See recvmsg(2).
Parameters |
fd |
FileDescriptor : This value cannot be null . |
msg |
StructMsghdr : This value cannot be null . |
flags |
int |
rename
public static void rename (String oldPath,
String newPath)
See rename(2).
Parameters |
oldPath |
String |
newPath |
String |
sendmsg
public static int sendmsg (FileDescriptor fd,
StructMsghdr msg,
int flags)
See sendmsg(2).
Parameters |
fd |
FileDescriptor : This value cannot be null . |
msg |
StructMsghdr : This value cannot be null . |
flags |
int |
sendto
public static int sendto (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount,
int flags,
SocketAddress address)
See sendto(2).
Parameters |
fd |
FileDescriptor : This value cannot be null . |
bytes |
byte : This value cannot be null . |
byteOffset |
int |
byteCount |
int |
flags |
int |
address |
SocketAddress : This value may be null . |
sendto
public static int sendto (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount,
int flags,
InetAddress inetAddress,
int port)
See sendto(2).
Parameters |
fd |
FileDescriptor |
bytes |
byte |
byteOffset |
int |
byteCount |
int |
flags |
int |
inetAddress |
InetAddress |
port |
int |
sendto
public static int sendto (FileDescriptor fd,
ByteBuffer buffer,
int flags,
InetAddress inetAddress,
int port)
See sendto(2).
Parameters |
fd |
FileDescriptor |
buffer |
ByteBuffer |
flags |
int |
inetAddress |
InetAddress |
port |
int |
setegid
public static void setegid (int egid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
See setegid(2).
setenv
public static void setenv (String name,
String value,
boolean overwrite)
See setenv(3).
Parameters |
name |
String |
value |
String |
overwrite |
boolean |
seteuid
public static void seteuid (int euid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
See seteuid(2).
setgid
public static void setgid (int gid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
See setgid(2).
setsid
public static int setsid ()
See setsid(2).
setsockoptInt
public static void setsockoptInt (FileDescriptor fd,
int level,
int option,
int value)
See setsockopt(2).
Parameters |
fd |
FileDescriptor |
level |
int |
option |
int |
value |
int |
setsockoptTimeval
public static void setsockoptTimeval (FileDescriptor fd,
int level,
int option,
StructTimeval value)
See setsockopt(2).
Only for use with option
values that take a struct timeval
such as
OsConstants#SO_RCVTIMEO
and OsConstants#SO_SNDTIMEO
. Use with other
options is likely to cause incorrect behavior.
Parameters |
fd |
FileDescriptor : This value cannot be null . |
level |
int |
option |
int |
value |
StructTimeval : This value cannot be null . |
setuid
public static void setuid (int uid)
This method was deprecated
in API level 29.
Android Applications do not have sufficient privileges to call this method.
See setuid(2).
setxattr
public static void setxattr (String path,
String name,
byte[] value,
int flags)
See setxattr(2)
Parameters |
path |
String |
name |
String |
value |
byte |
flags |
int |
socket
public static FileDescriptor socket (int domain,
int type,
int protocol)
See socket(2).
Parameters |
domain |
int |
type |
int |
protocol |
int |
socketpair
public static void socketpair (int domain,
int type,
int protocol,
FileDescriptor fd1,
FileDescriptor fd2)
See socketpair(2).
Parameters |
domain |
int |
type |
int |
protocol |
int |
fd1 |
FileDescriptor |
fd2 |
FileDescriptor |
symlink
public static void symlink (String oldPath,
String newPath)
See symlink(2).
Parameters |
oldPath |
String |
newPath |
String |
sysconf
public static long sysconf (int name)
See sysconf(3).
umask
public static int umask (int mask)
See umask(2).
write
public static int write (FileDescriptor fd,
byte[] bytes,
int byteOffset,
int byteCount)
See write(2).
Parameters |
fd |
FileDescriptor |
bytes |
byte |
byteOffset |
int |
byteCount |
int |
writev
public static int writev (FileDescriptor fd,
Object[] buffers,
int[] offsets,
int[] byteCounts)
See writev(2).
Parameters |
fd |
FileDescriptor |
buffers |
Object |
offsets |
int |
byteCounts |
int |