View | Details | Raw Unified | Return to bug 214885 | Differences between
and this patch

Collapse All | Expand All

(-)b/usr.bin/truss/syscalls.c (+32 lines)
Lines 113-134 static struct syscall syscalls[] = { Link Here
113
	{ .name = "getsid", .ret_type = 1, .nargs = 1,
113
	{ .name = "getsid", .ret_type = 1, .nargs = 1,
114
	  .args = { { Int, 0 } } },
114
	  .args = { { Int, 0 } } },
115
	{ .name = "getuid", .ret_type = 1, .nargs = 0 },
115
	{ .name = "getuid", .ret_type = 1, .nargs = 0 },
116
	{ .name = "issetugid", .ret_type = 1, .nargs = 0 },
116
	{ .name = "readlink", .ret_type = 1, .nargs = 3,
117
	{ .name = "readlink", .ret_type = 1, .nargs = 3,
117
	  .args = { { Name, 0 } , { Readlinkres | OUT, 1 }, { Int, 2 } } },
118
	  .args = { { Name, 0 } , { Readlinkres | OUT, 1 }, { Int, 2 } } },
119
	{ .name = "dup", .ret_type = 1, .nargs = 1,
120
	  .args = { { Int, 0 } } },
121
	{ .name = "dup2", .ret_type = 1, .nargs = 2,
122
	  .args = { { Int, 0 }, { Int, 1 } } },
118
	{ .name = "lseek", .ret_type = 2, .nargs = 3,
123
	{ .name = "lseek", .ret_type = 2, .nargs = 3,
119
	  .args = { { Int, 0 }, { Quad, 1 + QUAD_ALIGN }, { Whence, 1 + QUAD_SLOTS + QUAD_ALIGN } } },
124
	  .args = { { Int, 0 }, { Quad, 1 + QUAD_ALIGN }, { Whence, 1 + QUAD_SLOTS + QUAD_ALIGN } } },
120
	{ .name = "linux_lseek", .ret_type = 2, .nargs = 3,
125
	{ .name = "linux_lseek", .ret_type = 2, .nargs = 3,
121
	  .args = { { Int, 0 }, { Int, 1 }, { Whence, 2 } } },
126
	  .args = { { Int, 0 }, { Int, 1 }, { Whence, 2 } } },
127
	{ .name = "posix_fadvise", .ret_type = 1, .nargs = 4,
128
	  .args = { { Int, 0 }, { Quad, 1 + QUAD_ALIGN }, { Quad, 1 + QUAD_SLOTS + QUAD_ALIGN }, { Int, 1 + 2 * (QUAD_SLOTS + QUAD_ALIGN) } } },
122
	{ .name = "mmap", .ret_type = 2, .nargs = 6,
129
	{ .name = "mmap", .ret_type = 2, .nargs = 6,
123
	  .args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 }, { Mmapflags, 3 }, { Int, 4 }, { Quad, 5 + QUAD_ALIGN } } },
130
	  .args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 }, { Mmapflags, 3 }, { Int, 4 }, { Quad, 5 + QUAD_ALIGN } } },
124
	{ .name = "linux_mkdir", .ret_type = 1, .nargs = 2,
131
	{ .name = "linux_mkdir", .ret_type = 1, .nargs = 2,
125
	  .args = { { Name | IN, 0} , {Int, 1}}},
132
	  .args = { { Name | IN, 0} , {Int, 1}}},
126
	{ .name = "mprotect", .ret_type = 1, .nargs = 3,
133
	{ .name = "mprotect", .ret_type = 1, .nargs = 3,
127
	  .args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 } } },
134
	  .args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 } } },
135
	{ .name = "openat", .ret_type = 1, .nargs = 4,
136
	  .args = { { Int, 0 }, { Name | IN, 1 } , { Open, 2 }, { Octal, 3 } } },
128
	{ .name = "open", .ret_type = 1, .nargs = 3,
137
	{ .name = "open", .ret_type = 1, .nargs = 3,
129
	  .args = { { Name | IN, 0 } , { Open, 1 }, { Octal, 2 } } },
138
	  .args = { { Name | IN, 0 } , { Open, 1 }, { Octal, 2 } } },
130
	{ .name = "mkdir", .ret_type = 1, .nargs = 2,
139
	{ .name = "mkdir", .ret_type = 1, .nargs = 2,
131
	  .args = { { Name, 0 } , { Octal, 1 } } },
140
	  .args = { { Name, 0 } , { Octal, 1 } } },
141
	{ .name = "mkdirat", .ret_type = 1, .nargs = 3,
142
	  .args = { { Int, 0 }, { Name, 1 }, { Octal, 2 } } },
132
	{ .name = "linux_open", .ret_type = 1, .nargs = 3,
143
	{ .name = "linux_open", .ret_type = 1, .nargs = 3,
133
	  .args = { { Name, 0 }, { Hex, 1 }, { Octal, 2 } } },
144
	  .args = { { Name, 0 }, { Hex, 1 }, { Octal, 2 } } },
