Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

syscall(2) [debian man page]

SYSCALL(2)						     Linux Programmer's Manual							SYSCALL(2)

syscall - indirect system call SYNOPSIS
#define _GNU_SOURCE /* See feature_test_macros(7) */ #include <unistd.h> #include <sys/syscall.h> /* For SYS_xxx definitions */ int syscall(int number, ...); DESCRIPTION
syscall() is a small library function that invokes the system call whose assembly language interface has the specified number with the specified arguments. Employing syscall() is useful, for example, when invoking a system call that has no wrapper function in the C library. syscall() saves CPU registers before making the system call, restores the registers upon return from the system call, and stores any error code returned by the system call in errno(3) if an error occurs. Symbolic constants for system call numbers can be found in the header file <sys/syscall.h>. RETURN VALUE
The return value is defined by the system call being invoked. In general, a 0 return value indicates success. A -1 return value indicates an error, and an error code is stored in errno. NOTES
syscall() first appeared in 4BSD. EXAMPLE
#define _GNU_SOURCE #include <unistd.h> #include <sys/syscall.h> #include <sys/types.h> int main(int argc, char *argv[]) { pid_t tid; tid = syscall(SYS_gettid); tid = syscall(SYS_tgkill, getpid(), tid); } SEE ALSO
_syscall(2), intro(2), syscalls(2) COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at Linux 2012-08-14 SYSCALL(2)

Check Out this Related Man Page

syscall(3UCB)					     SunOS/BSD Compatibility Library Functions					     syscall(3UCB)

syscall - indirect system call SYNOPSIS
/usr/ucb/cc [ flag ... ] file ... #include <sys/syscall.h> int syscall(number, arg, ...); DESCRIPTION
syscall() performs the function whose assembly language interface has the specified number, and arguments arg .... Symbolic constants for functions can be found in the header <sys/syscall.h>. RETURN VALUES
On error syscall() returns -1 and sets the external variable errno (see intro(2)). FILES
<sys/syscall.h> SEE ALSO
intro(2), pipe(2) NOTES
Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system libraries or in multi-thread applications is unsupported. WARNINGS
There is no way to use syscall() to call functions such as pipe(2) which return values that do not fit into one hardware register. Since many system calls are implemented as library wrappers around traps to the kernel, these calls may not behave as documented when called from syscall(), which bypasses these wrappers. For these reasons, using syscall() is not recommended. SunOS 5.10 22 Jan 1993 syscall(3UCB)

7 More Discussions You Might Find Interesting

1. News, Links, Events and Announcements

Linux use in the US Government (0 Replies)
Discussion started by: norsk hedensk
0 Replies

2. AIX

how to read an APAR descr

please look at: IBM - IZ54713: SYSCALL BUFFER OVERFLOW VULNERABILITY how does this vague messages mean and what can I expect? Closed as program error. ? Status CLOSED PER ? PE NoPE ? HIPER NoHIPER ? regards,Raba (2 Replies)
Discussion started by: raba
2 Replies

3. UNIX for Advanced & Expert Users

how to distinguish entry/exit of a syscall when using ptrace?

Hi all, I am using ptrace to keep track of clone syscalls in a program. However, I found that the traced syscall cant be paired. for example, there are some syscalls that have entry, but without exit showing up in the traced sequences. So, is there anyway to distinguish the entry and exit of a... (0 Replies)
Discussion started by: tristartom
0 Replies

4. UNIX for Dummies Questions & Answers

linux include files

what is the relationship between /usr/include/sys/*.h and /usr/include/unistd.h ? Fuctions in unistd.h are syscalls. Do the fuctions in sys/*.h call syscalls? (7 Replies)
Discussion started by: vistastar
7 Replies

5. UNIX for Advanced & Expert Users

Process on CPU inside syscall

Hello Experts, If a Solaris process is calling some syscall, and right now execution is inside syscall doing only CPU work, for example the inside simplest times syscall, -> app_func => times << we are here now, we have entered in the times, but not exited yet <= times <- app_func... (9 Replies)
Discussion started by: sant
9 Replies

6. Red Hat

Adding our system call Fedora 18 -new syscall

Hi, I wanna add my own system call to Fedora 18 kernel 3.8.2. From kernel 3.3 I heard there is a new system to add system calls. So where i can find a guides ? I wanna print this text: "Hello world!" in terminal, not dmesg. (4 Replies)
Discussion started by: googz
4 Replies

7. Programming

Download file with socket syscall

Hello to all I want download a file in osx intel 64 with NASM , I want to use socket syscall This is part of my code section .data command db "GET /test/2.gif HTTP/1.1\r\nHost:\r\n\r\n", 0 ; url db "", 0 global main... (1 Reply)
Discussion started by: recher.jack
1 Replies

Featured Tech Videos