1 /* $OpenBSD: fifo.h,v 1.16 2007/01/16 17:52:18 thib Exp $ */
2 /* $NetBSD: fifo.h,v 1.10 1996/02/09 22:40:15 christos Exp $ */
3
4 /*
5 * Copyright (c) 1991, 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. Neither the name of the University nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 *
32 * @(#)fifo.h 8.3 (Berkeley) 8/10/94
33 */
34 #ifdef FIFO
35
36 /*
37 * Prototypes for fifo operations on vnodes.
38 */
39 int fifo_badop(void *);
40 int fifo_ebadf(void *);
41
42 int fifo_lookup(void *);
43 #define fifo_create fifo_badop
44 #define fifo_mknod fifo_badop
45 int fifo_open(void *);
46 int fifo_close(void *);
47 #define fifo_access fifo_ebadf
48 #define fifo_getattr fifo_ebadf
49 #define fifo_setattr fifo_ebadf
50 int fifo_read(void *);
51 int fifo_write(void *);
52 int fifo_ioctl(void *);
53 int fifo_poll(void *);
54 int fifo_kqfilter(void *);
55 #define fifo_fsync nullop
56 #define fifo_remove fifo_badop
57 #define fifo_revoke vop_generic_revoke
58 #define fifo_link fifo_badop
59 #define fifo_rename fifo_badop
60 #define fifo_mkdir fifo_badop
61 #define fifo_rmdir fifo_badop
62 #define fifo_symlink fifo_badop
63 #define fifo_readdir fifo_badop
64 #define fifo_readlink fifo_badop
65 #define fifo_abortop fifo_badop
66 int fifo_inactive(void *);
67 int fifo_reclaim(void *);
68 #define fifo_lock vop_generic_lock
69 #define fifo_unlock vop_generic_unlock
70 int fifo_bmap(void *);
71 #define fifo_strategy fifo_badop
72 int fifo_print(void *);
73 #define fifo_islocked vop_generic_islocked
74 int fifo_pathconf(void *);
75 int fifo_advlock(void *);
76 #define fifo_reallocblks fifo_badop
77 #define fifo_bwrite nullop
78
79 void fifo_printinfo(struct vnode *);
80
81 int fifo_vnoperate(void *);
82
83 extern int (**fifo_vnodeop_p)(void *);
84
85 #endif /* FIFO */