Performs a specified subroutine call.
The syscall command executes a system call interface program, which performs the subroutine call specified by the Name parameter. If you specify the -n flag, the syscall command performs the call n times. Arguments specified by the Argument parameter are passed to the subroutine without error checking. The Argument parameter can be expressed in the following formats:
| Item | Description | 
|---|---|
| 0x nnn | Hexadecimal constant nnn. | 
| 0 nnn | Octal constant nnn. | 
| nnn | Decimal constant nnn. | 
| +nnn | Decimal constant nnn. | 
| -nnn | Decimal constant nnn. | 
| "string | The character string "string". | 
| 'string | The character string "string". | 
| \string | The character string "string". | 
| #string | The length of the character string "string". | 
| &&n | The address of the nth argument to this subroutine. (n=0 is the subroutine name.) | 
| &n | The address of the nth byte in an internal 10KB buffer. | 
| $n | The result of the nth subroutine. (n=0 is the first subroutine.) | 
| string | Anything else is a literal character string. | 
The syscall command prints a message and exits for unknown subroutines and for subroutines that return a value of -1.
Note: The syscall command understands the sleep subroutine as a special case subroutine.
| Item | Description | 
|---|---|
| -n | Specifies the number of times the syscall command performs the specified subroutine. | 
| ; | Separates multiple subroutines (up to a maximum of 20) issued by the same invocation of the syscall command. | 
To simulate the C program fragment:
output=open("x", 401, 0755);write(output, "hello", strlen("hello"));enter:
syscall open x 401 0755 \; write \$0 hello \#helloNote: Special shell characters must be escaped.
| Item | Description | 
|---|---|
| /usr/bin/syscall | Contains the syscall command. |