1/*
2 * System call argument to DTrace register array converstion.
3 *
4 * DO NOT EDIT-- this file is automatically generated.
5 * $FreeBSD: stable/11/sys/compat/cloudabi64/cloudabi64_systrace_args.c 325858 2017-11-15 15:56:08Z ed $
6 * This file is part of the DTrace syscall provider.
7 */
8
9static void
10systrace_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; /* cloudabi_event_t * */
356		uarg[2] = p->nsubscriptions; /* size_t */
357		*n_args = 3;
358		break;
359	}
360	/* cloudabi_sys_proc_exec */
361	case 38: {
362		struct cloudabi_sys_proc_exec_args *p = params;
363		iarg[0] = p->fd; /* cloudabi_fd_t */
364		uarg[1] = (intptr_t) p->data; /* const void * */
365		uarg[2] = p->data_len; /* size_t */
366		uarg[3] = (intptr_t) p->fds; /* const cloudabi_fd_t * */
367		uarg[4] = p->fds_len; /* size_t */
368		*n_args = 5;
369		break;
370	}
371	/* cloudabi_sys_proc_exit */
372	case 39: {
373		struct cloudabi_sys_proc_exit_args *p = params;
374		iarg[0] = p->rval; /* cloudabi_exitcode_t */
375		*n_args = 1;
376		break;
377	}
378	/* cloudabi_sys_proc_fork */
379	case 40: {
380		*n_args = 0;
381		break;
382	}
383	/* cloudabi_sys_proc_raise */
384	case 41: {
385		struct cloudabi_sys_proc_raise_args *p = params;
386		iarg[0] = p->sig; /* cloudabi_signal_t */
387		*n_args = 1;
388		break;
389	}
390	/* cloudabi_sys_random_get */
391	case 42: {
392		struct cloudabi_sys_random_get_args *p = params;
393		uarg[0] = (intptr_t) p->buf; /* void * */
394		uarg[1] = p->buf_len; /* size_t */
395		*n_args = 2;
396		break;
397	}
398	/* cloudabi64_sys_sock_recv */
399	case 43: {
400		struct cloudabi64_sys_sock_recv_args *p = params;
401		iarg[0] = p->sock; /* cloudabi_fd_t */
402		uarg[1] = (intptr_t) p->in; /* const cloudabi64_recv_in_t * */
403		uarg[2] = (intptr_t) p->out; /* cloudabi64_recv_out_t * */
404		*n_args = 3;
405		break;
406	}
407	/* cloudabi64_sys_sock_send */
408	case 44: {
409		struct cloudabi64_sys_sock_send_args *p = params;
410		iarg[0] = p->sock; /* cloudabi_fd_t */
411		uarg[1] = (intptr_t) p->in; /* const cloudabi64_send_in_t * */
412		uarg[2] = (intptr_t) p->out; /* cloudabi64_send_out_t * */
413		*n_args = 3;
414		break;
415	}
416	/* cloudabi_sys_sock_shutdown */
417	case 45: {
418		struct cloudabi_sys_sock_shutdown_args *p = params;
419		iarg[0] = p->sock; /* cloudabi_fd_t */
420		iarg[1] = p->how; /* cloudabi_sdflags_t */
421		*n_args = 2;
422		break;
423	}
424	/* cloudabi64_sys_thread_create */
425	case 46: {
426		struct cloudabi64_sys_thread_create_args *p = params;
427		uarg[0] = (intptr_t) p->attr; /* cloudabi64_threadattr_t * */
428		*n_args = 1;
429		break;
430	}
431	/* cloudabi_sys_thread_exit */
432	case 47: {
433		struct cloudabi_sys_thread_exit_args *p = params;
434		uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
435		iarg[1] = p->scope; /* cloudabi_scope_t */
436		*n_args = 2;
437		break;
438	}
439	/* cloudabi_sys_thread_yield */
440	case 48: {
441		*n_args = 0;
442		break;
443	}
444	default:
445		*n_args = 0;
446		break;
447	};
448}
449static void
450systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
451{
452	const char *p = NULL;
453	switch (sysnum) {
454	/* cloudabi_sys_clock_res_get */
455	case 0:
456		switch(ndx) {
457		case 0:
458			p = "cloudabi_clockid_t";
459			break;
460		default:
461			break;
462		};
463		break;
464	/* cloudabi_sys_clock_time_get */
465	case 1:
466		switch(ndx) {
467		case 0:
468			p = "cloudabi_clockid_t";
469			break;
470		case 1:
471			p = "cloudabi_timestamp_t";
472			break;
473		default:
474			break;
475		};
476		break;
477	/* cloudabi_sys_condvar_signal */
478	case 2:
479		switch(ndx) {
480		case 0:
481			p = "cloudabi_condvar_t *";
482			break;
483		case 1:
484			p = "cloudabi_scope_t";
485			break;
486		case 2:
487			p = "cloudabi_nthreads_t";
488			break;
489		default:
490			break;
491		};
492		break;
493	/* cloudabi_sys_fd_close */
494	case 3:
495		switch(ndx) {
496		case 0:
497			p = "cloudabi_fd_t";
498			break;
499		default:
500			break;
501		};
502		break;
503	/* cloudabi_sys_fd_create1 */
504	case 4:
505		switch(ndx) {
506		case 0:
507			p = "cloudabi_filetype_t";
508			break;
509		default:
510			break;
511		};
512		break;
513	/* cloudabi_sys_fd_create2 */
514	case 5:
515		switch(ndx) {
516		case 0:
517			p = "cloudabi_filetype_t";
518			break;
519		default:
520			break;
521		};
522		break;
523	/* cloudabi_sys_fd_datasync */
524	case 6:
525		switch(ndx) {
526		case 0:
527			p = "cloudabi_fd_t";
528			break;
529		default:
530			break;
531		};
532		break;
533	/* cloudabi_sys_fd_dup */
534	case 7:
535		switch(ndx) {
536		case 0:
537			p = "cloudabi_fd_t";
538			break;
539		default:
540			break;
541		};
542		break;
543	/* cloudabi64_sys_fd_pread */
544	case 8:
545		switch(ndx) {
546		case 0:
547			p = "cloudabi_fd_t";
548			break;
549		case 1:
550			p = "const cloudabi64_iovec_t *";
551			break;
552		case 2:
553			p = "size_t";
554			break;
555		case 3:
556			p = "cloudabi_filesize_t";
557			break;
558		default:
559			break;
560		};
561		break;
562	/* cloudabi64_sys_fd_pwrite */
563	case 9:
564		switch(ndx) {
565		case 0:
566			p = "cloudabi_fd_t";
567			break;
568		case 1:
569			p = "const cloudabi64_ciovec_t *";
570			break;
571		case 2:
572			p = "size_t";
573			break;
574		case 3:
575			p = "cloudabi_filesize_t";
576			break;
577		default:
578			break;
579		};
580		break;
581	/* cloudabi64_sys_fd_read */
582	case 10:
583		switch(ndx) {
584		case 0:
585			p = "cloudabi_fd_t";
586			break;
587		case 1:
588			p = "const cloudabi64_iovec_t *";
589			break;
590		case 2:
591			p = "size_t";
592			break;
593		default:
594			break;
595		};
596		break;
597	/* cloudabi_sys_fd_replace */
598	case 11:
599		switch(ndx) {
600		case 0:
601			p = "cloudabi_fd_t";
602			break;
603		case 1:
604			p = "cloudabi_fd_t";
605			break;
606		default:
607			break;
608		};
609		break;
610	/* cloudabi_sys_fd_seek */
611	case 12:
612		switch(ndx) {
613		case 0:
614			p = "cloudabi_fd_t";
615			break;
616		case 1:
617			p = "cloudabi_filedelta_t";
618			break;
619		case 2:
620			p = "cloudabi_whence_t";
621			break;
622		default:
623			break;
624		};
625		break;
626	/* cloudabi_sys_fd_stat_get */
627	case 13:
628		switch(ndx) {
629		case 0:
630			p = "cloudabi_fd_t";
631			break;
632		case 1:
633			p = "cloudabi_fdstat_t *";
634			break;
635		default:
636			break;
637		};
638		break;
639	/* cloudabi_sys_fd_stat_put */
640	case 14:
641		switch(ndx) {
642		case 0:
643			p = "cloudabi_fd_t";
644			break;
645		case 1:
646			p = "const cloudabi_fdstat_t *";
647			break;
648		case 2:
649			p = "cloudabi_fdsflags_t";
650			break;
651		default:
652			break;
653		};
654		break;
655	/* cloudabi_sys_fd_sync */
656	case 15:
657		switch(ndx) {
658		case 0:
659			p = "cloudabi_fd_t";
660			break;
661		default:
662			break;
663		};
664		break;
665	/* cloudabi64_sys_fd_write */
666	case 16:
667		switch(ndx) {
668		case 0:
669			p = "cloudabi_fd_t";
670			break;
671		case 1:
672			p = "const cloudabi64_ciovec_t *";
673			break;
674		case 2:
675			p = "size_t";
676			break;
677		default:
678			break;
679		};
680		break;
681	/* cloudabi_sys_file_advise */
682	case 17:
683		switch(ndx) {
684		case 0:
685			p = "cloudabi_fd_t";
686			break;
687		case 1:
688			p = "cloudabi_filesize_t";
689			break;
690		case 2:
691			p = "cloudabi_filesize_t";
692			break;
693		case 3:
694			p = "cloudabi_advice_t";
695			break;
696		default:
697			break;
698		};
699		break;
700	/* cloudabi_sys_file_allocate */
701	case 18:
702		switch(ndx) {
703		case 0:
704			p = "cloudabi_fd_t";
705			break;
706		case 1:
707			p = "cloudabi_filesize_t";
708			break;
709		case 2:
710			p = "cloudabi_filesize_t";
711			break;
712		default:
713			break;
714		};
715		break;
716	/* cloudabi_sys_file_create */
717	case 19:
718		switch(ndx) {
719		case 0:
720			p = "cloudabi_fd_t";
721			break;
722		case 1:
723			p = "const char *";
724			break;
725		case 2:
726			p = "size_t";
727			break;
728		case 3:
729			p = "cloudabi_filetype_t";
730			break;
731		default:
732			break;
733		};
734		break;
735	/* cloudabi_sys_file_link */
736	case 20:
737		switch(ndx) {
738		case 0:
739			p = "cloudabi_lookup_t";
740			break;
741		case 1:
742			p = "const char *";
743			break;
744		case 2:
745			p = "size_t";
746			break;
747		case 3:
748			p = "cloudabi_fd_t";
749			break;
750		case 4:
751			p = "const char *";
752			break;
753		case 5:
754			p = "size_t";
755			break;
756		default:
757			break;
758		};
759		break;
760	/* cloudabi_sys_file_open */
761	case 21:
762		switch(ndx) {
763		case 0:
764			p = "cloudabi_lookup_t";
765			break;
766		case 1:
767			p = "const char *";
768			break;
769		case 2:
770			p = "size_t";
771			break;
772		case 3:
773			p = "cloudabi_oflags_t";
774			break;
775		case 4:
776			p = "const cloudabi_fdstat_t *";
777			break;
778		default:
779			break;
780		};
781		break;
782	/* cloudabi_sys_file_readdir */
783	case 22:
784		switch(ndx) {
785		case 0:
786			p = "cloudabi_fd_t";
787			break;
788		case 1:
789			p = "void *";
790			break;
791		case 2:
792			p = "size_t";
793			break;
794		case 3:
795			p = "cloudabi_dircookie_t";
796			break;
797		default:
798			break;
799		};
800		break;
801	/* cloudabi_sys_file_readlink */
802	case 23:
803		switch(ndx) {
804		case 0:
805			p = "cloudabi_fd_t";
806			break;
807		case 1:
808			p = "const char *";
809			break;
810		case 2:
811			p = "size_t";
812			break;
813		case 3:
814			p = "char *";
815			break;
816		case 4:
817			p = "size_t";
818			break;
819		default:
820			break;
821		};
822		break;
823	/* cloudabi_sys_file_rename */
824	case 24:
825		switch(ndx) {
826		case 0:
827			p = "cloudabi_fd_t";
828			break;
829		case 1:
830			p = "const char *";
831			break;
832		case 2:
833			p = "size_t";
834			break;
835		case 3:
836			p = "cloudabi_fd_t";
837			break;
838		case 4:
839			p = "const char *";
840			break;
841		case 5:
842			p = "size_t";
843			break;
844		default:
845			break;
846		};
847		break;
848	/* cloudabi_sys_file_stat_fget */
849	case 25:
850		switch(ndx) {
851		case 0:
852			p = "cloudabi_fd_t";
853			break;
854		case 1:
855			p = "cloudabi_filestat_t *";
856			break;
857		default:
858			break;
859		};
860		break;
861	/* cloudabi_sys_file_stat_fput */
862	case 26:
863		switch(ndx) {
864		case 0:
865			p = "cloudabi_fd_t";
866			break;
867		case 1:
868			p = "const cloudabi_filestat_t *";
869			break;
870		case 2:
871			p = "cloudabi_fsflags_t";
872			break;
873		default:
874			break;
875		};
876		break;
877	/* cloudabi_sys_file_stat_get */
878	case 27:
879		switch(ndx) {
880		case 0:
881			p = "cloudabi_lookup_t";
882			break;
883		case 1:
884			p = "const char *";
885			break;
886		case 2:
887			p = "size_t";
888			break;
889		case 3:
890			p = "cloudabi_filestat_t *";
891			break;
892		default:
893			break;
894		};
895		break;
896	/* cloudabi_sys_file_stat_put */
897	case 28:
898		switch(ndx) {
899		case 0:
900			p = "cloudabi_lookup_t";
901			break;
902		case 1:
903			p = "const char *";
904			break;
905		case 2:
906			p = "size_t";
907			break;
908		case 3:
909			p = "const cloudabi_filestat_t *";
910			break;
911		case 4:
912			p = "cloudabi_fsflags_t";
913			break;
914		default:
915			break;
916		};
917		break;
918	/* cloudabi_sys_file_symlink */
919	case 29:
920		switch(ndx) {
921		case 0:
922			p = "const char *";
923			break;
924		case 1:
925			p = "size_t";
926			break;
927		case 2:
928			p = "cloudabi_fd_t";
929			break;
930		case 3:
931			p = "const char *";
932			break;
933		case 4:
934			p = "size_t";
935			break;
936		default:
937			break;
938		};
939		break;
940	/* cloudabi_sys_file_unlink */
941	case 30:
942		switch(ndx) {
943		case 0:
944			p = "cloudabi_fd_t";
945			break;
946		case 1:
947			p = "const char *";
948			break;
949		case 2:
950			p = "size_t";
951			break;
952		case 3:
953			p = "cloudabi_ulflags_t";
954			break;
955		default:
956			break;
957		};
958		break;
959	/* cloudabi_sys_lock_unlock */
960	case 31:
961		switch(ndx) {
962		case 0:
963			p = "cloudabi_lock_t *";
964			break;
965		case 1:
966			p = "cloudabi_scope_t";
967			break;
968		default:
969			break;
970		};
971		break;
972	/* cloudabi_sys_mem_advise */
973	case 32:
974		switch(ndx) {
975		case 0:
976			p = "void *";
977			break;
978		case 1:
979			p = "size_t";
980			break;
981		case 2:
982			p = "cloudabi_advice_t";
983			break;
984		default:
985			break;
986		};
987		break;
988	/* cloudabi_sys_mem_map */
989	case 33:
990		switch(ndx) {
991		case 0:
992			p = "void *";
993			break;
994		case 1:
995			p = "size_t";
996			break;
997		case 2:
998			p = "cloudabi_mprot_t";
999			break;
1000		case 3:
1001			p = "cloudabi_mflags_t";
1002			break;
1003		case 4:
1004			p = "cloudabi_fd_t";
1005			break;
1006		case 5:
1007			p = "cloudabi_filesize_t";
1008			break;
1009		default:
1010			break;
1011		};
1012		break;
1013	/* cloudabi_sys_mem_protect */
1014	case 34:
1015		switch(ndx) {
1016		case 0:
1017			p = "void *";
1018			break;
1019		case 1:
1020			p = "size_t";
1021			break;
1022		case 2:
1023			p = "cloudabi_mprot_t";
1024			break;
1025		default:
1026			break;
1027		};
1028		break;
1029	/* cloudabi_sys_mem_sync */
1030	case 35:
1031		switch(ndx) {
1032		case 0:
1033			p = "void *";
1034			break;
1035		case 1:
1036			p = "size_t";
1037			break;
1038		case 2:
1039			p = "cloudabi_msflags_t";
1040			break;
1041		default:
1042			break;
1043		};
1044		break;
1045	/* cloudabi_sys_mem_unmap */
1046	case 36:
1047		switch(ndx) {
1048		case 0:
1049			p = "void *";
1050			break;
1051		case 1:
1052			p = "size_t";
1053			break;
1054		default:
1055			break;
1056		};
1057		break;
1058	/* cloudabi64_sys_poll */
1059	case 37:
1060		switch(ndx) {
1061		case 0:
1062			p = "const cloudabi64_subscription_t *";
1063			break;
1064		case 1:
1065			p = "cloudabi_event_t *";
1066			break;
1067		case 2:
1068			p = "size_t";
1069			break;
1070		default:
1071			break;
1072		};
1073		break;
1074	/* cloudabi_sys_proc_exec */
1075	case 38:
1076		switch(ndx) {
1077		case 0:
1078			p = "cloudabi_fd_t";
1079			break;
1080		case 1:
1081			p = "const void *";
1082			break;
1083		case 2:
1084			p = "size_t";
1085			break;
1086		case 3:
1087			p = "const cloudabi_fd_t *";
1088			break;
1089		case 4:
1090			p = "size_t";
1091			break;
1092		default:
1093			break;
1094		};
1095		break;
1096	/* cloudabi_sys_proc_exit */
1097	case 39:
1098		switch(ndx) {
1099		case 0:
1100			p = "cloudabi_exitcode_t";
1101			break;
1102		default:
1103			break;
1104		};
1105		break;
1106	/* cloudabi_sys_proc_fork */
1107	case 40:
1108		break;
1109	/* cloudabi_sys_proc_raise */
1110	case 41:
1111		switch(ndx) {
1112		case 0:
1113			p = "cloudabi_signal_t";
1114			break;
1115		default:
1116			break;
1117		};
1118		break;
1119	/* cloudabi_sys_random_get */
1120	case 42:
1121		switch(ndx) {
1122		case 0:
1123			p = "void *";
1124			break;
1125		case 1:
1126			p = "size_t";
1127			break;
1128		default:
1129			break;
1130		};
1131		break;
1132	/* cloudabi64_sys_sock_recv */
1133	case 43:
1134		switch(ndx) {
1135		case 0:
1136			p = "cloudabi_fd_t";
1137			break;
1138		case 1:
1139			p = "const cloudabi64_recv_in_t *";
1140			break;
1141		case 2:
1142			p = "cloudabi64_recv_out_t *";
1143			break;
1144		default:
1145			break;
1146		};
1147		break;
1148	/* cloudabi64_sys_sock_send */
1149	case 44:
1150		switch(ndx) {
1151		case 0:
1152			p = "cloudabi_fd_t";
1153			break;
1154		case 1:
1155			p = "const cloudabi64_send_in_t *";
1156			break;
1157		case 2:
1158			p = "cloudabi64_send_out_t *";
1159			break;
1160		default:
1161			break;
1162		};
1163		break;
1164	/* cloudabi_sys_sock_shutdown */
1165	case 45:
1166		switch(ndx) {
1167		case 0:
1168			p = "cloudabi_fd_t";
1169			break;
1170		case 1:
1171			p = "cloudabi_sdflags_t";
1172			break;
1173		default:
1174			break;
1175		};
1176		break;
1177	/* cloudabi64_sys_thread_create */
1178	case 46:
1179		switch(ndx) {
1180		case 0:
1181			p = "cloudabi64_threadattr_t *";
1182			break;
1183		default:
1184			break;
1185		};
1186		break;
1187	/* cloudabi_sys_thread_exit */
1188	case 47:
1189		switch(ndx) {
1190		case 0:
1191			p = "cloudabi_lock_t *";
1192			break;
1193		case 1:
1194			p = "cloudabi_scope_t";
1195			break;
1196		default:
1197			break;
1198		};
1199		break;
1200	/* cloudabi_sys_thread_yield */
1201	case 48:
1202		break;
1203	default:
1204		break;
1205	};
1206	if (p != NULL)
1207		strlcpy(desc, p, descsz);
1208}
1209static void
1210systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
1211{
1212	const char *p = NULL;
1213	switch (sysnum) {
1214	/* cloudabi_sys_clock_res_get */
1215	case 0:
1216		if (ndx == 0 || ndx == 1)
1217			p = "cloudabi_timestamp_t";
1218		break;
1219	/* cloudabi_sys_clock_time_get */
1220	case 1:
1221		if (ndx == 0 || ndx == 1)
1222			p = "cloudabi_timestamp_t";
1223		break;
1224	/* cloudabi_sys_condvar_signal */
1225	case 2:
1226		if (ndx == 0 || ndx == 1)
1227			p = "void";
1228		break;
1229	/* cloudabi_sys_fd_close */
1230	case 3:
1231		if (ndx == 0 || ndx == 1)
1232			p = "void";
1233		break;
1234	/* cloudabi_sys_fd_create1 */
1235	case 4:
1236		if (ndx == 0 || ndx == 1)
1237			p = "cloudabi_fd_t";
1238		break;
1239	/* cloudabi_sys_fd_create2 */
1240	case 5:
1241		if (ndx == 0 || ndx == 1)
1242			p = "void";
1243		break;
1244	/* cloudabi_sys_fd_datasync */
1245	case 6:
1246		if (ndx == 0 || ndx == 1)
1247			p = "void";
1248		break;
1249	/* cloudabi_sys_fd_dup */
1250	case 7:
1251		if (ndx == 0 || ndx == 1)
1252			p = "cloudabi_fd_t";
1253		break;
1254	/* cloudabi64_sys_fd_pread */
1255	case 8:
1256		if (ndx == 0 || ndx == 1)
1257			p = "size_t";
1258		break;
1259	/* cloudabi64_sys_fd_pwrite */
1260	case 9:
1261		if (ndx == 0 || ndx == 1)
1262			p = "size_t";
1263		break;
1264	/* cloudabi64_sys_fd_read */
1265	case 10:
1266		if (ndx == 0 || ndx == 1)
1267			p = "size_t";
1268		break;
1269	/* cloudabi_sys_fd_replace */
1270	case 11:
1271		if (ndx == 0 || ndx == 1)
1272			p = "void";
1273		break;
1274	/* cloudabi_sys_fd_seek */
1275	case 12:
1276		if (ndx == 0 || ndx == 1)
1277			p = "cloudabi_filesize_t";
1278		break;
1279	/* cloudabi_sys_fd_stat_get */
1280	case 13:
1281		if (ndx == 0 || ndx == 1)
1282			p = "void";
1283		break;
1284	/* cloudabi_sys_fd_stat_put */
1285	case 14:
1286		if (ndx == 0 || ndx == 1)
1287			p = "void";
1288		break;
1289	/* cloudabi_sys_fd_sync */
1290	case 15:
1291		if (ndx == 0 || ndx == 1)
1292			p = "void";
1293		break;
1294	/* cloudabi64_sys_fd_write */
1295	case 16:
1296		if (ndx == 0 || ndx == 1)
1297			p = "size_t";
1298		break;
1299	/* cloudabi_sys_file_advise */
1300	case 17:
1301		if (ndx == 0 || ndx == 1)
1302			p = "void";
1303		break;
1304	/* cloudabi_sys_file_allocate */
1305	case 18:
1306		if (ndx == 0 || ndx == 1)
1307			p = "void";
1308		break;
1309	/* cloudabi_sys_file_create */
1310	case 19:
1311		if (ndx == 0 || ndx == 1)
1312			p = "void";
1313		break;
1314	/* cloudabi_sys_file_link */
1315	case 20:
1316		if (ndx == 0 || ndx == 1)
1317			p = "void";
1318		break;
1319	/* cloudabi_sys_file_open */
1320	case 21:
1321		if (ndx == 0 || ndx == 1)
1322			p = "cloudabi_fd_t";
1323		break;
1324	/* cloudabi_sys_file_readdir */
1325	case 22:
1326		if (ndx == 0 || ndx == 1)
1327			p = "size_t";
1328		break;
1329	/* cloudabi_sys_file_readlink */
1330	case 23:
1331		if (ndx == 0 || ndx == 1)
1332			p = "size_t";
1333		break;
1334	/* cloudabi_sys_file_rename */
1335	case 24:
1336		if (ndx == 0 || ndx == 1)
1337			p = "void";
1338		break;
1339	/* cloudabi_sys_file_stat_fget */
1340	case 25:
1341		if (ndx == 0 || ndx == 1)
1342			p = "void";
1343		break;
1344	/* cloudabi_sys_file_stat_fput */
1345	case 26:
1346		if (ndx == 0 || ndx == 1)
1347			p = "void";
1348		break;
1349	/* cloudabi_sys_file_stat_get */
1350	case 27:
1351		if (ndx == 0 || ndx == 1)
1352			p = "void";
1353		break;
1354	/* cloudabi_sys_file_stat_put */
1355	case 28:
1356		if (ndx == 0 || ndx == 1)
1357			p = "void";
1358		break;
1359	/* cloudabi_sys_file_symlink */
1360	case 29:
1361		if (ndx == 0 || ndx == 1)
1362			p = "void";
1363		break;
1364	/* cloudabi_sys_file_unlink */
1365	case 30:
1366		if (ndx == 0 || ndx == 1)
1367			p = "void";
1368		break;
1369	/* cloudabi_sys_lock_unlock */
1370	case 31:
1371		if (ndx == 0 || ndx == 1)
1372			p = "void";
1373		break;
1374	/* cloudabi_sys_mem_advise */
1375	case 32:
1376		if (ndx == 0 || ndx == 1)
1377			p = "void";
1378		break;
1379	/* cloudabi_sys_mem_map */
1380	case 33:
1381		if (ndx == 0 || ndx == 1)
1382			p = "void";
1383		break;
1384	/* cloudabi_sys_mem_protect */
1385	case 34:
1386		if (ndx == 0 || ndx == 1)
1387			p = "void";
1388		break;
1389	/* cloudabi_sys_mem_sync */
1390	case 35:
1391		if (ndx == 0 || ndx == 1)
1392			p = "void";
1393		break;
1394	/* cloudabi_sys_mem_unmap */
1395	case 36:
1396		if (ndx == 0 || ndx == 1)
1397			p = "void";
1398		break;
1399	/* cloudabi64_sys_poll */
1400	case 37:
1401		if (ndx == 0 || ndx == 1)
1402			p = "size_t";
1403		break;
1404	/* cloudabi_sys_proc_exec */
1405	case 38:
1406		if (ndx == 0 || ndx == 1)
1407			p = "void";
1408		break;
1409	/* cloudabi_sys_proc_exit */
1410	case 39:
1411		if (ndx == 0 || ndx == 1)
1412			p = "void";
1413		break;
1414	/* cloudabi_sys_proc_fork */
1415	case 40:
1416	/* cloudabi_sys_proc_raise */
1417	case 41:
1418		if (ndx == 0 || ndx == 1)
1419			p = "void";
1420		break;
1421	/* cloudabi_sys_random_get */
1422	case 42:
1423		if (ndx == 0 || ndx == 1)
1424			p = "void";
1425		break;
1426	/* cloudabi64_sys_sock_recv */
1427	case 43:
1428		if (ndx == 0 || ndx == 1)
1429			p = "void";
1430		break;
1431	/* cloudabi64_sys_sock_send */
1432	case 44:
1433		if (ndx == 0 || ndx == 1)
1434			p = "void";
1435		break;
1436	/* cloudabi_sys_sock_shutdown */
1437	case 45:
1438		if (ndx == 0 || ndx == 1)
1439			p = "void";
1440		break;
1441	/* cloudabi64_sys_thread_create */
1442	case 46:
1443		if (ndx == 0 || ndx == 1)
1444			p = "cloudabi_tid_t";
1445		break;
1446	/* cloudabi_sys_thread_exit */
1447	case 47:
1448		if (ndx == 0 || ndx == 1)
1449			p = "void";
1450		break;
1451	/* cloudabi_sys_thread_yield */
1452	case 48:
1453	default:
1454		break;
1455	};
1456	if (p != NULL)
1457		strlcpy(desc, p, descsz);
1458}
1459