]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/compat/cloudabi64/cloudabi64_systrace_args.c
MFV r316932: 6280 libzfs: unshare_one() could fail with EZFS_SHARENFSFAILED
[FreeBSD/FreeBSD.git] / sys / compat / cloudabi64 / cloudabi64_systrace_args.c
1 /*
2  * System call argument to DTrace register array converstion.
3  *
4  * DO NOT EDIT-- this file is automatically generated.
5  * $FreeBSD$
6  * This file is part of the DTrace syscall provider.
7  */
8
9 static void
10 systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
11 {
12         int64_t *iarg  = (int64_t *) uarg;
13         switch (sysnum) {
14         /* cloudabi_sys_clock_res_get */
15         case 0: {
16                 struct cloudabi_sys_clock_res_get_args *p = params;
17                 iarg[0] = p->clock_id; /* cloudabi_clockid_t */
18                 *n_args = 1;
19                 break;
20         }
21         /* cloudabi_sys_clock_time_get */
22         case 1: {
23                 struct cloudabi_sys_clock_time_get_args *p = params;
24                 iarg[0] = p->clock_id; /* cloudabi_clockid_t */
25                 iarg[1] = p->precision; /* cloudabi_timestamp_t */
26                 *n_args = 2;
27                 break;
28         }
29         /* cloudabi_sys_condvar_signal */
30         case 2: {
31                 struct cloudabi_sys_condvar_signal_args *p = params;
32                 uarg[0] = (intptr_t) p->condvar; /* cloudabi_condvar_t * */
33                 iarg[1] = p->scope; /* cloudabi_scope_t */
34                 iarg[2] = p->nwaiters; /* cloudabi_nthreads_t */
35                 *n_args = 3;
36                 break;
37         }
38         /* cloudabi_sys_fd_close */
39         case 3: {
40                 struct cloudabi_sys_fd_close_args *p = params;
41                 iarg[0] = p->fd; /* cloudabi_fd_t */
42                 *n_args = 1;
43                 break;
44         }
45         /* cloudabi_sys_fd_create1 */
46         case 4: {
47                 struct cloudabi_sys_fd_create1_args *p = params;
48                 iarg[0] = p->type; /* cloudabi_filetype_t */
49                 *n_args = 1;
50                 break;
51         }
52         /* cloudabi_sys_fd_create2 */
53         case 5: {
54                 struct cloudabi_sys_fd_create2_args *p = params;
55                 iarg[0] = p->type; /* cloudabi_filetype_t */
56                 *n_args = 1;
57                 break;
58         }
59         /* cloudabi_sys_fd_datasync */
60         case 6: {
61                 struct cloudabi_sys_fd_datasync_args *p = params;
62                 iarg[0] = p->fd; /* cloudabi_fd_t */
63                 *n_args = 1;
64                 break;
65         }
66         /* cloudabi_sys_fd_dup */
67         case 7: {
68                 struct cloudabi_sys_fd_dup_args *p = params;
69                 iarg[0] = p->from; /* cloudabi_fd_t */
70                 *n_args = 1;
71                 break;
72         }
73         /* cloudabi64_sys_fd_pread */
74         case 8: {
75                 struct cloudabi64_sys_fd_pread_args *p = params;
76                 iarg[0] = p->fd; /* cloudabi_fd_t */
77                 uarg[1] = (intptr_t) p->iovs; /* const cloudabi64_iovec_t * */
78                 uarg[2] = p->iovs_len; /* size_t */
79                 iarg[3] = p->offset; /* cloudabi_filesize_t */
80                 *n_args = 4;
81                 break;
82         }
83         /* cloudabi64_sys_fd_pwrite */
84         case 9: {
85                 struct cloudabi64_sys_fd_pwrite_args *p = params;
86                 iarg[0] = p->fd; /* cloudabi_fd_t */
87                 uarg[1] = (intptr_t) p->iovs; /* const cloudabi64_ciovec_t * */
88                 uarg[2] = p->iovs_len; /* size_t */
89                 iarg[3] = p->offset; /* cloudabi_filesize_t */
90                 *n_args = 4;
91                 break;
92         }
93         /* cloudabi64_sys_fd_read */
94         case 10: {
95                 struct cloudabi64_sys_fd_read_args *p = params;
96                 iarg[0] = p->fd; /* cloudabi_fd_t */
97                 uarg[1] = (intptr_t) p->iovs; /* const cloudabi64_iovec_t * */
98                 uarg[2] = p->iovs_len; /* size_t */
99                 *n_args = 3;
100                 break;
101         }
102         /* cloudabi_sys_fd_replace */
103         case 11: {
104                 struct cloudabi_sys_fd_replace_args *p = params;
105                 iarg[0] = p->from; /* cloudabi_fd_t */
106                 iarg[1] = p->to; /* cloudabi_fd_t */
107                 *n_args = 2;
108                 break;
109         }
110         /* cloudabi_sys_fd_seek */
111         case 12: {
112                 struct cloudabi_sys_fd_seek_args *p = params;
113                 iarg[0] = p->fd; /* cloudabi_fd_t */
114                 iarg[1] = p->offset; /* cloudabi_filedelta_t */
115                 iarg[2] = p->whence; /* cloudabi_whence_t */
116                 *n_args = 3;
117                 break;
118         }
119         /* cloudabi_sys_fd_stat_get */
120         case 13: {
121                 struct cloudabi_sys_fd_stat_get_args *p = params;
122                 iarg[0] = p->fd; /* cloudabi_fd_t */
123                 uarg[1] = (intptr_t) p->buf; /* cloudabi_fdstat_t * */
124                 *n_args = 2;
125                 break;
126         }
127         /* cloudabi_sys_fd_stat_put */
128         case 14: {
129                 struct cloudabi_sys_fd_stat_put_args *p = params;
130                 iarg[0] = p->fd; /* cloudabi_fd_t */
131                 uarg[1] = (intptr_t) p->buf; /* const cloudabi_fdstat_t * */
132                 iarg[2] = p->flags; /* cloudabi_fdsflags_t */
133                 *n_args = 3;
134                 break;
135         }
136         /* cloudabi_sys_fd_sync */
137         case 15: {
138                 struct cloudabi_sys_fd_sync_args *p = params;
139                 iarg[0] = p->fd; /* cloudabi_fd_t */
140                 *n_args = 1;
141                 break;
142         }
143         /* cloudabi64_sys_fd_write */
144         case 16: {
145                 struct cloudabi64_sys_fd_write_args *p = params;
146                 iarg[0] = p->fd; /* cloudabi_fd_t */
147                 uarg[1] = (intptr_t) p->iovs; /* const cloudabi64_ciovec_t * */
148                 uarg[2] = p->iovs_len; /* size_t */
149                 *n_args = 3;
150                 break;
151         }
152         /* cloudabi_sys_file_advise */
153         case 17: {
154                 struct cloudabi_sys_file_advise_args *p = params;
155                 iarg[0] = p->fd; /* cloudabi_fd_t */
156                 iarg[1] = p->offset; /* cloudabi_filesize_t */
157                 iarg[2] = p->len; /* cloudabi_filesize_t */
158                 iarg[3] = p->advice; /* cloudabi_advice_t */
159                 *n_args = 4;
160                 break;
161         }
162         /* cloudabi_sys_file_allocate */
163         case 18: {
164                 struct cloudabi_sys_file_allocate_args *p = params;
165                 iarg[0] = p->fd; /* cloudabi_fd_t */
166                 iarg[1] = p->offset; /* cloudabi_filesize_t */
167                 iarg[2] = p->len; /* cloudabi_filesize_t */
168                 *n_args = 3;
169                 break;
170         }
171         /* cloudabi_sys_file_create */
172         case 19: {
173                 struct cloudabi_sys_file_create_args *p = params;
174                 iarg[0] = p->fd; /* cloudabi_fd_t */
175                 uarg[1] = (intptr_t) p->path; /* const char * */
176                 uarg[2] = p->path_len; /* size_t */
177                 iarg[3] = p->type; /* cloudabi_filetype_t */
178                 *n_args = 4;
179                 break;
180         }
181         /* cloudabi_sys_file_link */
182         case 20: {
183                 struct cloudabi_sys_file_link_args *p = params;
184                 iarg[0] = p->fd1; /* cloudabi_lookup_t */
185                 uarg[1] = (intptr_t) p->path1; /* const char * */
186                 uarg[2] = p->path1_len; /* size_t */
187                 iarg[3] = p->fd2; /* cloudabi_fd_t */
188                 uarg[4] = (intptr_t) p->path2; /* const char * */
189                 uarg[5] = p->path2_len; /* size_t */
190                 *n_args = 6;
191                 break;
192         }
193         /* cloudabi_sys_file_open */
194         case 21: {
195                 struct cloudabi_sys_file_open_args *p = params;
196                 iarg[0] = p->dirfd; /* cloudabi_lookup_t */
197                 uarg[1] = (intptr_t) p->path; /* const char * */
198                 uarg[2] = p->path_len; /* size_t */
199                 iarg[3] = p->oflags; /* cloudabi_oflags_t */
200                 uarg[4] = (intptr_t) p->fds; /* const cloudabi_fdstat_t * */
201                 *n_args = 5;
202                 break;
203         }
204         /* cloudabi_sys_file_readdir */
205         case 22: {
206                 struct cloudabi_sys_file_readdir_args *p = params;
207                 iarg[0] = p->fd; /* cloudabi_fd_t */
208                 uarg[1] = (intptr_t) p->buf; /* void * */
209                 uarg[2] = p->buf_len; /* size_t */
210                 iarg[3] = p->cookie; /* cloudabi_dircookie_t */
211                 *n_args = 4;
212                 break;
213         }
214         /* cloudabi_sys_file_readlink */
215         case 23: {
216                 struct cloudabi_sys_file_readlink_args *p = params;
217                 iarg[0] = p->fd; /* cloudabi_fd_t */
218                 uarg[1] = (intptr_t) p->path; /* const char * */
219                 uarg[2] = p->path_len; /* size_t */
220                 uarg[3] = (intptr_t) p->buf; /* char * */
221                 uarg[4] = p->buf_len; /* size_t */
222                 *n_args = 5;
223                 break;
224         }
225         /* cloudabi_sys_file_rename */
226         case 24: {
227                 struct cloudabi_sys_file_rename_args *p = params;
228                 iarg[0] = p->fd1; /* cloudabi_fd_t */
229                 uarg[1] = (intptr_t) p->path1; /* const char * */
230                 uarg[2] = p->path1_len; /* size_t */
231                 iarg[3] = p->fd2; /* cloudabi_fd_t */
232                 uarg[4] = (intptr_t) p->path2; /* const char * */
233                 uarg[5] = p->path2_len; /* size_t */
234                 *n_args = 6;
235                 break;
236         }
237         /* cloudabi_sys_file_stat_fget */
238         case 25: {
239                 struct cloudabi_sys_file_stat_fget_args *p = params;
240                 iarg[0] = p->fd; /* cloudabi_fd_t */
241                 uarg[1] = (intptr_t) p->buf; /* cloudabi_filestat_t * */
242                 *n_args = 2;
243                 break;
244         }
245         /* cloudabi_sys_file_stat_fput */
246         case 26: {
247                 struct cloudabi_sys_file_stat_fput_args *p = params;
248                 iarg[0] = p->fd; /* cloudabi_fd_t */
249                 uarg[1] = (intptr_t) p->buf; /* const cloudabi_filestat_t * */
250                 iarg[2] = p->flags; /* cloudabi_fsflags_t */
251                 *n_args = 3;
252                 break;
253         }
254         /* cloudabi_sys_file_stat_get */
255         case 27: {
256                 struct cloudabi_sys_file_stat_get_args *p = params;
257                 iarg[0] = p->fd; /* cloudabi_lookup_t */
258                 uarg[1] = (intptr_t) p->path; /* const char * */
259                 uarg[2] = p->path_len; /* size_t */
260                 uarg[3] = (intptr_t) p->buf; /* cloudabi_filestat_t * */
261                 *n_args = 4;
262                 break;
263         }
264         /* cloudabi_sys_file_stat_put */
265         case 28: {
266                 struct cloudabi_sys_file_stat_put_args *p = params;
267                 iarg[0] = p->fd; /* cloudabi_lookup_t */
268                 uarg[1] = (intptr_t) p->path; /* const char * */
269                 uarg[2] = p->path_len; /* size_t */
270                 uarg[3] = (intptr_t) p->buf; /* const cloudabi_filestat_t * */
271                 iarg[4] = p->flags; /* cloudabi_fsflags_t */
272                 *n_args = 5;
273                 break;
274         }
275         /* cloudabi_sys_file_symlink */
276         case 29: {
277                 struct cloudabi_sys_file_symlink_args *p = params;
278                 uarg[0] = (intptr_t) p->path1; /* const char * */
279                 uarg[1] = p->path1_len; /* size_t */
280                 iarg[2] = p->fd; /* cloudabi_fd_t */
281                 uarg[3] = (intptr_t) p->path2; /* const char * */
282                 uarg[4] = p->path2_len; /* size_t */
283                 *n_args = 5;
284                 break;
285         }
286         /* cloudabi_sys_file_unlink */
287         case 30: {
288                 struct cloudabi_sys_file_unlink_args *p = params;
289                 iarg[0] = p->fd; /* cloudabi_fd_t */
290                 uarg[1] = (intptr_t) p->path; /* const char * */
291                 uarg[2] = p->path_len; /* size_t */
292                 iarg[3] = p->flags; /* cloudabi_ulflags_t */
293                 *n_args = 4;
294                 break;
295         }
296         /* cloudabi_sys_lock_unlock */
297         case 31: {
298                 struct cloudabi_sys_lock_unlock_args *p = params;
299                 uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
300                 iarg[1] = p->scope; /* cloudabi_scope_t */
301                 *n_args = 2;
302                 break;
303         }
304         /* cloudabi_sys_mem_advise */
305         case 32: {
306                 struct cloudabi_sys_mem_advise_args *p = params;
307                 uarg[0] = (intptr_t) p->mapping; /* void * */
308                 uarg[1] = p->mapping_len; /* size_t */
309                 iarg[2] = p->advice; /* cloudabi_advice_t */
310                 *n_args = 3;
311                 break;
312         }
313         /* cloudabi_sys_mem_map */
314         case 33: {
315                 struct cloudabi_sys_mem_map_args *p = params;
316                 uarg[0] = (intptr_t) p->addr; /* void * */
317                 uarg[1] = p->len; /* size_t */
318                 iarg[2] = p->prot; /* cloudabi_mprot_t */
319                 iarg[3] = p->flags; /* cloudabi_mflags_t */
320                 iarg[4] = p->fd; /* cloudabi_fd_t */
321                 iarg[5] = p->off; /* cloudabi_filesize_t */
322                 *n_args = 6;
323                 break;
324         }
325         /* cloudabi_sys_mem_protect */
326         case 34: {
327                 struct cloudabi_sys_mem_protect_args *p = params;
328                 uarg[0] = (intptr_t) p->mapping; /* void * */
329                 uarg[1] = p->mapping_len; /* size_t */
330                 iarg[2] = p->prot; /* cloudabi_mprot_t */
331                 *n_args = 3;
332                 break;
333         }
334         /* cloudabi_sys_mem_sync */
335         case 35: {
336                 struct cloudabi_sys_mem_sync_args *p = params;
337                 uarg[0] = (intptr_t) p->mapping; /* void * */
338                 uarg[1] = p->mapping_len; /* size_t */
339                 iarg[2] = p->flags; /* cloudabi_msflags_t */
340                 *n_args = 3;
341                 break;
342         }
343         /* cloudabi_sys_mem_unmap */
344         case 36: {
345                 struct cloudabi_sys_mem_unmap_args *p = params;
346                 uarg[0] = (intptr_t) p->mapping; /* void * */
347                 uarg[1] = p->mapping_len; /* size_t */
348                 *n_args = 2;
349                 break;
350         }
351         /* cloudabi64_sys_poll */
352         case 37: {
353                 struct cloudabi64_sys_poll_args *p = params;
354                 uarg[0] = (intptr_t) p->in; /* const cloudabi64_subscription_t * */
355                 uarg[1] = (intptr_t) p->out; /* cloudabi64_event_t * */
356                 uarg[2] = p->nsubscriptions; /* size_t */
357                 *n_args = 3;
358                 break;
359         }
360         /* cloudabi64_sys_poll_fd */
361         case 38: {
362                 struct cloudabi64_sys_poll_fd_args *p = params;
363                 iarg[0] = p->fd; /* cloudabi_fd_t */
364                 uarg[1] = (intptr_t) p->in; /* const cloudabi64_subscription_t * */
365                 uarg[2] = p->in_len; /* size_t */
366                 uarg[3] = (intptr_t) p->out; /* cloudabi64_event_t * */
367                 uarg[4] = p->out_len; /* size_t */
368                 uarg[5] = (intptr_t) p->timeout; /* const cloudabi64_subscription_t * */
369                 *n_args = 6;
370                 break;
371         }
372         /* cloudabi_sys_proc_exec */
373         case 39: {
374                 struct cloudabi_sys_proc_exec_args *p = params;
375                 iarg[0] = p->fd; /* cloudabi_fd_t */
376                 uarg[1] = (intptr_t) p->data; /* const void * */
377                 uarg[2] = p->data_len; /* size_t */
378                 uarg[3] = (intptr_t) p->fds; /* const cloudabi_fd_t * */
379                 uarg[4] = p->fds_len; /* size_t */
380                 *n_args = 5;
381                 break;
382         }
383         /* cloudabi_sys_proc_exit */
384         case 40: {
385                 struct cloudabi_sys_proc_exit_args *p = params;
386                 iarg[0] = p->rval; /* cloudabi_exitcode_t */
387                 *n_args = 1;
388                 break;
389         }
390         /* cloudabi_sys_proc_fork */
391         case 41: {
392                 *n_args = 0;
393                 break;
394         }
395         /* cloudabi_sys_proc_raise */
396         case 42: {
397                 struct cloudabi_sys_proc_raise_args *p = params;
398                 iarg[0] = p->sig; /* cloudabi_signal_t */
399                 *n_args = 1;
400                 break;
401         }
402         /* cloudabi_sys_random_get */
403         case 43: {
404                 struct cloudabi_sys_random_get_args *p = params;
405                 uarg[0] = (intptr_t) p->buf; /* void * */
406                 uarg[1] = p->buf_len; /* size_t */
407                 *n_args = 2;
408                 break;
409         }
410         /* cloudabi64_sys_sock_recv */
411         case 44: {
412                 struct cloudabi64_sys_sock_recv_args *p = params;
413                 iarg[0] = p->sock; /* cloudabi_fd_t */
414                 uarg[1] = (intptr_t) p->in; /* const cloudabi64_recv_in_t * */
415                 uarg[2] = (intptr_t) p->out; /* cloudabi64_recv_out_t * */
416                 *n_args = 3;
417                 break;
418         }
419         /* cloudabi64_sys_sock_send */
420         case 45: {
421                 struct cloudabi64_sys_sock_send_args *p = params;
422                 iarg[0] = p->sock; /* cloudabi_fd_t */
423                 uarg[1] = (intptr_t) p->in; /* const cloudabi64_send_in_t * */
424                 uarg[2] = (intptr_t) p->out; /* cloudabi64_send_out_t * */
425                 *n_args = 3;
426                 break;
427         }
428         /* cloudabi_sys_sock_shutdown */
429         case 46: {
430                 struct cloudabi_sys_sock_shutdown_args *p = params;
431                 iarg[0] = p->sock; /* cloudabi_fd_t */
432                 iarg[1] = p->how; /* cloudabi_sdflags_t */
433                 *n_args = 2;
434                 break;
435         }
436         /* cloudabi64_sys_thread_create */
437         case 47: {
438                 struct cloudabi64_sys_thread_create_args *p = params;
439                 uarg[0] = (intptr_t) p->attr; /* cloudabi64_threadattr_t * */
440                 *n_args = 1;
441                 break;
442         }
443         /* cloudabi_sys_thread_exit */
444         case 48: {
445                 struct cloudabi_sys_thread_exit_args *p = params;
446                 uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
447                 iarg[1] = p->scope; /* cloudabi_scope_t */
448                 *n_args = 2;
449                 break;
450         }
451         /* cloudabi_sys_thread_yield */
452         case 49: {
453                 *n_args = 0;
454                 break;
455         }
456         default:
457                 *n_args = 0;
458                 break;
459         };
460 }
461 static void
462 systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
463 {
464         const char *p = NULL;
465         switch (sysnum) {
466         /* cloudabi_sys_clock_res_get */
467         case 0:
468                 switch(ndx) {
469                 case 0:
470                         p = "cloudabi_clockid_t";
471                         break;
472                 default:
473                         break;
474                 };
475                 break;
476         /* cloudabi_sys_clock_time_get */
477         case 1:
478                 switch(ndx) {
479                 case 0:
480                         p = "cloudabi_clockid_t";
481                         break;
482                 case 1:
483                         p = "cloudabi_timestamp_t";
484                         break;
485                 default:
486                         break;
487                 };
488                 break;
489         /* cloudabi_sys_condvar_signal */
490         case 2:
491                 switch(ndx) {
492                 case 0:
493                         p = "userland cloudabi_condvar_t *";
494                         break;
495                 case 1:
496                         p = "cloudabi_scope_t";
497                         break;
498                 case 2:
499                         p = "cloudabi_nthreads_t";
500                         break;
501                 default:
502                         break;
503                 };
504                 break;
505         /* cloudabi_sys_fd_close */
506         case 3:
507                 switch(ndx) {
508                 case 0:
509                         p = "cloudabi_fd_t";
510                         break;
511                 default:
512                         break;
513                 };
514                 break;
515         /* cloudabi_sys_fd_create1 */
516         case 4:
517                 switch(ndx) {
518                 case 0:
519                         p = "cloudabi_filetype_t";
520                         break;
521                 default:
522                         break;
523                 };
524                 break;
525         /* cloudabi_sys_fd_create2 */
526         case 5:
527                 switch(ndx) {
528                 case 0:
529                         p = "cloudabi_filetype_t";
530                         break;
531                 default:
532                         break;
533                 };
534                 break;
535         /* cloudabi_sys_fd_datasync */
536         case 6:
537                 switch(ndx) {
538                 case 0:
539                         p = "cloudabi_fd_t";
540                         break;
541                 default:
542                         break;
543                 };
544                 break;
545         /* cloudabi_sys_fd_dup */
546         case 7:
547                 switch(ndx) {
548                 case 0:
549                         p = "cloudabi_fd_t";
550                         break;
551                 default:
552                         break;
553                 };
554                 break;
555         /* cloudabi64_sys_fd_pread */
556         case 8:
557                 switch(ndx) {
558                 case 0:
559                         p = "cloudabi_fd_t";
560                         break;
561                 case 1:
562                         p = "userland const cloudabi64_iovec_t *";
563                         break;
564                 case 2:
565                         p = "size_t";
566                         break;
567                 case 3:
568                         p = "cloudabi_filesize_t";
569                         break;
570                 default:
571                         break;
572                 };
573                 break;
574         /* cloudabi64_sys_fd_pwrite */
575         case 9:
576                 switch(ndx) {
577                 case 0:
578                         p = "cloudabi_fd_t";
579                         break;
580                 case 1:
581                         p = "userland const cloudabi64_ciovec_t *";
582                         break;
583                 case 2:
584                         p = "size_t";
585                         break;
586                 case 3:
587                         p = "cloudabi_filesize_t";
588                         break;
589                 default:
590                         break;
591                 };
592                 break;
593         /* cloudabi64_sys_fd_read */
594         case 10:
595                 switch(ndx) {
596                 case 0:
597                         p = "cloudabi_fd_t";
598                         break;
599                 case 1:
600                         p = "userland const cloudabi64_iovec_t *";
601                         break;
602                 case 2:
603                         p = "size_t";
604                         break;
605                 default:
606                         break;
607                 };
608                 break;
609         /* cloudabi_sys_fd_replace */
610         case 11:
611                 switch(ndx) {
612                 case 0:
613                         p = "cloudabi_fd_t";
614                         break;
615                 case 1:
616                         p = "cloudabi_fd_t";
617                         break;
618                 default:
619                         break;
620                 };
621                 break;
622         /* cloudabi_sys_fd_seek */
623         case 12:
624                 switch(ndx) {
625                 case 0:
626                         p = "cloudabi_fd_t";
627                         break;
628                 case 1:
629                         p = "cloudabi_filedelta_t";
630                         break;
631                 case 2:
632                         p = "cloudabi_whence_t";
633                         break;
634                 default:
635                         break;
636                 };
637                 break;
638         /* cloudabi_sys_fd_stat_get */
639         case 13:
640                 switch(ndx) {
641                 case 0:
642                         p = "cloudabi_fd_t";
643                         break;
644                 case 1:
645                         p = "userland cloudabi_fdstat_t *";
646                         break;
647                 default:
648                         break;
649                 };
650                 break;
651         /* cloudabi_sys_fd_stat_put */
652         case 14:
653                 switch(ndx) {
654                 case 0:
655                         p = "cloudabi_fd_t";
656                         break;
657                 case 1:
658                         p = "userland const cloudabi_fdstat_t *";
659                         break;
660                 case 2:
661                         p = "cloudabi_fdsflags_t";
662                         break;
663                 default:
664                         break;
665                 };
666                 break;
667         /* cloudabi_sys_fd_sync */
668         case 15:
669                 switch(ndx) {
670                 case 0:
671                         p = "cloudabi_fd_t";
672                         break;
673                 default:
674                         break;
675                 };
676                 break;
677         /* cloudabi64_sys_fd_write */
678         case 16:
679                 switch(ndx) {
680                 case 0:
681                         p = "cloudabi_fd_t";
682                         break;
683                 case 1:
684                         p = "userland const cloudabi64_ciovec_t *";
685                         break;
686                 case 2:
687                         p = "size_t";
688                         break;
689                 default:
690                         break;
691                 };
692                 break;
693         /* cloudabi_sys_file_advise */
694         case 17:
695                 switch(ndx) {
696                 case 0:
697                         p = "cloudabi_fd_t";
698                         break;
699                 case 1:
700                         p = "cloudabi_filesize_t";
701                         break;
702                 case 2:
703                         p = "cloudabi_filesize_t";
704                         break;
705                 case 3:
706                         p = "cloudabi_advice_t";
707                         break;
708                 default:
709                         break;
710                 };
711                 break;
712         /* cloudabi_sys_file_allocate */
713         case 18:
714                 switch(ndx) {
715                 case 0:
716                         p = "cloudabi_fd_t";
717                         break;
718                 case 1:
719                         p = "cloudabi_filesize_t";
720                         break;
721                 case 2:
722                         p = "cloudabi_filesize_t";
723                         break;
724                 default:
725                         break;
726                 };
727                 break;
728         /* cloudabi_sys_file_create */
729         case 19:
730                 switch(ndx) {
731                 case 0:
732                         p = "cloudabi_fd_t";
733                         break;
734                 case 1:
735                         p = "userland const char *";
736                         break;
737                 case 2:
738                         p = "size_t";
739                         break;
740                 case 3:
741                         p = "cloudabi_filetype_t";
742                         break;
743                 default:
744                         break;
745                 };
746                 break;
747         /* cloudabi_sys_file_link */
748         case 20:
749                 switch(ndx) {
750                 case 0:
751                         p = "cloudabi_lookup_t";
752                         break;
753                 case 1:
754                         p = "userland const char *";
755                         break;
756                 case 2:
757                         p = "size_t";
758                         break;
759                 case 3:
760                         p = "cloudabi_fd_t";
761                         break;
762                 case 4:
763                         p = "userland const char *";
764                         break;
765                 case 5:
766                         p = "size_t";
767                         break;
768                 default:
769                         break;
770                 };
771                 break;
772         /* cloudabi_sys_file_open */
773         case 21:
774                 switch(ndx) {
775                 case 0:
776                         p = "cloudabi_lookup_t";
777                         break;
778                 case 1:
779                         p = "userland const char *";
780                         break;
781                 case 2:
782                         p = "size_t";
783                         break;
784                 case 3:
785                         p = "cloudabi_oflags_t";
786                         break;
787                 case 4:
788                         p = "userland const cloudabi_fdstat_t *";
789                         break;
790                 default:
791                         break;
792                 };
793                 break;
794         /* cloudabi_sys_file_readdir */
795         case 22:
796                 switch(ndx) {
797                 case 0:
798                         p = "cloudabi_fd_t";
799                         break;
800                 case 1:
801                         p = "userland void *";
802                         break;
803                 case 2:
804                         p = "size_t";
805                         break;
806                 case 3:
807                         p = "cloudabi_dircookie_t";
808                         break;
809                 default:
810                         break;
811                 };
812                 break;
813         /* cloudabi_sys_file_readlink */
814         case 23:
815                 switch(ndx) {
816                 case 0:
817                         p = "cloudabi_fd_t";
818                         break;
819                 case 1:
820                         p = "userland const char *";
821                         break;
822                 case 2:
823                         p = "size_t";
824                         break;
825                 case 3:
826                         p = "userland char *";
827                         break;
828                 case 4:
829                         p = "size_t";
830                         break;
831                 default:
832                         break;
833                 };
834                 break;
835         /* cloudabi_sys_file_rename */
836         case 24:
837                 switch(ndx) {
838                 case 0:
839                         p = "cloudabi_fd_t";
840                         break;
841                 case 1:
842                         p = "userland const char *";
843                         break;
844                 case 2:
845                         p = "size_t";
846                         break;
847                 case 3:
848                         p = "cloudabi_fd_t";
849                         break;
850                 case 4:
851                         p = "userland const char *";
852                         break;
853                 case 5:
854                         p = "size_t";
855                         break;
856                 default:
857                         break;
858                 };
859                 break;
860         /* cloudabi_sys_file_stat_fget */
861         case 25:
862                 switch(ndx) {
863                 case 0:
864                         p = "cloudabi_fd_t";
865                         break;
866                 case 1:
867                         p = "userland cloudabi_filestat_t *";
868                         break;
869                 default:
870                         break;
871                 };
872                 break;
873         /* cloudabi_sys_file_stat_fput */
874         case 26:
875                 switch(ndx) {
876                 case 0:
877                         p = "cloudabi_fd_t";
878                         break;
879                 case 1:
880                         p = "userland const cloudabi_filestat_t *";
881                         break;
882                 case 2:
883                         p = "cloudabi_fsflags_t";
884                         break;
885                 default:
886                         break;
887                 };
888                 break;
889         /* cloudabi_sys_file_stat_get */
890         case 27:
891                 switch(ndx) {
892                 case 0:
893                         p = "cloudabi_lookup_t";
894                         break;
895                 case 1:
896                         p = "userland const char *";
897                         break;
898                 case 2:
899                         p = "size_t";
900                         break;
901                 case 3:
902                         p = "userland cloudabi_filestat_t *";
903                         break;
904                 default:
905                         break;
906                 };
907                 break;
908         /* cloudabi_sys_file_stat_put */
909         case 28:
910                 switch(ndx) {
911                 case 0:
912                         p = "cloudabi_lookup_t";
913                         break;
914                 case 1:
915                         p = "userland const char *";
916                         break;
917                 case 2:
918                         p = "size_t";
919                         break;
920                 case 3:
921                         p = "userland const cloudabi_filestat_t *";
922                         break;
923                 case 4:
924                         p = "cloudabi_fsflags_t";
925                         break;
926                 default:
927                         break;
928                 };
929                 break;
930         /* cloudabi_sys_file_symlink */
931         case 29:
932                 switch(ndx) {
933                 case 0:
934                         p = "userland const char *";
935                         break;
936                 case 1:
937                         p = "size_t";
938                         break;
939                 case 2:
940                         p = "cloudabi_fd_t";
941                         break;
942                 case 3:
943                         p = "userland const char *";
944                         break;
945                 case 4:
946                         p = "size_t";
947                         break;
948                 default:
949                         break;
950                 };
951                 break;
952         /* cloudabi_sys_file_unlink */
953         case 30:
954                 switch(ndx) {
955                 case 0:
956                         p = "cloudabi_fd_t";
957                         break;
958                 case 1:
959                         p = "userland const char *";
960                         break;
961                 case 2:
962                         p = "size_t";
963                         break;
964                 case 3:
965                         p = "cloudabi_ulflags_t";
966                         break;
967                 default:
968                         break;
969                 };
970                 break;
971         /* cloudabi_sys_lock_unlock */
972         case 31:
973                 switch(ndx) {
974                 case 0:
975                         p = "userland cloudabi_lock_t *";
976                         break;
977                 case 1:
978                         p = "cloudabi_scope_t";
979                         break;
980                 default:
981                         break;
982                 };
983                 break;
984         /* cloudabi_sys_mem_advise */
985         case 32:
986                 switch(ndx) {
987                 case 0:
988                         p = "userland void *";
989                         break;
990                 case 1:
991                         p = "size_t";
992                         break;
993                 case 2:
994                         p = "cloudabi_advice_t";
995                         break;
996                 default:
997                         break;
998                 };
999                 break;
1000         /* cloudabi_sys_mem_map */
1001         case 33:
1002                 switch(ndx) {
1003                 case 0:
1004                         p = "userland void *";
1005                         break;
1006                 case 1:
1007                         p = "size_t";
1008                         break;
1009                 case 2:
1010                         p = "cloudabi_mprot_t";
1011                         break;
1012                 case 3:
1013                         p = "cloudabi_mflags_t";
1014                         break;
1015                 case 4:
1016                         p = "cloudabi_fd_t";
1017                         break;
1018                 case 5:
1019                         p = "cloudabi_filesize_t";
1020                         break;
1021                 default:
1022                         break;
1023                 };
1024                 break;
1025         /* cloudabi_sys_mem_protect */
1026         case 34:
1027                 switch(ndx) {
1028                 case 0:
1029                         p = "userland void *";
1030                         break;
1031                 case 1:
1032                         p = "size_t";
1033                         break;
1034                 case 2:
1035                         p = "cloudabi_mprot_t";
1036                         break;
1037                 default:
1038                         break;
1039                 };
1040                 break;
1041         /* cloudabi_sys_mem_sync */
1042         case 35:
1043                 switch(ndx) {
1044                 case 0:
1045                         p = "userland void *";
1046                         break;
1047                 case 1:
1048                         p = "size_t";
1049                         break;
1050                 case 2:
1051                         p = "cloudabi_msflags_t";
1052                         break;
1053                 default:
1054                         break;
1055                 };
1056                 break;
1057         /* cloudabi_sys_mem_unmap */
1058         case 36:
1059                 switch(ndx) {
1060                 case 0:
1061                         p = "userland void *";
1062                         break;
1063                 case 1:
1064                         p = "size_t";
1065                         break;
1066                 default:
1067                         break;
1068                 };
1069                 break;
1070         /* cloudabi64_sys_poll */
1071         case 37:
1072                 switch(ndx) {
1073                 case 0:
1074                         p = "userland const cloudabi64_subscription_t *";
1075                         break;
1076                 case 1:
1077                         p = "userland cloudabi64_event_t *";
1078                         break;
1079                 case 2:
1080                         p = "size_t";
1081                         break;
1082                 default:
1083                         break;
1084                 };
1085                 break;
1086         /* cloudabi64_sys_poll_fd */
1087         case 38:
1088                 switch(ndx) {
1089                 case 0:
1090                         p = "cloudabi_fd_t";
1091                         break;
1092                 case 1:
1093                         p = "userland const cloudabi64_subscription_t *";
1094                         break;
1095                 case 2:
1096                         p = "size_t";
1097                         break;
1098                 case 3:
1099                         p = "userland cloudabi64_event_t *";
1100                         break;
1101                 case 4:
1102                         p = "size_t";
1103                         break;
1104                 case 5:
1105                         p = "userland const cloudabi64_subscription_t *";
1106                         break;
1107                 default:
1108                         break;
1109                 };
1110                 break;
1111         /* cloudabi_sys_proc_exec */
1112         case 39:
1113                 switch(ndx) {
1114                 case 0:
1115                         p = "cloudabi_fd_t";
1116                         break;
1117                 case 1:
1118                         p = "userland const void *";
1119                         break;
1120                 case 2:
1121                         p = "size_t";
1122                         break;
1123                 case 3:
1124                         p = "userland const cloudabi_fd_t *";
1125                         break;
1126                 case 4:
1127                         p = "size_t";
1128                         break;
1129                 default:
1130                         break;
1131                 };
1132                 break;
1133         /* cloudabi_sys_proc_exit */
1134         case 40:
1135                 switch(ndx) {
1136                 case 0:
1137                         p = "cloudabi_exitcode_t";
1138                         break;
1139                 default:
1140                         break;
1141                 };
1142                 break;
1143         /* cloudabi_sys_proc_fork */
1144         case 41:
1145                 break;
1146         /* cloudabi_sys_proc_raise */
1147         case 42:
1148                 switch(ndx) {
1149                 case 0:
1150                         p = "cloudabi_signal_t";
1151                         break;
1152                 default:
1153                         break;
1154                 };
1155                 break;
1156         /* cloudabi_sys_random_get */
1157         case 43:
1158                 switch(ndx) {
1159                 case 0:
1160                         p = "userland void *";
1161                         break;
1162                 case 1:
1163                         p = "size_t";
1164                         break;
1165                 default:
1166                         break;
1167                 };
1168                 break;
1169         /* cloudabi64_sys_sock_recv */
1170         case 44:
1171                 switch(ndx) {
1172                 case 0:
1173                         p = "cloudabi_fd_t";
1174                         break;
1175                 case 1:
1176                         p = "userland const cloudabi64_recv_in_t *";
1177                         break;
1178                 case 2:
1179                         p = "userland cloudabi64_recv_out_t *";
1180                         break;
1181                 default:
1182                         break;
1183                 };
1184                 break;
1185         /* cloudabi64_sys_sock_send */
1186         case 45:
1187                 switch(ndx) {
1188                 case 0:
1189                         p = "cloudabi_fd_t";
1190                         break;
1191                 case 1:
1192                         p = "userland const cloudabi64_send_in_t *";
1193                         break;
1194                 case 2:
1195                         p = "userland cloudabi64_send_out_t *";
1196                         break;
1197                 default:
1198                         break;
1199                 };
1200                 break;
1201         /* cloudabi_sys_sock_shutdown */
1202         case 46:
1203                 switch(ndx) {
1204                 case 0:
1205                         p = "cloudabi_fd_t";
1206                         break;
1207                 case 1:
1208                         p = "cloudabi_sdflags_t";
1209                         break;
1210                 default:
1211                         break;
1212                 };
1213                 break;
1214         /* cloudabi64_sys_thread_create */
1215         case 47:
1216                 switch(ndx) {
1217                 case 0:
1218                         p = "userland cloudabi64_threadattr_t *";
1219                         break;
1220                 default:
1221                         break;
1222                 };
1223                 break;
1224         /* cloudabi_sys_thread_exit */
1225         case 48:
1226                 switch(ndx) {
1227                 case 0:
1228                         p = "userland cloudabi_lock_t *";
1229                         break;
1230                 case 1:
1231                         p = "cloudabi_scope_t";
1232                         break;
1233                 default:
1234                         break;
1235                 };
1236                 break;
1237         /* cloudabi_sys_thread_yield */
1238         case 49:
1239                 break;
1240         default:
1241                 break;
1242         };
1243         if (p != NULL)
1244                 strlcpy(desc, p, descsz);
1245 }
1246 static void
1247 systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
1248 {
1249         const char *p = NULL;
1250         switch (sysnum) {
1251         /* cloudabi_sys_clock_res_get */
1252         case 0:
1253                 if (ndx == 0 || ndx == 1)
1254                         p = "cloudabi_timestamp_t";
1255                 break;
1256         /* cloudabi_sys_clock_time_get */
1257         case 1:
1258                 if (ndx == 0 || ndx == 1)
1259                         p = "cloudabi_timestamp_t";
1260                 break;
1261         /* cloudabi_sys_condvar_signal */
1262         case 2:
1263                 if (ndx == 0 || ndx == 1)
1264                         p = "void";
1265                 break;
1266         /* cloudabi_sys_fd_close */
1267         case 3:
1268                 if (ndx == 0 || ndx == 1)
1269                         p = "void";
1270                 break;
1271         /* cloudabi_sys_fd_create1 */
1272         case 4:
1273                 if (ndx == 0 || ndx == 1)
1274                         p = "cloudabi_fd_t";
1275                 break;
1276         /* cloudabi_sys_fd_create2 */
1277         case 5:
1278                 if (ndx == 0 || ndx == 1)
1279                         p = "void";
1280                 break;
1281         /* cloudabi_sys_fd_datasync */
1282         case 6:
1283                 if (ndx == 0 || ndx == 1)
1284                         p = "void";
1285                 break;
1286         /* cloudabi_sys_fd_dup */
1287         case 7:
1288                 if (ndx == 0 || ndx == 1)
1289                         p = "cloudabi_fd_t";
1290                 break;
1291         /* cloudabi64_sys_fd_pread */
1292         case 8:
1293                 if (ndx == 0 || ndx == 1)
1294                         p = "size_t";
1295                 break;
1296         /* cloudabi64_sys_fd_pwrite */
1297         case 9:
1298                 if (ndx == 0 || ndx == 1)
1299                         p = "size_t";
1300                 break;
1301         /* cloudabi64_sys_fd_read */
1302         case 10:
1303                 if (ndx == 0 || ndx == 1)
1304                         p = "size_t";
1305                 break;
1306         /* cloudabi_sys_fd_replace */
1307         case 11:
1308                 if (ndx == 0 || ndx == 1)
1309                         p = "void";
1310                 break;
1311         /* cloudabi_sys_fd_seek */
1312         case 12:
1313                 if (ndx == 0 || ndx == 1)
1314                         p = "cloudabi_filesize_t";
1315                 break;
1316         /* cloudabi_sys_fd_stat_get */
1317         case 13:
1318                 if (ndx == 0 || ndx == 1)
1319                         p = "void";
1320                 break;
1321         /* cloudabi_sys_fd_stat_put */
1322         case 14:
1323                 if (ndx == 0 || ndx == 1)
1324                         p = "void";
1325                 break;
1326         /* cloudabi_sys_fd_sync */
1327         case 15:
1328                 if (ndx == 0 || ndx == 1)
1329                         p = "void";
1330                 break;
1331         /* cloudabi64_sys_fd_write */
1332         case 16:
1333                 if (ndx == 0 || ndx == 1)
1334                         p = "size_t";
1335                 break;
1336         /* cloudabi_sys_file_advise */
1337         case 17:
1338                 if (ndx == 0 || ndx == 1)
1339                         p = "void";
1340                 break;
1341         /* cloudabi_sys_file_allocate */
1342         case 18:
1343                 if (ndx == 0 || ndx == 1)
1344                         p = "void";
1345                 break;
1346         /* cloudabi_sys_file_create */
1347         case 19:
1348                 if (ndx == 0 || ndx == 1)
1349                         p = "void";
1350                 break;
1351         /* cloudabi_sys_file_link */
1352         case 20:
1353                 if (ndx == 0 || ndx == 1)
1354                         p = "void";
1355                 break;
1356         /* cloudabi_sys_file_open */
1357         case 21:
1358                 if (ndx == 0 || ndx == 1)
1359                         p = "cloudabi_fd_t";
1360                 break;
1361         /* cloudabi_sys_file_readdir */
1362         case 22:
1363                 if (ndx == 0 || ndx == 1)
1364                         p = "size_t";
1365                 break;
1366         /* cloudabi_sys_file_readlink */
1367         case 23:
1368                 if (ndx == 0 || ndx == 1)
1369                         p = "size_t";
1370                 break;
1371         /* cloudabi_sys_file_rename */
1372         case 24:
1373                 if (ndx == 0 || ndx == 1)
1374                         p = "void";
1375                 break;
1376         /* cloudabi_sys_file_stat_fget */
1377         case 25:
1378                 if (ndx == 0 || ndx == 1)
1379                         p = "void";
1380                 break;
1381         /* cloudabi_sys_file_stat_fput */
1382         case 26:
1383                 if (ndx == 0 || ndx == 1)
1384                         p = "void";
1385                 break;
1386         /* cloudabi_sys_file_stat_get */
1387         case 27:
1388                 if (ndx == 0 || ndx == 1)
1389                         p = "void";
1390                 break;
1391         /* cloudabi_sys_file_stat_put */
1392         case 28:
1393                 if (ndx == 0 || ndx == 1)
1394                         p = "void";
1395                 break;
1396         /* cloudabi_sys_file_symlink */
1397         case 29:
1398                 if (ndx == 0 || ndx == 1)
1399                         p = "void";
1400                 break;
1401         /* cloudabi_sys_file_unlink */
1402         case 30:
1403                 if (ndx == 0 || ndx == 1)
1404                         p = "void";
1405                 break;
1406         /* cloudabi_sys_lock_unlock */
1407         case 31:
1408                 if (ndx == 0 || ndx == 1)
1409                         p = "void";
1410                 break;
1411         /* cloudabi_sys_mem_advise */
1412         case 32:
1413                 if (ndx == 0 || ndx == 1)
1414                         p = "void";
1415                 break;
1416         /* cloudabi_sys_mem_map */
1417         case 33:
1418                 if (ndx == 0 || ndx == 1)
1419                         p = "void";
1420                 break;
1421         /* cloudabi_sys_mem_protect */
1422         case 34:
1423                 if (ndx == 0 || ndx == 1)
1424                         p = "void";
1425                 break;
1426         /* cloudabi_sys_mem_sync */
1427         case 35:
1428                 if (ndx == 0 || ndx == 1)
1429                         p = "void";
1430                 break;
1431         /* cloudabi_sys_mem_unmap */
1432         case 36:
1433                 if (ndx == 0 || ndx == 1)
1434                         p = "void";
1435                 break;
1436         /* cloudabi64_sys_poll */
1437         case 37:
1438                 if (ndx == 0 || ndx == 1)
1439                         p = "size_t";
1440                 break;
1441         /* cloudabi64_sys_poll_fd */
1442         case 38:
1443                 if (ndx == 0 || ndx == 1)
1444                         p = "size_t";
1445                 break;
1446         /* cloudabi_sys_proc_exec */
1447         case 39:
1448                 if (ndx == 0 || ndx == 1)
1449                         p = "void";
1450                 break;
1451         /* cloudabi_sys_proc_exit */
1452         case 40:
1453                 if (ndx == 0 || ndx == 1)
1454                         p = "void";
1455                 break;
1456         /* cloudabi_sys_proc_fork */
1457         case 41:
1458         /* cloudabi_sys_proc_raise */
1459         case 42:
1460                 if (ndx == 0 || ndx == 1)
1461                         p = "void";
1462                 break;
1463         /* cloudabi_sys_random_get */
1464         case 43:
1465                 if (ndx == 0 || ndx == 1)
1466                         p = "void";
1467                 break;
1468         /* cloudabi64_sys_sock_recv */
1469         case 44:
1470                 if (ndx == 0 || ndx == 1)
1471                         p = "void";
1472                 break;
1473         /* cloudabi64_sys_sock_send */
1474         case 45:
1475                 if (ndx == 0 || ndx == 1)
1476                         p = "void";
1477                 break;
1478         /* cloudabi_sys_sock_shutdown */
1479         case 46:
1480                 if (ndx == 0 || ndx == 1)
1481                         p = "void";
1482                 break;
1483         /* cloudabi64_sys_thread_create */
1484         case 47:
1485                 if (ndx == 0 || ndx == 1)
1486                         p = "cloudabi_tid_t";
1487                 break;
1488         /* cloudabi_sys_thread_exit */
1489         case 48:
1490                 if (ndx == 0 || ndx == 1)
1491                         p = "void";
1492                 break;
1493         /* cloudabi_sys_thread_yield */
1494         case 49:
1495         default:
1496                 break;
1497         };
1498         if (p != NULL)
1499                 strlcpy(desc, p, descsz);
1500 }