Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F13783901
syscall_linux_amd64.go
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
syscall_linux_amd64.go
View Options
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build amd64 && linux
// +build amd64,linux
package
unix
//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
//sys Fchown(fd int, uid int, gid int) (err error)
//sys Fstat(fd int, stat *Stat_t) (err error)
//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
//sys Ftruncate(fd int, length int64) (err error)
//sysnb Getegid() (egid int)
//sysnb Geteuid() (euid int)
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
//sys Ioperm(from int, num int, on int) (err error)
//sys Iopl(level int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
//sys Listen(s int, n int) (err error)
func
Lstat
(
path
string
,
stat
*
Stat_t
)
(
err
error
)
{
return
Fstatat
(
AT_FDCWD
,
path
,
stat
,
AT_SYMLINK_NOFOLLOW
)
}
//sys MemfdSecret(flags int) (fd int, err error)
//sys Pause() (err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
func
Select
(
nfd
int
,
r
*
FdSet
,
w
*
FdSet
,
e
*
FdSet
,
timeout
*
Timeval
)
(
n
int
,
err
error
)
{
var
ts
*
Timespec
if
timeout
!=
nil
{
ts
=
&
Timespec
{
Sec
:
timeout
.
Sec
,
Nsec
:
timeout
.
Usec
*
1000
}
}
return
Pselect
(
nfd
,
r
,
w
,
e
,
ts
,
nil
)
}
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
func
Stat
(
path
string
,
stat
*
Stat_t
)
(
err
error
)
{
// Use fstatat, because Android's seccomp policy blocks stat.
return
Fstatat
(
AT_FDCWD
,
path
,
stat
,
0
)
}
//sys Statfs(path string, buf *Statfs_t) (err error)
//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
//sys Truncate(path string, length int64) (err error)
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
//sysnb setgroups(n int, list *_Gid_t) (err error)
//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)
//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)
//sysnb socket(domain int, typ int, proto int) (fd int, err error)
//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error)
func
Gettimeofday
(
tv
*
Timeval
)
(
err
error
)
{
errno
:=
gettimeofday
(
tv
)
if
errno
!=
0
{
return
errno
}
return
nil
}
func
Time
(
t
*
Time_t
)
(
tt
Time_t
,
err
error
)
{
var
tv
Timeval
errno
:=
gettimeofday
(
&
tv
)
if
errno
!=
0
{
return
0
,
errno
}
if
t
!=
nil
{
*
t
=
Time_t
(
tv
.
Sec
)
}
return
Time_t
(
tv
.
Sec
),
nil
}
//sys Utime(path string, buf *Utimbuf) (err error)
//sys utimes(path string, times *[2]Timeval) (err error)
func
setTimespec
(
sec
,
nsec
int64
)
Timespec
{
return
Timespec
{
Sec
:
sec
,
Nsec
:
nsec
}
}
func
setTimeval
(
sec
,
usec
int64
)
Timeval
{
return
Timeval
{
Sec
:
sec
,
Usec
:
usec
}
}
func
(
r
*
PtraceRegs
)
PC
()
uint64
{
return
r
.
Rip
}
func
(
r
*
PtraceRegs
)
SetPC
(
pc
uint64
)
{
r
.
Rip
=
pc
}
func
(
iov
*
Iovec
)
SetLen
(
length
int
)
{
iov
.
Len
=
uint64
(
length
)
}
func
(
msghdr
*
Msghdr
)
SetControllen
(
length
int
)
{
msghdr
.
Controllen
=
uint64
(
length
)
}
func
(
msghdr
*
Msghdr
)
SetIovlen
(
length
int
)
{
msghdr
.
Iovlen
=
uint64
(
length
)
}
func
(
cmsg
*
Cmsghdr
)
SetLen
(
length
int
)
{
cmsg
.
Len
=
uint64
(
length
)
}
func
(
rsa
*
RawSockaddrNFCLLCP
)
SetServiceNameLen
(
length
int
)
{
rsa
.
Service_name_len
=
uint64
(
length
)
}
//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
func
KexecFileLoad
(
kernelFd
int
,
initrdFd
int
,
cmdline
string
,
flags
int
)
error
{
cmdlineLen
:=
len
(
cmdline
)
if
cmdlineLen
>
0
{
// Account for the additional NULL byte added by
// BytePtrFromString in kexecFileLoad. The kexec_file_load
// syscall expects a NULL-terminated string.
cmdlineLen
++
}
return
kexecFileLoad
(
kernelFd
,
initrdFd
,
cmdlineLen
,
cmdline
,
flags
)
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jan 31, 1:05 PM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3612437
Attached To
rWCLI writeas-cli
Event Timeline
Log In to Comment