1/* Check error message for invalid sysctl call. 2#xerror: 3#output: Unimplemented _sysctl syscall *\n 4#output: program stopped with signal 4.\n 5#notarget: cris*-*-elf 6*/ 7 8#include <unistd.h> 9#include <sys/syscall.h> 10#include <errno.h> 11#include <stdio.h> 12#include <stdlib.h> 13#include <errno.h> 14 15int main (void) 16{ 17 static int sysctl_args[] = { 99, 99 }; 18 size_t x = 8; 19 20 struct __sysctl_args { 21 int *name; 22 int nlen; 23 void *oldval; 24 size_t *oldlenp; 25 void *newval; 26 size_t newlen; 27 unsigned long __unused[4]; 28 } scargs 29 = 30 { 31 sysctl_args, 32 sizeof (sysctl_args) / sizeof (sysctl_args[0]), 33 (void *) -1, &x, NULL, 0 34 }; 35 36 int err = syscall (SYS__sysctl, &scargs); 37 if (err == -1 && errno == ENOSYS) 38 printf ("ENOSYS\n"); 39 printf ("xyzzy\n"); 40 exit (0); 41} 42