File: syscall.c

package info (click to toggle)
uclibc 1.0.54-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,176 kB
  • sloc: ansic: 230,009; asm: 30,803; cpp: 4,799; makefile: 2,911; sh: 716; yacc: 610; perl: 535; lex: 364; awk: 40
file content (28 lines) | stat: -rw-r--r-- 668 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
 * syscall() library function
 *
 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 */

#include <stdarg.h>
#include <sys/syscall.h>
#include <unistd.h>

long syscall(long sysnum, ...)
{

	unsigned long arg1, arg2, arg3, arg4, arg5, arg6;
	va_list arg;

	va_start (arg, sysnum);
	arg1 = va_arg (arg, unsigned long);
	arg2 = va_arg (arg, unsigned long);
	arg3 = va_arg (arg, unsigned long);
	arg4 = va_arg (arg, unsigned long);
	arg5 = va_arg (arg, unsigned long);
	arg6 = va_arg (arg, unsigned long);
	va_end (arg);

        __asm__ volatile ( "" ::: "memory" );
	return INLINE_SYSCALL_NCS(sysnum, 6, arg1, arg2, arg3, arg4, arg5, arg6);
}