Sponsored Content
Full Discussion: dyncall 0.3 (Default branch)
Special Forums News, Links, Events and Announcements Software Releases - RSS News dyncall 0.3 (Default branch) Post 302277726 by Linux Bot on Saturday 17th of January 2009 03:10:03 PM
Old 01-17-2009
dyncall 0.3 (Default branch)

Image The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls. License: BSD License (revised) Changes:
Two new ports were added for ARM THUMB mode and PowerPC 32-bit System V ABI. The System V port has been tested on Linux, but the *BSDs are currently untested. A bug was fixed for cygwin/GNU as a tool chain. Additions and improvements were made in the test suites. Minor cosmetic changes and documentation updates were made. Image

Image

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

NAME
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 http://www.kernel.org/doc/man-pages/. Linux 2012-08-14 SYSCALL(2)
All times are GMT -4. The time now is 08:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy