mirror of
https://github.com/odin-lang/Odin.git
synced 2026-02-14 07:13:14 +00:00
Merge pull request #3125 from marcs-feh/master
sys/linux: Add binding to ioctl syscall + standard fd constants.
This commit is contained in:
@@ -1,5 +1,20 @@
|
||||
package linux
|
||||
|
||||
/*
|
||||
Standard input file descriptor
|
||||
*/
|
||||
STDIN_FILENO :: Fd(0)
|
||||
|
||||
/*
|
||||
Standard output file descriptor
|
||||
*/
|
||||
STDOUT_FILENO :: Fd(1)
|
||||
|
||||
/*
|
||||
Standard error file descriptor
|
||||
*/
|
||||
STDERR_FILENO :: Fd(2)
|
||||
|
||||
/*
|
||||
Special file descriptor to pass to `*at` functions to specify
|
||||
that relative paths are relative to current directory.
|
||||
|
||||
@@ -232,7 +232,18 @@ rt_sigprocmask :: proc "contextless" (mask_kind: Sig_Mask_Kind, new_set: ^Sig_Se
|
||||
return Errno(-ret)
|
||||
}
|
||||
|
||||
// TODO(flysand): ioctl
|
||||
/*
|
||||
Control devices. The ioctl syscall is a bit special because
|
||||
its argument is usually a pointer to some driver-specific structure.
|
||||
The request value is device-specific. Consult your LibC implementation's
|
||||
ioctls.h file to learn more. The returned value of ioctl *may* be an error
|
||||
code value instead of a memory address depending on the request type.
|
||||
Available since Linux 1.0.
|
||||
*/
|
||||
ioctl :: proc "contextless" (fd: Fd, request: u32, arg: uintptr) -> (uintptr) {
|
||||
ret := syscall(SYS_ioctl, fd, request, arg)
|
||||
return uintptr(ret)
|
||||
}
|
||||
|
||||
/*
|
||||
Read the file at a specified offset.
|
||||
|
||||
Reference in New Issue
Block a user