.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 1 Mbyte buffer is passed). .PP If .B -o is given, the contents of the 1 Mbyte 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.