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 ---