shithub: riscv

ref: 4e00cf6b1798fc95b3ccad8cb66a3e80c96b2786
dir: /sys/man/1/syscall/

View raw version
.TH SYSCALL 1 
.SH NAME
syscall \- test a system call
.SH SYNOPSIS
.B syscall
[
.B -osx
]
.I entry
[
.I arg ...
]
.SH DESCRIPTION
.I Syscall
invokes the system call
.I entry
with the given arguments.
(Some functions, such as
.I write
and
.IR read (2),
although not strictly system calls, are valid
.IR entries .)
It prints the return value and the error string, if there was an error.
An argument is either an integer constant as in C (its value is passed),
a string (its address is passed),
or the literal
.B buf
(a pointer to a 1MB buffer is passed).
.PP
If
.B -o
is given, the contents of the 1MB buffer are printed as a zero-terminated string
after the system call is done.
The
.B -x
and
.B -s
options are similar, but
.B -x
formats the data as hexadecimal bytes, while
.B -s
interprets the data as a
.IR stat (5)
message and formats it similar to the style of
.B ls
.B -lqm
(see
.IR ls (1)),
with extra detail about the modify and access times.
.SH EXAMPLES
Write a string to standard output:
.IP
.EX
syscall write 1 hello 5
.EE
.PP
Print information about the file connected to standard input:
.IP
.EX
syscall -s fstat 0 buf 1024
.EE
.SH SOURCE
.B /sys/src/cmd/syscall
.SH "SEE ALSO"
Section 2 of this manual.
.SH DIAGNOSTICS
If
.I entry
is not known to
.IR syscall ,
the exit status is
.LR unknown .
If the system call succeeds, the exit status is null;
otherwise the exit status is the string that
.IR errstr (2)
returns.