Deleted Added
full compact
linux_file.c (37950) linux_file.c (39978)
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.20 1998/03/29 07:59:09 peter Exp $
28 * $Id: linux_file.c,v 1.21 1998/07/29 16:43:00 bde 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>

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

235 result = p->p_retval[0];
236 p->p_retval[0] = 0;
237 if (result & O_RDONLY) p->p_retval[0] |= LINUX_O_RDONLY;
238 if (result & O_WRONLY) p->p_retval[0] |= LINUX_O_WRONLY;
239 if (result & O_RDWR) p->p_retval[0] |= LINUX_O_RDWR;
240 if (result & O_NDELAY) p->p_retval[0] |= LINUX_O_NONBLOCK;
241 if (result & O_APPEND) p->p_retval[0] |= LINUX_O_APPEND;
242 if (result & O_FSYNC) p->p_retval[0] |= LINUX_O_SYNC;
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>

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

235 result = p->p_retval[0];
236 p->p_retval[0] = 0;
237 if (result & O_RDONLY) p->p_retval[0] |= LINUX_O_RDONLY;
238 if (result & O_WRONLY) p->p_retval[0] |= LINUX_O_WRONLY;
239 if (result & O_RDWR) p->p_retval[0] |= LINUX_O_RDWR;
240 if (result & O_NDELAY) p->p_retval[0] |= LINUX_O_NONBLOCK;
241 if (result & O_APPEND) p->p_retval[0] |= LINUX_O_APPEND;
242 if (result & O_FSYNC) p->p_retval[0] |= LINUX_O_SYNC;
243 if (result & O_ASYNC) p->p_retval[0] |= LINUX_FASYNC;
243 return error;
244
245 case LINUX_F_SETFL:
246 if (args->arg & LINUX_O_NDELAY) fcntl_args.arg |= O_NONBLOCK;
247 if (args->arg & LINUX_O_APPEND) fcntl_args.arg |= O_APPEND;
248 if (args->arg & LINUX_O_SYNC) fcntl_args.arg |= O_FSYNC;
244 return error;
245
246 case LINUX_F_SETFL:
247 if (args->arg & LINUX_O_NDELAY) fcntl_args.arg |= O_NONBLOCK;
248 if (args->arg & LINUX_O_APPEND) fcntl_args.arg |= O_APPEND;
249 if (args->arg & LINUX_O_SYNC) fcntl_args.arg |= O_FSYNC;
250 if (args->arg & LINUX_FASYNC) fcntl_args.arg |= O_ASYNC;
249 fcntl_args.cmd = F_SETFL;
250 return fcntl(p, &fcntl_args);
251
252 case LINUX_F_GETLK:
253 if ((error = copyin((caddr_t)args->arg, (caddr_t)&linux_flock,
254 sizeof(struct linux_flock))))
255 return error;
256 linux_to_bsd_flock(&linux_flock, bsd_flock);

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

289 * does not exist.
290 */
291 fdp = p->p_fd;
292 if ((u_int)args->fd >= fdp->fd_nfiles ||
293 (fp = fdp->fd_ofiles[args->fd]) == NULL)
294 return EBADF;
295 if (fp->f_type == DTYPE_SOCKET) {
296 fcntl_args.cmd = args->cmd == LINUX_F_SETOWN ? F_SETOWN : F_GETOWN;
251 fcntl_args.cmd = F_SETFL;
252 return fcntl(p, &fcntl_args);
253
254 case LINUX_F_GETLK:
255 if ((error = copyin((caddr_t)args->arg, (caddr_t)&linux_flock,
256 sizeof(struct linux_flock))))
257 return error;
258 linux_to_bsd_flock(&linux_flock, bsd_flock);

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

291 * does not exist.
292 */
293 fdp = p->p_fd;
294 if ((u_int)args->fd >= fdp->fd_nfiles ||
295 (fp = fdp->fd_ofiles[args->fd]) == NULL)
296 return EBADF;
297 if (fp->f_type == DTYPE_SOCKET) {
298 fcntl_args.cmd = args->cmd == LINUX_F_SETOWN ? F_SETOWN : F_GETOWN;
299 fcntl_args.arg = args->arg;
297 return fcntl(p, &fcntl_args);
298 }
299 vp = (struct vnode *)fp->f_data;
300 if (vp->v_type != VCHR)
301 return EINVAL;
302 if ((error = VOP_GETATTR(vp, &va, p->p_ucred, p)))
303 return error;
304

--- 523 unchanged lines hidden ---
300 return fcntl(p, &fcntl_args);
301 }
302 vp = (struct vnode *)fp->f_data;
303 if (vp->v_type != VCHR)
304 return EINVAL;
305 if ((error = VOP_GETATTR(vp, &va, p->p_ucred, p)))
306 return error;
307

--- 523 unchanged lines hidden ---