This source file includes following definitions.
- ibcs2_socksys
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include <sys/param.h>
30 #include <sys/systm.h>
31 #include <sys/proc.h>
32 #include <sys/file.h>
33 #include <sys/filedesc.h>
34 #include <sys/ioctl.h>
35 #include <sys/termios.h>
36 #include <sys/tty.h>
37 #include <sys/socket.h>
38 #include <sys/mount.h>
39 #include <net/if.h>
40
41 #include <sys/syscallargs.h>
42
43 #include <compat/ibcs2/ibcs2_socksys.h>
44 #include <compat/ibcs2/ibcs2_util.h>
45
46
47
48
49
50 struct ibcs2_socksys_args {
51 int fd;
52 int magic;
53 caddr_t argsp;
54 };
55
56 int
57 ibcs2_socksys(p, v, retval)
58 register struct proc *p;
59 void *v;
60 register_t *retval;
61 {
62 register struct ibcs2_socksys_args *uap = v;
63 int error;
64 int realargs[7];
65
66
67
68
69
70
71
72 error = copyin(uap->argsp, (caddr_t)realargs, sizeof(realargs));
73 if (error)
74 return error;
75 DPRINTF(("ibcs2_socksys: %08x %08x %08x %08x %08x %08x %08x\n",
76 realargs[0], realargs[1], realargs[2], realargs[3],
77 realargs[4], realargs[5], realargs[6]));
78 switch (realargs[0]) {
79 case SOCKSYS_ACCEPT:
80 return sys_accept(p, realargs + 1, retval);
81 case SOCKSYS_BIND:
82 return sys_bind(p, realargs + 1, retval);
83 case SOCKSYS_CONNECT:
84 return sys_connect(p, realargs + 1, retval);
85 case SOCKSYS_GETPEERNAME:
86 return sys_getpeername(p, realargs + 1, retval);
87 case SOCKSYS_GETSOCKNAME:
88 return sys_getsockname(p, realargs + 1, retval);
89 case SOCKSYS_GETSOCKOPT:
90 return sys_getsockopt(p, realargs + 1, retval);
91 case SOCKSYS_LISTEN:
92 return sys_listen(p, realargs + 1, retval);
93 case SOCKSYS_RECV:
94 realargs[5] = realargs[6] = 0;
95
96 case SOCKSYS_RECVFROM:
97 return sys_recvfrom(p, realargs + 1, retval);
98 case SOCKSYS_SEND:
99 realargs[5] = realargs[6] = 0;
100
101 case SOCKSYS_SENDTO:
102 return sys_sendto(p, realargs + 1, retval);
103 case SOCKSYS_SETSOCKOPT:
104 return sys_setsockopt(p, realargs + 1, retval);
105 case SOCKSYS_SHUTDOWN:
106 return sys_shutdown(p, realargs + 1, retval);
107 case SOCKSYS_SOCKET:
108 return sys_socket(p, realargs + 1, retval);
109 case SOCKSYS_SELECT:
110 return sys_select(p, realargs + 1, retval);
111 case SOCKSYS_GETIPDOMAIN:
112 return compat_09_sys_getdomainname(p, realargs + 1, retval);
113 case SOCKSYS_SETIPDOMAIN:
114 return compat_09_sys_setdomainname(p, realargs + 1, retval);
115 case SOCKSYS_ADJTIME:
116 return sys_adjtime(p, realargs + 1, retval);
117 case SOCKSYS_SETREUID:
118 return sys_setreuid(p, realargs + 1, retval);
119 case SOCKSYS_SETREGID:
120 return sys_setregid(p, realargs + 1, retval);
121 case SOCKSYS_GETTIME:
122 return sys_gettimeofday(p, realargs + 1, retval);
123 case SOCKSYS_SETTIME:
124 return sys_settimeofday(p, realargs + 1, retval);
125 case SOCKSYS_GETITIMER:
126 return sys_getitimer(p, realargs + 1, retval);
127 case SOCKSYS_SETITIMER:
128 return sys_setitimer(p, realargs + 1, retval);
129
130 default:
131 printf("socksys unknown %08x %08x %08x %08x %08x %08x %08x\n",
132 realargs[0], realargs[1], realargs[2], realargs[3],
133 realargs[4], realargs[5], realargs[6]);
134 return EINVAL;
135 }
136
137 }