134
	{ .name = "close", .ret_type = 1, .nargs = 1,
145
	{ .name = "close", .ret_type = 1, .nargs = 1,
Lines 137-142 static struct syscall syscalls[] = { Link Here
137
	  .args = { { Name, 0 }, { Name, 1 } } },
148
	  .args = { { Name, 0 }, { Name, 1 } } },
138
	{ .name = "unlink", .ret_type = 0, .nargs = 1,
149
	{ .name = "unlink", .ret_type = 0, .nargs = 1,
139
	  .args = { { Name, 0 } } },
150
	  .args = { { Name, 0 } } },
151
	{ .name = "unlinkat", .ret_type = 0, .nargs = 3,
152
	  .args = { { Int, 0 }, { Name, 1 }, { Int, 2 } } },
140
	{ .name = "chdir", .ret_type = 0, .nargs = 1,
153
	{ .name = "chdir", .ret_type = 0, .nargs = 1,
141
	  .args = { { Name, 0 } } },
154
	  .args = { { Name, 0 } } },
142
	{ .name = "chroot", .ret_type = 0, .nargs = 1,
155
	{ .name = "chroot", .ret_type = 0, .nargs = 1,
Lines 145-150 static struct syscall syscalls[] = { Link Here
145
	  .args = { { Name, 0 }, { Octal, 1 }, { Int, 3 } } },
158
	  .args = { { Name, 0 }, { Octal, 1 }, { Int, 3 } } },
146
	{ .name = "chmod", .ret_type = 0, .nargs = 2,
159
	{ .name = "chmod", .ret_type = 0, .nargs = 2,
147
	  .args = { { Name, 0 }, { Octal, 1 } } },
160
	  .args = { { Name, 0 }, { Octal, 1 } } },
161
	{ .name = "lchmod", .ret_type = 0, .nargs = 2,
162
	  .args = { { Name, 0 }, { Octal, 1 } } },
163
	{ .name = "fchmod", .ret_type = 0, .nargs = 2,
164
	  .args = { { Int, 0 }, { Octal, 1 } } },
165
	{ .name = "fchmodat", .ret_type = 0, .nargs = 4,
166
	  .args = { { Int, 0 }, { Name, 1 }, { Octal, 2 }, { Int, 3 } } },
148
	{ .name = "chown", .ret_type = 0, .nargs = 3,
167
	{ .name = "chown", .ret_type = 0, .nargs = 3,
149
	  .args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } },
168
	  .args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } },
150
	{ .name = "linux_stat64", .ret_type = 1, .nargs = 3,
169
	{ .name = "linux_stat64", .ret_type = 1, .nargs = 3,
Lines 153-160 static struct syscall syscalls[] = { Link Here
153
	  .args = { { Name, 0 }, { Name, 1 }, { Int, 2 }, { Ptr, 3 } } },
172
	  .args = { { Name, 0 }, { Name, 1 }, { Int, 2 }, { Ptr, 3 } } },
154
	{ .name = "umount", .ret_type = 0, .nargs = 2,
173
	{ .name = "umount", .ret_type = 0, .nargs = 2,
155
	  .args = { { Name, 0 }, { Int, 2 } } },
174
	  .args = { { Name, 0 }, { Int, 2 } } },
175
	{ .name = "getdirentries", .ret_type = 1, .nargs = 4,
176
	  .args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 }, { Ptr, 3 } } },
156
	{ .name = "fstat", .ret_type = 1, .nargs = 2,
177
	{ .name = "fstat", .ret_type = 1, .nargs = 2,
157
	  .args = { { Int, 0 }, { Stat | OUT , 1 } } },
178
	  .args = { { Int, 0 }, { Stat | OUT , 1 } } },
179
	{ .name = "fstatat", .ret_type = 1, .nargs = 4,
180
	  .args = { { Int, 0 }, { Name | IN, 1 }, { Stat | OUT, 2 }, { Int, 3 } } },
158
	{ .name = "stat", .ret_type = 1, .nargs = 2,
181
	{ .name = "stat", .ret_type = 1, .nargs = 2,
159
	  .args = { { Name | IN, 0 }, { Stat | OUT, 1 } } },
182
	  .args = { { Name | IN, 0 }, { Stat | OUT, 1 } } },
