Deleted Added
full compact
linux_socket.h (246085) linux_socket.h (283413)
1/*-
2 * Copyright (c) 2000 Assar Westerlund
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
1/*-
2 * Copyright (c) 2000 Assar Westerlund
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/compat/linux/linux_socket.h 246085 2013-01-29 18:41:30Z jhb $
28 * $FreeBSD: head/sys/compat/linux/linux_socket.h 283413 2015-05-24 15:41:27Z dchagin $
29 */
30
31#ifndef _LINUX_SOCKET_H_
32#define _LINUX_SOCKET_H_
33
34/* msg flags in recvfrom/recvmsg */
35
36#define LINUX_MSG_OOB 0x01

--- 74 unchanged lines hidden (view full) ---

111#define LINUX_SOCK_NONBLOCK LINUX_O_NONBLOCK
112
113struct l_ucred {
114 uint32_t pid;
115 uint32_t uid;
116 uint32_t gid;
117};
118
29 */
30
31#ifndef _LINUX_SOCKET_H_
32#define _LINUX_SOCKET_H_
33
34/* msg flags in recvfrom/recvmsg */
35
36#define LINUX_MSG_OOB 0x01

--- 74 unchanged lines hidden (view full) ---

111#define LINUX_SOCK_NONBLOCK LINUX_O_NONBLOCK
112
113struct l_ucred {
114 uint32_t pid;
115 uint32_t uid;
116 uint32_t gid;
117};
118
119#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32))
120
121struct linux_sendto_args {
122 int s;
123 l_uintptr_t msg;
124 int len;
125 int flags;
126 l_uintptr_t to;
127 int tolen;
128};
129
130struct linux_socket_args {
131 int domain;
132 int type;
133 int protocol;
134};
135
136struct linux_bind_args {
137 int s;
138 l_uintptr_t name;
139 int namelen;
140};
141
142struct linux_connect_args {
143 int s;
144 l_uintptr_t name;
145 int namelen;
146};
147
148struct linux_listen_args {
149 int s;
150 int backlog;
151};
152
153struct linux_accept_args {
154 int s;
155 l_uintptr_t addr;
156 l_uintptr_t namelen;
157};
158
159struct linux_accept4_args {
160 int s;
161 l_uintptr_t addr;
162 l_uintptr_t namelen;
163 int flags;
164};
165
166struct linux_getsockname_args {
167 int s;
168 l_uintptr_t addr;
169 l_uintptr_t namelen;
170};
171
172struct linux_getpeername_args {
173 int s;
174 l_uintptr_t addr;
175 l_uintptr_t namelen;
176};
177
178struct linux_socketpair_args {
179 int domain;
180 int type;
181 int protocol;
182 l_uintptr_t rsv;
183};
184
185struct linux_recvfrom_args {
186 int s;
187 l_uintptr_t buf;
188 int len;
189 int flags;
190 l_uintptr_t from;
191 l_uintptr_t fromlen;
192};
193
194struct linux_sendmsg_args {
195 int s;
196 l_uintptr_t msg;
197 int flags;
198};
199
200struct linux_recvmsg_args {
201 int s;
202 l_uintptr_t msg;
203 int flags;
204};
205
206struct linux_shutdown_args {
207 int s;
208 int how;
209};
210
211struct linux_setsockopt_args {
212 int s;
213 int level;
214 int optname;
215 l_uintptr_t optval;
216 int optlen;
217};
218
219struct linux_getsockopt_args {
220 int s;
221 int level;
222 int optname;
223 l_uintptr_t optval;
224 l_uintptr_t optlen;
225};
226
227int linux_socket(struct thread *td, struct linux_socket_args *args);
228int linux_bind(struct thread *td, struct linux_bind_args *args);
229int linux_connect(struct thread *, struct linux_connect_args *);
230int linux_listen(struct thread *td, struct linux_listen_args *args);
231int linux_accept(struct thread *td, struct linux_accept_args *args);
232int linux_accept4(struct thread *td, struct linux_accept4_args *args);
233int linux_getsockname(struct thread *td, struct linux_getsockname_args *args);
234int linux_getpeername(struct thread *td, struct linux_getpeername_args *args);
235int linux_socketpair(struct thread *td, struct linux_socketpair_args *args);
236int linux_sendto(struct thread *td, struct linux_sendto_args *args);
237int linux_recvfrom(struct thread *td, struct linux_recvfrom_args *args);
238int linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args);
239int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args);
240int linux_shutdown(struct thread *td, struct linux_shutdown_args *args);
241int linux_setsockopt(struct thread *td, struct linux_setsockopt_args *args);
242int linux_getsockopt(struct thread *td, struct linux_getsockopt_args *args);
243
244#endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */
245
119/* Operations for socketcall */
120
121#define LINUX_SOCKET 1
122#define LINUX_BIND 2
123#define LINUX_CONNECT 3
124#define LINUX_LISTEN 4
125#define LINUX_ACCEPT 5
126#define LINUX_GETSOCKNAME 6

--- 33 unchanged lines hidden ---
246/* Operations for socketcall */
247
248#define LINUX_SOCKET 1
249#define LINUX_BIND 2
250#define LINUX_CONNECT 3
251#define LINUX_LISTEN 4
252#define LINUX_ACCEPT 5
253#define LINUX_GETSOCKNAME 6

--- 33 unchanged lines hidden ---