syscalls.master (799ce8b8d2a061db1ca1e379fef638e2d22b6f29) | syscalls.master (be67ea40c5a0fd375d754a92e6cd8a3bfc508ba3) |
---|---|
1 $FreeBSD$ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; 4; System call name/number master file. 5; Processed to created init_sysent.c, syscalls.c and syscall.h. 6 7; New FreeBSD system calls should be added to the bottom of this file. 8 --- 35 unchanged lines hidden (view full) --- 44; NODEF same as STD except only have the entry in the syscall table 45; added. Meaning - do not create structure or function 46; prototype in sys/sysproto.h 47; NOPROTO same as STD except do not create structure or 48; function prototype in sys/sysproto.h. Does add a 49; definition to syscall.h besides adding a sysent. 50; NOTSTATIC syscall is loadable 51; CAPENABLED syscall is allowed in capability mode | 1 $FreeBSD$ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; 4; System call name/number master file. 5; Processed to created init_sysent.c, syscalls.c and syscall.h. 6 7; New FreeBSD system calls should be added to the bottom of this file. 8 --- 35 unchanged lines hidden (view full) --- 44; NODEF same as STD except only have the entry in the syscall table 45; added. Meaning - do not create structure or function 46; prototype in sys/sysproto.h 47; NOPROTO same as STD except do not create structure or 48; function prototype in sys/sysproto.h. Does add a 49; definition to syscall.h besides adding a sysent. 50; NOTSTATIC syscall is loadable 51; CAPENABLED syscall is allowed in capability mode |
52; 53; To support programmatic generation of both the default ABI and 32-bit compat 54; (freebsd32) we impose a number of restrictions on the types of system calls. 55; For integer types: 56; - Bare int and long are allowed (long is a sign of a bad interface). 57; - Use u_int and u_long rather than "unsigned (int|long)". 58; - size_t is allowed. 59; - typedefs are allowed, but new signed types that vary between 32- and 60; 64-bit ABIs must be added to makesyscalls.lua so it knows they require 61; handling. 62; - Always-64-bit types other than dev_t, id_t, and off_t must be added to 63; makesyscalls.lua. 64; For pointers: 65; - Prefer structs to typedefs so an ABI-specific suffix (e.g., "32") can 66; be prepended (e.g., ucontext_t -> struct ucontext -> struct ucontext32). 67; - Pointers to objects (structs, unions, etc) containing any long, pointer, 68; or time_t arguments need _Contains_ annotations. Such objects should be 69; padded such that all 64-bit types are 64-bit aligned. |
|
52 53; annotations: 54; SAL 2.0 annotations are used to specify how system calls treat 55; arguments that are passed using pointers. There are three basic 56; annotations. 57; 58; _In_ Object pointed to will be read and not modified. 59; _Out_ Object pointed to will be written and not read. --- 22 unchanged lines hidden (view full) --- 82; 83; long_ Object contains a direct (or typedef'd) long value and varies 84; between 32- and 64-bit ABIs. This includes size_t. 85; ptr_ Object contains pointers (or intptr_t) and varies between 86; 32- and 64-bit ABIs. 87; timet_ Object contains a time_t and varies between i386 and other 88; ABIs. 89 | 70 71; annotations: 72; SAL 2.0 annotations are used to specify how system calls treat 73; arguments that are passed using pointers. There are three basic 74; annotations. 75; 76; _In_ Object pointed to will be read and not modified. 77; _Out_ Object pointed to will be written and not read. --- 22 unchanged lines hidden (view full) --- 100; 101; long_ Object contains a direct (or typedef'd) long value and varies 102; between 32- and 64-bit ABIs. This includes size_t. 103; ptr_ Object contains pointers (or intptr_t) and varies between 104; 32- and 64-bit ABIs. 105; timet_ Object contains a time_t and varies between i386 and other 106; ABIs. 107 |
90; Please copy any additions and changes to the following compatability tables: 91; sys/compat/freebsd32/syscalls.master 92 | |
93; #ifdef's, etc. may be included, and are copied to the output files. 94 95#include <sys/param.h> 96#include <sys/sysent.h> 97#include <sys/sysproto.h> | 108; #ifdef's, etc. may be included, and are copied to the output files. 109 110#include <sys/param.h> 111#include <sys/sysent.h> 112#include <sys/sysproto.h> |
113%%ABI_HEADERS%% |
|
98 990 AUE_NULL STD { 100 int nosys(void); 101 } syscall nosys_args int 1021 AUE_EXIT STD|CAPENABLED { 103 void sys_exit( 104 int rval 105 ); --- 3176 unchanged lines hidden --- | 114 1150 AUE_NULL STD { 116 int nosys(void); 117 } syscall nosys_args int 1181 AUE_EXIT STD|CAPENABLED { 119 void sys_exit( 120 int rval 121 ); --- 3176 unchanged lines hidden --- |