diff options
Diffstat (limited to 'epan/dissectors/packet-fmp.h')
-rwxr-xr-x | epan/dissectors/packet-fmp.h | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/epan/dissectors/packet-fmp.h b/epan/dissectors/packet-fmp.h new file mode 100755 index 0000000000..afa70f86d3 --- /dev/null +++ b/epan/dissectors/packet-fmp.h @@ -0,0 +1,214 @@ +/* packet-fmp.h + * Defines for fmp dissection + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef PACKET_FMP_H +#define PACKET_FMP_H + +#define FMP_PROGRAM 1001911 +#define FMP_VERSION_3 3 + + + +/* + * FMP Procedures + */ +#define FMP_SessionCreate 1 +#define FMP_HeartBeat 2 +#define FMP_Mount 3 +#define FMP_Open 4 +#define FMP_Close 5 +#define FMP_OpenGetMap 6 +#define FMP_OpenAllocSpace 7 +#define FMP_GetMap 8 +#define FMP_AllocSpace 9 +#define FMP_Flush 10 +#define FMP_CancelReq 11 +#define FMP_PlugIn 12 +#define FMP_SessionTerminate 13 +#define FMP_SessionCreateEx 14 +#define FMP_ReportClientError 15 +#define FMP_GetAttr 16 +#define FMP_OpenGetAttr 17 +#define FMP_FlushGetAttr 18 +#define FMP_OpenGetMapEx 19 +#define FMP_OpenAllocSpaceEx 20 +#define FMP_GetMapEx 21 +#define FMP_AllocSpaceEx 22 +#define FMP_FlushEx 23 +#define FMP_FlushGetAttrEx 24 +#define FMP_GetVolumeInfo 25 + + + +/* + * Volume Mgmt Capability + */ + +#define FMP_SERVER_BASED 0x01 +#define FMP_THIRD_PARTY 0x02 +#define FMP_CLIENT_BASED_DART 0x04 +#define FMP_CLIENT_BASED_SIMPLE 0x08 +#define FMP_DISK_SIGNATURE 0x10 +#define FMP_IPSTORAGE_BASED 0X20 +#define FMP_HIERARCHICAL_VOLUME 0x40 + +/* + * Flush Command Type + */ + +#define FMP_COMMIT_SPECIFIED 0x01 +#define FMP_RELEASE_SPECIFIED 0x02 +#define FMP_RELEASE_ALL 0x04 +#define FMP_CLOSE_FILE 0x08 +#define FMP_UPDATE_TIME 0x10 +#define FMP_ACCESS_TIME 0x20 + +#define FMP_PLUG_IN_ID_SZ 16 + +/* + * FMP Notify Protocol + */ +#define FMP_TCP 0 +#define FMP_UDP 1 + +/* + * Capabilities + */ + +#define FMP_CAP_REVOKE_HANDLE_LIST 0x0001 +#define FMP_CAP_UNC_NAMES 0x0002 +#define FMP_CAP_CIFSV2 0x0004 + + +typedef enum { + FMP_CE_GENERIC = 1, + FMP_CE_DISK_ERROR = 2 +}clientErrorNum; + + +/* + * FMP Reply Status + */ + +typedef enum { + FMP_OK = 0, + FMP_IOERROR = 5, + FMP_NOMEM = 12, + FMP_NOACCESS = 13, + FMP_INVALIDARG = 22, + FMP_FSFULL = 28, + FMP_QUEUE_FULL = 79, + FMP_WRONG_MSG_NUM = 500, + FMP_SESSION_LOST = 501, + FMP_HOT_SESSION = 502, + FMP_COLD_SESSION = 503, + FMP_CLIENT_TERMINATED = 504, + FMP_WRITER_LOST_BLK = 505, + FMP_REQUEST_QUEUED = 506, + FMP_FALL_BACK = 507, + FMP_REQUEST_CANCELLED = 508, + FMP_WRITER_ZEROED_BLK = 509, + FMP_NOTIFY_ERROR = 510, + FMP_WRONG_HANDLE = 511, + FMP_DUPLICATE_OPEN = 512, + FMP_PLUGIN_NOFUNC = 600 +} fmpStat; + + +typedef enum { + FMP_PATH = 0, + FMP_NFS = 1, + FMP_CIFS = 2, + FMP_FMP = 3, + FMP_FS_ONLY = 4, + FMP_SHARE = 5, + FMP_MOUNT = 6, + FMP_CIFSV2 = 7, + FMP_UNC = 8 +} nativeProtocol; + + +#define FMP_MAX_PATH_LEN 1024 + + +/* + * Encoding type for genString + */ + +typedef enum { + FMP_ASCII = 0, + FMP_UTF8 = 1, + FMP_UNICODE1 = 2 +} encoding; + +typedef enum { + FMP_DISK_IDENTIFIER_SIGNATURE = 0, + FMP_DISK_IDENTIFIER_SERIAL = 1 +} fmpDiskIdentifierType; + +typedef enum { + FMP_VOLUME_DISK = 0, + FMP_VOLUME_SLICE = 1, + FMP_VOLUME_STRIPE = 2, + FMP_VOLUME_META = 3 +}fmpVolumeType; + +/* + * Extent States + */ +typedef enum { + FMP_VALID_DATA = 0, + FMP_INVALID_DATA = 1, + FMP_NONE_DATA = 2 +} extentState; + + +#define FMP_MAX_PATH_LEN 1024 + +/* + * Query Command + */ +typedef enum { + FMP_SCSI_INQUIRY = 0, + FMP_DART_STAMP = 1 +} queryCmd; + + +#define MAX_MSG_SIZE 256 /* For wireshark messages */ +/* +extern int hf_fmp_fsID; +extern int hf_fmp_fsBlkSz; +extern int hf_fmp_sessionHandle; +extern int hf_fmp_fmpFHandle; +extern int hf_fmp_msgNum; +extern int hf_fmp_fileSize; +extern int hf_fmp_firstLogBlk; +extern int hf_fmp_numBlksReq; +extern int hf_fmp_cookie; +*/ +int dissect_fmp_status(tvbuff_t *, int, proto_tree *, int *); +int dissect_fmp_extentList(tvbuff_t *, int, packet_info *, proto_tree *); + +#endif |