xref: /src/sys/tools/syscalls/examples/cpp/test_systrace_args.c (revision 53fae788f229903df04b2963399afb0dce03b78b)
153fae788SKyle Evans /*
253fae788SKyle Evans  * System call argument to DTrace register array conversion.
353fae788SKyle Evans  *
453fae788SKyle Evans  * This file is part of the DTrace syscall provider.
553fae788SKyle Evans  *
653fae788SKyle Evans  * DO NOT EDIT-- this file is automatically @generated.
753fae788SKyle Evans  */
853fae788SKyle Evans 
953fae788SKyle Evans static void
systrace_args(int sysnum,void * params,uint64_t * uarg,int * n_args)1053fae788SKyle Evans systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
1153fae788SKyle Evans {
1253fae788SKyle Evans 	int64_t *iarg = (int64_t *)uarg;
1353fae788SKyle Evans 	int a = 0;
1453fae788SKyle Evans 	switch (sysnum) {
1553fae788SKyle Evans #ifdef PLATFORM_FOO
1653fae788SKyle Evans 	/* syscall1 */
1753fae788SKyle Evans 	case 1: {
1853fae788SKyle Evans 		struct syscall1_args *p = params;
1953fae788SKyle Evans 		iarg[a++] = p->arg1; /* int */
2053fae788SKyle Evans 		*n_args = 1;
2153fae788SKyle Evans 		break;
2253fae788SKyle Evans 	}
2353fae788SKyle Evans #else
2453fae788SKyle Evans #endif
2553fae788SKyle Evans #ifdef PLATFORM_FOO
2653fae788SKyle Evans #else
2753fae788SKyle Evans 	/* syscall2 */
2853fae788SKyle Evans 	case 2: {
2953fae788SKyle Evans 		*n_args = 0;
3053fae788SKyle Evans 		break;
3153fae788SKyle Evans 	}
3253fae788SKyle Evans #endif
3353fae788SKyle Evans 	default:
3453fae788SKyle Evans 		*n_args = 0;
3553fae788SKyle Evans 		break;
3653fae788SKyle Evans 	};
3753fae788SKyle Evans }
3853fae788SKyle Evans static void
systrace_entry_setargdesc(int sysnum,int ndx,char * desc,size_t descsz)3953fae788SKyle Evans systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
4053fae788SKyle Evans {
4153fae788SKyle Evans 	const char *p = NULL;
4253fae788SKyle Evans 	switch (sysnum) {
4353fae788SKyle Evans #ifdef PLATFORM_FOO
4453fae788SKyle Evans 	/* syscall1 */
4553fae788SKyle Evans 	case 1:
4653fae788SKyle Evans 		switch (ndx) {
4753fae788SKyle Evans 		case 0:
4853fae788SKyle Evans 			p = "int";
4953fae788SKyle Evans 			break;
5053fae788SKyle Evans 		default:
5153fae788SKyle Evans 			break;
5253fae788SKyle Evans 		};
5353fae788SKyle Evans 		break;
5453fae788SKyle Evans #else
5553fae788SKyle Evans #endif
5653fae788SKyle Evans #ifdef PLATFORM_FOO
5753fae788SKyle Evans #else
5853fae788SKyle Evans 	/* syscall2 */
5953fae788SKyle Evans 	case 2:
6053fae788SKyle Evans 		break;
6153fae788SKyle Evans #endif
6253fae788SKyle Evans 	default:
6353fae788SKyle Evans 		break;
6453fae788SKyle Evans 	};
6553fae788SKyle Evans 	if (p != NULL)
6653fae788SKyle Evans 		strlcpy(desc, p, descsz);
6753fae788SKyle Evans }
6853fae788SKyle Evans static void
systrace_return_setargdesc(int sysnum,int ndx,char * desc,size_t descsz)6953fae788SKyle Evans systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
7053fae788SKyle Evans {
7153fae788SKyle Evans 	const char *p = NULL;
7253fae788SKyle Evans 	switch (sysnum) {
7353fae788SKyle Evans #ifdef PLATFORM_FOO
7453fae788SKyle Evans 	/* syscall1 */
7553fae788SKyle Evans 	case 1:
7653fae788SKyle Evans 		if (ndx == 0 || ndx == 1)
7753fae788SKyle Evans 			p = "int";
7853fae788SKyle Evans 		break;
7953fae788SKyle Evans #else
8053fae788SKyle Evans #endif
8153fae788SKyle Evans #ifdef PLATFORM_FOO
8253fae788SKyle Evans #else
8353fae788SKyle Evans 	/* syscall2 */
8453fae788SKyle Evans 	case 2:
8553fae788SKyle Evans #endif
8653fae788SKyle Evans 	default:
8753fae788SKyle Evans 		break;
8853fae788SKyle Evans 	};
8953fae788SKyle Evans 	if (p != NULL)
9053fae788SKyle Evans 		strlcpy(desc, p, descsz);
9153fae788SKyle Evans }
92