Deleted Added
full compact
fifo_vnops.c (1541) fifo_vnops.c (1549)
1/*
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. 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

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

106};
107struct vnodeopv_desc fifo_vnodeop_opv_desc =
108 { &fifo_vnodeop_p, fifo_vnodeop_entries };
109
110/*
111 * Trivial lookup routine that always fails.
112 */
113/* ARGSUSED */
1/*
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. 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

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

106};
107struct vnodeopv_desc fifo_vnodeop_opv_desc =
108 { &fifo_vnodeop_p, fifo_vnodeop_entries };
109
110/*
111 * Trivial lookup routine that always fails.
112 */
113/* ARGSUSED */
114int
114fifo_lookup(ap)
115 struct vop_lookup_args /* {
116 struct vnode * a_dvp;
117 struct vnode ** a_vpp;
118 struct componentname * a_cnp;
119 } */ *ap;
120{
121
122 *ap->a_vpp = NULL;
123 return (ENOTDIR);
124}
125
126/*
127 * Open called to set up a new instance of a fifo or
128 * to find an active instance of a fifo.
129 */
130/* ARGSUSED */
115fifo_lookup(ap)
116 struct vop_lookup_args /* {
117 struct vnode * a_dvp;
118 struct vnode ** a_vpp;
119 struct componentname * a_cnp;
120 } */ *ap;
121{
122
123 *ap->a_vpp = NULL;
124 return (ENOTDIR);
125}
126
127/*
128 * Open called to set up a new instance of a fifo or
129 * to find an active instance of a fifo.
130 */
131/* ARGSUSED */
132int
131fifo_open(ap)
132 struct vop_open_args /* {
133 struct vnode *a_vp;
134 int a_mode;
135 struct ucred *a_cred;
136 struct proc *a_p;
137 } */ *ap;
138{

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

213 VOP_CLOSE(vp, ap->a_mode, ap->a_cred, ap->a_p);
214 return (error);
215}
216
217/*
218 * Vnode op for read
219 */
220/* ARGSUSED */
133fifo_open(ap)
134 struct vop_open_args /* {
135 struct vnode *a_vp;
136 int a_mode;
137 struct ucred *a_cred;
138 struct proc *a_p;
139 } */ *ap;
140{

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

215 VOP_CLOSE(vp, ap->a_mode, ap->a_cred, ap->a_p);
216 return (error);
217}
218
219/*
220 * Vnode op for read
221 */
222/* ARGSUSED */
223int
221fifo_read(ap)
222 struct vop_read_args /* {
223 struct vnode *a_vp;
224 struct uio *a_uio;
225 int a_ioflag;
226 struct ucred *a_cred;
227 } */ *ap;
228{

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

252 rso->so_state &= ~SS_NBIO;
253 return (error);
254}
255
256/*
257 * Vnode op for write
258 */
259/* ARGSUSED */
224fifo_read(ap)
225 struct vop_read_args /* {
226 struct vnode *a_vp;
227 struct uio *a_uio;
228 int a_ioflag;
229 struct ucred *a_cred;
230 } */ *ap;
231{

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

255 rso->so_state &= ~SS_NBIO;
256 return (error);
257}
258
259/*
260 * Vnode op for write
261 */
262/* ARGSUSED */
263int
260fifo_write(ap)
261 struct vop_write_args /* {
262 struct vnode *a_vp;
263 struct uio *a_uio;
264 int a_ioflag;
265 struct ucred *a_cred;
266 } */ *ap;
267{

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

281 wso->so_state &= ~SS_NBIO;
282 return (error);
283}
284
285/*
286 * Device ioctl operation.
287 */
288/* ARGSUSED */
264fifo_write(ap)
265 struct vop_write_args /* {
266 struct vnode *a_vp;
267 struct uio *a_uio;
268 int a_ioflag;
269 struct ucred *a_cred;
270 } */ *ap;
271{

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

285 wso->so_state &= ~SS_NBIO;
286 return (error);
287}
288
289/*
290 * Device ioctl operation.
291 */
292/* ARGSUSED */
293int
289fifo_ioctl(ap)
290 struct vop_ioctl_args /* {
291 struct vnode *a_vp;
292 int a_command;
293 caddr_t a_data;
294 int a_fflag;
295 struct ucred *a_cred;
296 struct proc *a_p;

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

303 if (ap->a_fflag & FREAD)
304 filetmp.f_data = (caddr_t)ap->a_vp->v_fifoinfo->fi_readsock;
305 else
306 filetmp.f_data = (caddr_t)ap->a_vp->v_fifoinfo->fi_writesock;
307 return (soo_ioctl(&filetmp, ap->a_command, ap->a_data, ap->a_p));
308}
309
310/* ARGSUSED */
294fifo_ioctl(ap)
295 struct vop_ioctl_args /* {
296 struct vnode *a_vp;
297 int a_command;
298 caddr_t a_data;
299 int a_fflag;
300 struct ucred *a_cred;
301 struct proc *a_p;

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

308 if (ap->a_fflag & FREAD)
309 filetmp.f_data = (caddr_t)ap->a_vp->v_fifoinfo->fi_readsock;
310 else
311 filetmp.f_data = (caddr_t)ap->a_vp->v_fifoinfo->fi_writesock;
312 return (soo_ioctl(&filetmp, ap->a_command, ap->a_data, ap->a_p));
313}
314
315/* ARGSUSED */
316int
311fifo_select(ap)
312 struct vop_select_args /* {
313 struct vnode *a_vp;
314 int a_which;
315 int a_fflags;
316 struct ucred *a_cred;
317 struct proc *a_p;
318 } */ *ap;

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

