Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-fmp.h
1 /* packet-fmp.h
2  * Defines for fmp dissection
3  *
4  * Wireshark - Network traffic analyzer
5  * By Gerald Combs <gerald@wireshark.org>
6  * Copyright 1998 Gerald Combs
7  *
8  *
9  * SPDX-License-Identifier: GPL-2.0-or-later
10  */
11 
12 #ifndef PACKET_FMP_H
13 #define PACKET_FMP_H
14 
15 #define FMP_PROGRAM 1001911
16 #define FMP_VERSION_3 3
17 
18 
19 
20 /*
21  * FMP Procedures
22  */
23 #define FMP_SessionCreate 1
24 #define FMP_HeartBeat 2
25 #define FMP_Mount 3
26 #define FMP_Open 4
27 #define FMP_Close 5
28 #define FMP_OpenGetMap 6
29 #define FMP_OpenAllocSpace 7
30 #define FMP_GetMap 8
31 #define FMP_AllocSpace 9
32 #define FMP_Flush 10
33 #define FMP_CancelReq 11
34 #define FMP_PlugIn 12
35 #define FMP_SessionTerminate 13
36 #define FMP_SessionCreateEx 14
37 #define FMP_ReportClientError 15
38 #define FMP_GetAttr 16
39 #define FMP_OpenGetAttr 17
40 #define FMP_FlushGetAttr 18
41 #define FMP_OpenGetMapEx 19
42 #define FMP_OpenAllocSpaceEx 20
43 #define FMP_GetMapEx 21
44 #define FMP_AllocSpaceEx 22
45 #define FMP_FlushEx 23
46 #define FMP_FlushGetAttrEx 24
47 #define FMP_GetVolumeInfo 25
48 
49 
50 
51 /*
52  * Volume Mgmt Capability
53  */
54 
55 #define FMP_SERVER_BASED 0x01
56 #define FMP_THIRD_PARTY 0x02
57 #define FMP_CLIENT_BASED_DART 0x04
58 #define FMP_CLIENT_BASED_SIMPLE 0x08
59 #define FMP_DISK_SIGNATURE 0x10
60 #define FMP_IPSTORAGE_BASED 0X20
61 #define FMP_HIERARCHICAL_VOLUME 0x40
62 
63 /*
64  * Flush Command Type
65  */
66 
67 #define FMP_COMMIT_SPECIFIED 0x01
68 #define FMP_RELEASE_SPECIFIED 0x02
69 #define FMP_RELEASE_ALL 0x04
70 #define FMP_CLOSE_FILE 0x08
71 #define FMP_UPDATE_TIME 0x10
72 #define FMP_ACCESS_TIME 0x20
73 
74 #define FMP_PLUG_IN_ID_SZ 16
75 
76 /*
77  * FMP Notify Protocol
78  */
79 #define FMP_TCP 0
80 #define FMP_UDP 1
81 
82 /*
83  * Capabilities
84  */
85 
86 #define FMP_CAP_REVOKE_HANDLE_LIST 0x0001
87 #define FMP_CAP_UNC_NAMES 0x0002
88 #define FMP_CAP_CIFSV2 0x0004
89 
90 
91 typedef enum {
92  FMP_CE_GENERIC = 1,
93  FMP_CE_DISK_ERROR = 2
94 }clientErrorNum;
95 
96 
97 /*
98  * FMP Reply Status
99  */
100 
101 typedef enum {
102  FMP_OK = 0,
103  FMP_IOERROR = 5,
104  FMP_NOMEM = 12,
105  FMP_NOACCESS = 13,
106  FMP_INVALIDARG = 22,
107  FMP_FSFULL = 28,
108  FMP_QUEUE_FULL = 79,
109  FMP_WRONG_MSG_NUM = 500,
110  FMP_SESSION_LOST = 501,
111  FMP_HOT_SESSION = 502,
112  FMP_COLD_SESSION = 503,
113  FMP_CLIENT_TERMINATED = 504,
114  FMP_WRITER_LOST_BLK = 505,
115  FMP_REQUEST_QUEUED = 506,
116  FMP_FALL_BACK = 507,
117  FMP_REQUEST_CANCELLED = 508,
118  FMP_WRITER_ZEROED_BLK = 509,
119  FMP_NOTIFY_ERROR = 510,
120  FMP_WRONG_HANDLE = 511,
121  FMP_DUPLICATE_OPEN = 512,
122  FMP_PLUGIN_NOFUNC = 600
123 } fmpStat;
124 
125 
126 typedef enum {
127  FMP_PATH = 0,
128  FMP_NFS = 1,
129  FMP_CIFS = 2,
130  FMP_FMP = 3,
131  FMP_FS_ONLY = 4,
132  FMP_SHARE = 5,
133  FMP_MOUNT = 6,
134  FMP_CIFSV2 = 7,
135  FMP_UNC = 8
136 } nativeProtocol;
137 
138 
139 #define FMP_MAX_PATH_LEN 1024
140 
141 
142 /*
143  * Encoding type for genString
144  */
145 
146 typedef enum {
147  FMP_ASCII = 0,
148  FMP_UTF8 = 1,
149  FMP_UNICODE1 = 2
150 } encoding;
151 
152 typedef enum {
153  FMP_DISK_IDENTIFIER_SIGNATURE = 0,
154  FMP_DISK_IDENTIFIER_SERIAL = 1
155 } fmpDiskIdentifierType;
156 
157 typedef enum {
158  FMP_VOLUME_DISK = 0,
159  FMP_VOLUME_SLICE = 1,
160  FMP_VOLUME_STRIPE = 2,
161  FMP_VOLUME_META = 3
162 } fmpVolumeType;
163 
164 /*
165  * Extent States
166  */
167 typedef enum {
168  FMP_VALID_DATA = 0,
169  FMP_INVALID_DATA = 1,
170  FMP_NONE_DATA = 2
171 } extentState;
172 
173 
174 #define FMP_MAX_PATH_LEN 1024
175 
176 /*
177  * Query Command
178  */
179 typedef enum {
180  FMP_SCSI_INQUIRY = 0,
181  FMP_DART_STAMP = 1
182 } queryCmd;
183 
184 
185 #define MAX_MSG_SIZE 256 /* For wireshark messages */
186 
187 #endif