This is My Code: 1 #include<sys/param.h> 2 #include<sys/jail.h> 3 #include<arpa/inet.h> 4 #include<stdio.h> 5 #include<errno.h> 6 7 int main() 8 { 9 int jid; 10 struct jail j; 11 struct in_addr ip4; 12 const char *cp="192.168.1.10"; 13 14 j.version=JAIL_API_VERSION; 15 j.path="/home/mk/jail"; 16 j.hostname="testJail"; 17 j.jailname="test"; 18 j.ip4s=inet_addr(cp); 19 j.ip6s=0; 20 21 if(1!=inet_aton(cp,&ip4)) 22 printf("the address is invalid\r\n"); 23 24 j.ip4=&ip4; 25 j.ip6=NULL; 26 27 jid=jail(&j); 28 29 switch(errno){ 30 case EPERM: 31 printf("eperm\r\n"); 32 break; 33 case EFAULT: 34 printf("efault\r\n"); 35 break; 36 case EINVAL: 37 printf("einval\r\n"); 38 break; 39 40 case EAGAIN: 41 printf("eagain\r\n"); 42 } 47 return 0; 48 }
The problem is it will print `einval`,it means `The version number of the argument is not correct.` How to solve it? _______________________________________________ freebsd-jail@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-jail To unsubscribe, send any mail to "freebsd-jail-unsubscr...@freebsd.org"