324 else
325 filetmp.f_data = (caddr_t)ap->a_vp->v_fifoinfo->fi_writesock;
326 return (soo_select(&filetmp, ap->a_which, ap->a_p));
327}
328
329/*
330 * This is a noop, simply returning what one has been given.
331 */
317fifo_select(ap)
318 struct vop_select_args /* {
319 struct vnode *a_vp;
320 int a_which;
321 int a_fflags;
322 struct ucred *a_cred;
323 struct proc *a_p;
324 } */ *ap;

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

330 else
331 filetmp.f_data = (caddr_t)ap->a_vp->v_fifoinfo->fi_writesock;
332 return (soo_select(&filetmp, ap->a_which, ap->a_p));
333}
334
335/*
336 * This is a noop, simply returning what one has been given.
337 */
338int
332fifo_bmap(ap)
333 struct vop_bmap_args /* {
334 struct vnode *a_vp;
335 daddr_t a_bn;
336 struct vnode **a_vpp;
337 daddr_t *a_bnp;
338 } */ *ap;
339{

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

344 *ap->a_bnp = ap->a_bn;
345 return (0);
346}
347
348/*
349 * At the moment we do not do any locking.
350 */
351/* ARGSUSED */
339fifo_bmap(ap)
340 struct vop_bmap_args /* {
341 struct vnode *a_vp;
342 daddr_t a_bn;
343 struct vnode **a_vpp;
344 daddr_t *a_bnp;
345 } */ *ap;
346{

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

351 *ap->a_bnp = ap->a_bn;
352 return (0);
353}
354
355/*
356 * At the moment we do not do any locking.
357 */
358/* ARGSUSED */
359int
352fifo_lock(ap)
353 struct vop_lock_args /* {
354 struct vnode *a_vp;
355 } */ *ap;
356{
357
358 return (0);
359}
360
361/* ARGSUSED */
360fifo_lock(ap)
361 struct vop_lock_args /* {
362 struct vnode *a_vp;
363 } */ *ap;
364{
365
366 return (0);
367}
368
369/* ARGSUSED */
370int
362fifo_unlock(ap)
363 struct vop_unlock_args /* {
364 struct vnode *a_vp;
365 } */ *ap;
366{
367
368 return (0);
369}
370
371/*
372 * Device close routine
373 */
374/* ARGSUSED */
371fifo_unlock(ap)
372 struct vop_unlock_args /* {
373 struct vnode *a_vp;
374 } */ *ap;
375{
376
377 return (0);
378}
379
380/*
381 * Device close routine
382 */
383/* ARGSUSED */
384int
375fifo_close(ap)
376 struct vop_close_args /* {
377 struct vnode *a_vp;
378 int a_fflag;
379 struct ucred *a_cred;
380 struct proc *a_p;
381 } */ *ap;
382{

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

402 if (error1)
403 return (error1);
404 return (error2);
405}
406
407/*
408 * Print out the contents of a fifo vnode.
409 */
385fifo_close(ap)
386 struct vop_close_args /* {
387 struct vnode *a_vp;
388 int a_fflag;
389 struct ucred *a_cred;
390 struct proc *a_p;
391 } */ *ap;
392{

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

412 if (error1)
413 return (error1);
414 return (error2);
415}
416
417/*
418 * Print out the contents of a fifo vnode.
419 */
420int
410fifo_print(ap)
411 struct vop_print_args /* {
412 struct vnode *a_vp;
413 } */ *ap;
414{
415
416 printf("tag VT_NON");
417 fifo_printinfo(ap->a_vp);
418 printf("\n");
421fifo_print(ap)
422 struct vop_print_args /* {
423 struct vnode *a_vp;
424 } */ *ap;
425{
426
427 printf("tag VT_NON");
428 fifo_printinfo(ap->a_vp);
429 printf("\n");
430 return (0);
419}
420
421/*
422 * Print out internal contents of a fifo vnode.
423 */
431}
432
433/*
434 * Print out internal contents of a fifo vnode.
435 */
436int
424fifo_printinfo(vp)
425 struct vnode *vp;
426{
427 register struct fifoinfo *fip = vp->v_fifoinfo;
428
429 printf(", fifo with %d readers and %d writers",
430 fip->fi_readers, fip->fi_writers);
437fifo_printinfo(vp)
438 struct vnode *vp;
439{
440 register struct fifoinfo *fip = vp->v_fifoinfo;
441
442 printf(", fifo with %d readers and %d writers",
443 fip->fi_readers, fip->fi_writers);
444 return (0);
431}
432
433/*
434 * Return POSIX pathconf information applicable to fifo's.
435 */
445}
446
447/*
448 * Return POSIX pathconf information applicable to fifo's.
449 */
450int
436fifo_pathconf(ap)
437 struct vop_pathconf_args /* {
438 struct vnode *a_vp;
439 int a_name;
440 int *a_retval;
441 } */ *ap;
442{
443

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

455 return (EINVAL);
456 }
457 /* NOTREACHED */
458}
459
460/*
461 * Fifo failed operation
462 */
451fifo_pathconf(ap)
452 struct vop_pathconf_args /* {
453 struct vnode *a_vp;
454 int a_name;
455 int *a_retval;
456 } */ *ap;
457{
458

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

470 return (EINVAL);
471 }
472 /* NOTREACHED */
473}
474
475/*
476 * Fifo failed operation
477 */
478int
463fifo_ebadf()
464{
465
466 return (EBADF);
467}
468
469/*
470 * Fifo advisory byte-level locks.
471 */
472/* ARGSUSED */
479fifo_ebadf()
480{
481
482 return (EBADF);
483}
484
485/*
486 * Fifo advisory byte-level locks.
487 */
488/* ARGSUSED */
489int
473fifo_advlock(ap)
474 struct vop_advlock_args /* {
475 struct vnode *a_vp;
476 caddr_t a_id;
477 int a_op;
478 struct flock *a_fl;
479 int a_flags;
480 } */ *ap;
481{
482
483 return (EOPNOTSUPP);
484}
485
486/*
487 * Fifo bad operation
488 */
490fifo_advlock(ap)
491 struct vop_advlock_args /* {
492 struct vnode *a_vp;
493 caddr_t a_id;
494 int a_op;
495 struct flock *a_fl;
496 int a_flags;
497 } */ *ap;
498{
499
500 return (EOPNOTSUPP);
501}
502
503/*
504 * Fifo bad operation
505 */
506int
489fifo_badop()
490{
491
492 panic("fifo_badop called");
493 /* NOTREACHED */
494}
507fifo_badop()
508{
509
510 panic("fifo_badop called");
511 /* NOTREACHED */
512}