160
	{ .name = "lstat", .ret_type = 1, .nargs = 2,
183
	{ .name = "lstat", .ret_type = 1, .nargs = 2,
Lines 165-170 static struct syscall syscalls[] = { Link Here
165
	  .args = { { Name, 0 }, { Int, 1 }}},
188
	  .args = { { Name, 0 }, { Int, 1 }}},
166
	{ .name = "linux_newfstat", .ret_type = 1, .nargs = 2,
189
	{ .name = "linux_newfstat", .ret_type = 1, .nargs = 2,
167
	  .args = { { Int, 0 }, { Ptr | OUT, 1 } } },
190
	  .args = { { Int, 0 }, { Ptr | OUT, 1 } } },
191
	{ .name = "pwrite", .ret_type = 1, .nargs = 4,
192
	  .args = { { Int, 0 }, { BinString | IN, 1 }, { Int, 2 }, { Quad, 3 + QUAD_ALIGN } } },
168
	{ .name = "write", .ret_type = 1, .nargs = 3,
193
	{ .name = "write", .ret_type = 1, .nargs = 3,
169
	  .args = { { Int, 0 }, { BinString | IN, 1 }, { Int, 2 } } },
194
	  .args = { { Int, 0 }, { BinString | IN, 1 }, { Int, 2 } } },
170
	{ .name = "ioctl", .ret_type = 1, .nargs = 3,
195
	{ .name = "ioctl", .ret_type = 1, .nargs = 3,
Lines 223-228 static struct syscall syscalls[] = { Link Here
223
	  .args = { { Int, 0 }, { Itimerval, 1 } , { Itimerval | OUT, 2 } } },
248
	  .args = { { Int, 0 }, { Itimerval, 1 } , { Itimerval | OUT, 2 } } },
224
	{ .name = "kse_release", .ret_type = 0, .nargs = 1,
249
	{ .name = "kse_release", .ret_type = 0, .nargs = 1,
225
	  .args = { { Timespec, 0 } } },
250
	  .args = { { Timespec, 0 } } },
251
	{ .name = "kqueue", .ret_type = 0, .nargs = 0 },
226
	{ .name = "kevent", .ret_type = 0, .nargs = 6,
252
	{ .name = "kevent", .ret_type = 0, .nargs = 6,
227
	  .args = { { Int, 0 }, { Kevent, 1 }, { Int, 2 }, { Kevent | OUT, 3 }, { Int, 4 }, { Timespec, 5 } } },
253
	  .args = { { Int, 0 }, { Kevent, 1 }, { Int, 2 }, { Kevent | OUT, 3 }, { Int, 4 }, { Timespec, 5 } } },
228
	{ .name = "_umtx_lock", .ret_type = 0, .nargs = 1,
254
	{ .name = "_umtx_lock", .ret_type = 0, .nargs = 1,
Lines 259-264 static struct syscall syscalls[] = { Link Here
259
	  .args = { { Name | IN, 0 }, { Pathconf, 1 } } },
285
	  .args = { { Name | IN, 0 }, { Pathconf, 1 } } },
260
	{ .name = "pipe", .ret_type = 1, .nargs = 1,
286
	{ .name = "pipe", .ret_type = 1, .nargs = 1,
261
	  .args = { { Ptr, 0 } } },
287
	  .args = { { Ptr, 0 } } },
288
	{ .name = "pipe2", .ret_type = 1, .nargs = 2,
289
	  .args = { { Ptr, 0 }, { Int, 1 } } },
262
	{ .name = "truncate", .ret_type = 1, .nargs = 3,
290
	{ .name = "truncate", .ret_type = 1, .nargs = 3,
263
	  .args = { { Name | IN, 0 }, { Int | IN, 1 }, { Quad | IN, 2 } } },
291
	  .args = { { Name | IN, 0 }, { Int | IN, 1 }, { Quad | IN, 2 } } },
264
	{ .name = "ftruncate", .ret_type = 1, .nargs = 3,
292
	{ .name = "ftruncate", .ret_type = 1, .nargs = 3,
Lines 267-278 static struct syscall syscalls[] = { Link Here
267
	  .args = { { Int | IN, 0 }, { Signal | IN, 1 } } },
295
	  .args = { { Int | IN, 0 }, { Signal | IN, 1 } } },
268
	{ .name = "munmap", .ret_type = 1, .nargs = 2,
296
	{ .name = "munmap", .ret_type = 1, .nargs = 2,
269
	  .args = { { Ptr, 0 }, { Int, 1 } } },
297
	  .args = { { Ptr, 0 }, { Int, 1 } } },
298
	{ .name = "pread", .ret_type = 1, .nargs = 4,
299
	  .args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 }, { Quad, 3 + QUAD_ALIGN } } },
270
	{ .name = "read", .ret_type = 1, .nargs = 3,
300
	{ .name = "read", .ret_type = 1, .nargs = 3,
271
	  .args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 } } },
301
	  .args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 } } },
272
	{ .name = "rename", .ret_type = 1, .nargs = 2,
302
	{ .name = "rename", .ret_type = 1, .nargs = 2,
273
	  .args = { { Name , 0 } , { Name, 1 } } },
303
	  .args = { { Name , 0 } , { Name, 1 } } },
274
	{ .name = "symlink", .ret_type = 1, .nargs = 2,
304
	{ .name = "symlink", .ret_type = 1, .nargs = 2,
275
	  .args = { { Name , 0 } , { Name, 1 } } },
305
	  .args = { { Name , 0 } , { Name, 1 } } },
306
	{ .name = "symlinkat", .ret_type = 1, .nargs = 3,
307
	  .args = { { Name , 0 } , { Int, 1 }, { Name, 2 } } },
276
	{ .name = "posix_openpt", .ret_type = 1, .nargs = 1,
308
	{ .name = "posix_openpt", .ret_type = 1, .nargs = 1,
277
	  .args = { { Open, 0 } } },
309
	  .args = { { Open, 0 } } },
278
	{ .name = "wait4", .ret_type = 1, .nargs = 4,
310
	{ .name = "wait4", .ret_type = 1, .nargs = 4,

Return to bug 214885