Deleted Added
full compact
linux_file.c (49788) linux_file.c (49845)
1/*-
2 * Copyright (c) 1994-1995 S�ren Schmidt
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) 1994-1995 S�ren Schmidt
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 * $Id: linux_file.c,v 1.29 1999/08/13 09:27:54 marcel Exp $
28 * $Id: linux_file.c,v 1.30 1999/08/14 18:20:44 marcel Exp $
29 */
30
31#include "opt_compat.h"
32
33#include <sys/param.h>
34#include <sys/systm.h>
35#include <sys/sysproto.h>
36#include <sys/fcntl.h>

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

212 bsd_flock = (struct flock *)stackgap_alloc(&sg, sizeof(struct flock));
213 d_tty = NULL;
214
215#ifdef DEBUG
216 printf("Linux-emul(%d): fcntl(%d, %08x, *)\n",
217 p->p_pid, args->fd, args->cmd);
218#endif
219 fcntl_args.fd = args->fd;
29 */
30
31#include "opt_compat.h"
32
33#include <sys/param.h>
34#include <sys/systm.h>
35#include <sys/sysproto.h>
36#include <sys/fcntl.h>

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

212 bsd_flock = (struct flock *)stackgap_alloc(&sg, sizeof(struct flock));
213 d_tty = NULL;
214
215#ifdef DEBUG
216 printf("Linux-emul(%d): fcntl(%d, %08x, *)\n",
217 p->p_pid, args->fd, args->cmd);
218#endif
219 fcntl_args.fd = args->fd;
220 fcntl_args.arg = 0;
221
222 switch (args->cmd) {
223 case LINUX_F_DUPFD:
224 fcntl_args.cmd = F_DUPFD;
220
221 switch (args->cmd) {
222 case LINUX_F_DUPFD:
223 fcntl_args.cmd = F_DUPFD;
224 fcntl_args.arg = args->arg;
225 return fcntl(p, &fcntl_args);
226
227 case LINUX_F_GETFD:
228 fcntl_args.cmd = F_GETFD;
229 return fcntl(p, &fcntl_args);
230
231 case LINUX_F_SETFD:
232 fcntl_args.cmd = F_SETFD;
225 return fcntl(p, &fcntl_args);
226
227 case LINUX_F_GETFD:
228 fcntl_args.cmd = F_GETFD;
229 return fcntl(p, &fcntl_args);
230
231 case LINUX_F_SETFD:
232 fcntl_args.cmd = F_SETFD;
233 fcntl_args.arg = args->arg;
233 return fcntl(p, &fcntl_args);
234
235 case LINUX_F_GETFL:
236 fcntl_args.cmd = F_GETFL;
237 error = fcntl(p, &fcntl_args);
238 result = p->p_retval[0];
239 p->p_retval[0] = 0;
240 if (result & O_RDONLY) p->p_retval[0] |= LINUX_O_RDONLY;
241 if (result & O_WRONLY) p->p_retval[0] |= LINUX_O_WRONLY;
242 if (result & O_RDWR) p->p_retval[0] |= LINUX_O_RDWR;
243 if (result & O_NDELAY) p->p_retval[0] |= LINUX_O_NONBLOCK;
244 if (result & O_APPEND) p->p_retval[0] |= LINUX_O_APPEND;
245 if (result & O_FSYNC) p->p_retval[0] |= LINUX_O_SYNC;
246 if (result & O_ASYNC) p->p_retval[0] |= LINUX_FASYNC;
247 return error;
248
249 case LINUX_F_SETFL:
234 return fcntl(p, &fcntl_args);
235
236 case LINUX_F_GETFL:
237 fcntl_args.cmd = F_GETFL;
238 error = fcntl(p, &fcntl_args);
239 result = p->p_retval[0];
240 p->p_retval[0] = 0;
241 if (result & O_RDONLY) p->p_retval[0] |= LINUX_O_RDONLY;
242 if (result & O_WRONLY) p->p_retval[0] |= LINUX_O_WRONLY;
243 if (result & O_RDWR) p->p_retval[0] |= LINUX_O_RDWR;
244 if (result & O_NDELAY) p->p_retval[0] |= LINUX_O_NONBLOCK;
245 if (result & O_APPEND) p->p_retval[0] |= LINUX_O_APPEND;
246 if (result & O_FSYNC) p->p_retval[0] |= LINUX_O_SYNC;
247 if (result & O_ASYNC) p->p_retval[0] |= LINUX_FASYNC;
248 return error;
249
250 case LINUX_F_SETFL:
251 fcntl_args.arg = 0;
250 if (args->arg & LINUX_O_NDELAY) fcntl_args.arg |= O_NONBLOCK;
251 if (args->arg & LINUX_O_APPEND) fcntl_args.arg |= O_APPEND;
252 if (args->arg & LINUX_O_SYNC) fcntl_args.arg |= O_FSYNC;
253 if (args->arg & LINUX_FASYNC) fcntl_args.arg |= O_ASYNC;
254 fcntl_args.cmd = F_SETFL;
255 return fcntl(p, &fcntl_args);
256
257 case LINUX_F_GETLK:

--- 609 unchanged lines hidden ---
252 if (args->arg & LINUX_O_NDELAY) fcntl_args.arg |= O_NONBLOCK;
253 if (args->arg & LINUX_O_APPEND) fcntl_args.arg |= O_APPEND;
254 if (args->arg & LINUX_O_SYNC) fcntl_args.arg |= O_FSYNC;
255 if (args->arg & LINUX_FASYNC) fcntl_args.arg |= O_ASYNC;
256 fcntl_args.cmd = F_SETFL;
257 return fcntl(p, &fcntl_args);
258
259 case LINUX_F_GETLK:

--- 609 unchanged lines hidden ---