- Test m_pkthdr.fw_flags against DUMMYNET_MBUF_TAGGED before trying to locate
[dragonfly/netmp.git] / sys / sys / syslink_vfs.h
blobba4fcc0e8d5f63dc4536e4c3eeb86697b41576eb
1 /*
2 * Copyright (c) 2007 The DragonFly Project. All rights reserved.
3 *
4 * This code is derived from software contributed to The DragonFly Project
5 * by Matthew Dillon <dillon@backplane.com>
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * 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
15 * the documentation and/or other materials provided with the
16 * distribution.
17 * 3. Neither the name of The DragonFly Project nor the names of its
18 * contributors may be used to endorse or promote products derived
19 * from this software without specific, prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
31 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
34 * $DragonFly: src/sys/sys/syslink_vfs.h,v 1.1 2007/10/09 17:29:19 dillon Exp $
37 #ifndef _SYS_SYSLINK_VFS_H_
38 #define _SYS_SYSLINK_VFS_H_
40 #ifndef _SYS_SYSLINK_MSG_H_
41 #include <sys/syslink_msg.h>
42 #endif
45 * Note: Base command codes are limited by SE_CMD_MASK (0x03FF). The entire
46 * se_cmd is tested in switch()es to guarentee expectations.
48 #define SLVFS_CMD_VFS_ROOT (0x0001|SE_CMDF_STRUCTURED)
49 #define SLVFS_CMD_VFS_STATFS (0x0002|SE_CMDF_STRUCTURED)
52 * Note: userfs implements advlock, open, close, read, and
53 * write internally.
55 #define SLVFS_CMD_VOP_FSYNC (0x0010|SE_CMDF_STRUCTURED)
56 #define SLVFS_CMD_VOP_GETPAGES (0x0011|SE_CMDF_STRUCTURED|SE_CMDF_DMAR)
57 #define SLVFS_CMD_VOP_PUTPAGES (0x0012|SE_CMDF_STRUCTURED|SE_CMDF_DMAW)
58 #define SLVFS_CMD_VOP_READ (0x0013|SE_CMDF_STRUCTURED|SE_CMDF_DMAR)
59 #define SLVFS_CMD_VOP_WRITE (0x0014|SE_CMDF_STRUCTURED|SE_CMDF_DMAW)
60 #define SLVFS_CMD_VOP_ACCESS (0x0015|SE_CMDF_STRUCTURED)
61 #define SLVFS_CMD_VOP_ADVLOCK (0x0016|SE_CMDF_STRUCTURED)
62 #define SLVFS_CMD_VOP_CLOSE (0x0017|SE_CMDF_STRUCTURED)
63 #define SLVFS_CMD_VOP_NCREATE (0x0018|SE_CMDF_STRUCTURED)
64 #define SLVFS_CMD_VOP_GETATTR (0x0019|SE_CMDF_STRUCTURED)
65 #define SLVFS_CMD_VOP_NRESOLVE (0x001A|SE_CMDF_STRUCTURED)
66 #define SLVFS_CMD_VOP_NLOOKUPDOTDOT (0x001B|SE_CMDF_STRUCTURED)
67 #define SLVFS_CMD_VOP_NLINK (0x001C|SE_CMDF_STRUCTURED)
68 #define SLVFS_CMD_VOP_NMKDIR (0x001D|SE_CMDF_STRUCTURED)
69 #define SLVFS_CMD_VOP_NMKNOD (0x001E|SE_CMDF_STRUCTURED)
70 #define SLVFS_CMD_VOP_OPEN (0x001F|SE_CMDF_STRUCTURED)
71 #define SLVFS_CMD_VOP_PATHCONF (0x0020|SE_CMDF_STRUCTURED)
72 #define SLVFS_CMD_VOP_PRINT (0x0021|SE_CMDF_STRUCTURED)
73 #define SLVFS_CMD_VOP_READDIR (0x0022|SE_CMDF_STRUCTURED|SE_CMDF_DMAR)
74 #define SLVFS_CMD_VOP_READLINK (0x0023|SE_CMDF_STRUCTURED)
75 #define SLVFS_CMD_VOP_NREMOVE (0x0024|SE_CMDF_STRUCTURED)
76 #define SLVFS_CMD_VOP_NRENAME (0x0025|SE_CMDF_STRUCTURED)
77 #define SLVFS_CMD_VOP_NRMDIR (0x0026|SE_CMDF_STRUCTURED)
78 #define SLVFS_CMD_VOP_SETATTR (0x0027|SE_CMDF_STRUCTURED)
79 #define SLVFS_CMD_VOP_STRATEGY_READ (0x0028|SE_CMDF_STRUCTURED|SE_CMDF_DMAR)
80 #define SLVFS_CMD_VOP_STRATEGY_WRITE (0x0029|SE_CMDF_STRUCTURED|SE_CMDF_DMAW)
81 #define SLVFS_CMD_VOP_STRATEGY_MISC (0x002A|SE_CMDF_STRUCTURED)
82 #define SLVFS_CMD_VOP_NSYMLINK (0x002B|SE_CMDF_STRUCTURED)
83 #define SLVFS_CMD_VOP_NWHITEOUT (0x002C|SE_CMDF_STRUCTURED)
86 * Note: Most elements without an ASIZE specification use the 32 bit se_aux
87 * field.
89 #define SLVFS_ELM_OFFSET (0x0001|SE_CMDF_ASIZE8)
90 #define SLVFS_ELM_VNODE (0x0002|SE_CMDF_ASIZE8)
91 #define SLVFS_ELM_IOCMD (0x0003)
92 #define SLVFS_ELM_IOCOUNT (0x0004)
93 #define SLVFS_ELM_INUM (0x0005|SE_CMDF_ASIZE8)
94 #define SLVFS_ELM_NCPFLAG (0x0006)
96 #define SLVFS_ELM_STAT (0x0010|SE_CMDF_STRUCTURED)
97 #define SLVFS_ELM_VATTR (0x0011|SE_CMDF_STRUCTURED)
98 #define SLVFS_ELM_CRED (0x0012|SE_CMDF_STRUCTURED)
100 #define SLVFS_ELM_VA_TYPE (0x0100)
101 #define SLVFS_ELM_VA_NLINK (0x0101)
102 #define SLVFS_ELM_VA_MODE (0x0102)
103 #define SLVFS_ELM_VA_UID (0x0103)
104 #define SLVFS_ELM_VA_GID (0x0104)
105 #define SLVFS_ELM_VA_FSID (0x0105)
106 #define SLVFS_ELM_VA_FILEID (0x0106)
107 #define SLVFS_ELM_VA_SIZE (0x0107|SE_CMDF_ASIZE8)
108 #define SLVFS_ELM_VA_BLOCKSIZE (0x0108)
109 #define SLVFS_ELM_VA_ATIME (0x0109|SE_CMDF_ASIZE8)
110 #define SLVFS_ELM_VA_MTIME (0x010A|SE_CMDF_ASIZE8)
111 #define SLVFS_ELM_VA_CTIME (0x010B|SE_CMDF_ASIZE8)
112 #define SLVFS_ELM_VA_GEN (0x010C)
113 #define SLVFS_ELM_VA_FLAGS (0x010D)
114 #define SLVFS_ELM_VA_RMAJOR (0x010E)
115 #define SLVFS_ELM_VA_RMINOR (0x010F)
116 #define SLVFS_ELM_VA_BYTES (0x0110|SE_CMDF_ASIZE8)
117 #define SLVFS_ELM_VA_FILEREV (0x0111|SE_CMDF_ASIZE8)
118 #define SLVFS_ELM_VA_VAFLAGS (0x0112)
119 #define SLVFS_ELM_VA_FSMID (0x0113|SE_CMDF_ASIZE8)
121 #endif