aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-fmp.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2012-05-03 19:31:03 +0000
committerBill Meier <wmeier@newsguy.com>2012-05-03 19:31:03 +0000
commit580a655675780955a9f7a00b920fc2ac73ce400d (patch)
treefd0120725ed14adc8b490facdc2652ab0b317caa /epan/dissectors/packet-fmp.c
parent41cbf498209349af6e74123b82d4c93c2df67a75 (diff)
General cleanup to include:
- remove unneeded includes; - remove "boilerplate" comments; - reformat hf[] entries; - reformat long lines; - unneeded use of check_col(); - whitespace fixes. svn path=/trunk/; revision=42402
Diffstat (limited to 'epan/dissectors/packet-fmp.c')
-rw-r--r--epan/dissectors/packet-fmp.c3269
1 files changed, 1704 insertions, 1565 deletions
diff --git a/epan/dissectors/packet-fmp.c b/epan/dissectors/packet-fmp.c
index 583e8bcb71..d738eb7af0 100644
--- a/epan/dissectors/packet-fmp.c
+++ b/epan/dissectors/packet-fmp.c
@@ -111,404 +111,404 @@ static gboolean fmp_fhandle_reqrep_matching = FALSE;
static int
dissect_fmp_genString(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- encoding mode;
+ encoding mode;
- mode = tvb_get_ntohl(tvb, offset);
+ mode = tvb_get_ntohl(tvb, offset);
- switch (mode) {
- case FMP_ASCII:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Encoding Mode: ASCII (%d)", mode);
- break;
+ switch (mode) {
+ case FMP_ASCII:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Encoding Mode: ASCII (%d)", mode);
+ break;
- case FMP_UTF8:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Encoding Mode: UTF8 (%d)", mode);
- break;
+ case FMP_UTF8:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Encoding Mode: UTF8 (%d)", mode);
+ break;
- case FMP_UNICODE1:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Encoding Mode: UNICODE (%d)", mode);
- break;
+ case FMP_UNICODE1:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Encoding Mode: UNICODE (%d)", mode);
+ break;
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Encoding Mode: UNKNOWN (%d)", mode);
- offset += 4;
- return offset;
- }
- offset += 4;
- offset = dissect_rpc_string(tvb, tree, hf_fmp_path,
- offset, NULL);
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Encoding Mode: UNKNOWN (%d)", mode);
+ offset += 4;
+ return offset;
+ }
+ offset += 4;
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_path,
+ offset, NULL);
- return offset;
+ return offset;
}
static int
get_fileHandleSrc_size(tvbuff_t *tvb, int offset)
{
- int length;
- nativeProtocol np;
-
- np = tvb_get_ntohl(tvb, offset);
-
- switch (np) {
- case FMP_PATH:
- length = 4 + FMP_MAX_PATH_LEN;
- break;
- case FMP_NFS:
- length = 8 + tvb_get_ntohl(tvb, offset + 4);
- break;
- case FMP_CIFS:
- length = 10;
- break;
- case FMP_FMP:
- length = 8 + tvb_get_ntohl(tvb, offset + 4);
- break;
- case FMP_FS_ONLY:
- length = 8;
- break;
- case FMP_SHARE:
- /* FALLTHROUGH */
- case FMP_MOUNT:
- length = 8 + FMP_MAX_PATH_LEN;
- break;
- default:
- length = 4;
- break;
- }
-
- return length;
+ int length;
+ nativeProtocol np;
+
+ np = tvb_get_ntohl(tvb, offset);
+
+ switch (np) {
+ case FMP_PATH:
+ length = 4 + FMP_MAX_PATH_LEN;
+ break;
+ case FMP_NFS:
+ length = 8 + tvb_get_ntohl(tvb, offset + 4);
+ break;
+ case FMP_CIFS:
+ length = 10;
+ break;
+ case FMP_FMP:
+ length = 8 + tvb_get_ntohl(tvb, offset + 4);
+ break;
+ case FMP_FS_ONLY:
+ length = 8;
+ break;
+ case FMP_SHARE:
+ /* FALLTHROUGH */
+ case FMP_MOUNT:
+ length = 8 + FMP_MAX_PATH_LEN;
+ break;
+ default:
+ length = 4;
+ break;
+ }
+
+ return length;
}
static int
dissect_fmp_fileHandleSrc(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- nativeProtocol np;
-
- proto_item *fileHandleItem;
- proto_tree *fileHandleTree;
- int length;
-
- length = get_fileHandleSrc_size(tvb, offset);
-
- np = tvb_get_ntohl(tvb, offset);
-
- fileHandleItem = proto_tree_add_text(tree, tvb, offset, length,
- "Source File Handle");
- fileHandleTree = proto_item_add_subtree(fileHandleItem,
- ett_fmp_fileHandle);
-
- switch (np) {
- case FMP_PATH:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: PATH (%d)", np);
- offset += 4;
-
- offset = dissect_rpc_string(tvb, fileHandleTree,
- hf_fmp_mount_path, offset, NULL);
- break;
-
- case FMP_NFS:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: NFS (%d)", np);
- offset += 4;
-
- offset = dissect_rpc_data(tvb, fileHandleTree,
- hf_fmp_nfsFHandle, offset);
- break;
-
- case FMP_CIFS:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: CIFS (%d)", np);
- offset += 4;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "fid: %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "tid: %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "uid: %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
- break;
-
- case FMP_FMP:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: FMP (%d)", np);
- offset += 4;
-
- offset = dissect_rpc_string(tvb, fileHandleTree,
- hf_fmp_fmpFHandle, offset, NULL);
- break;
-
- case FMP_FS_ONLY:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: FS_ONLY (%d)", np);
- offset += 4;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "FsID: %d", tvb_get_ntohl(tvb, offset));
- offset += 4;
- break;
-
- case FMP_SHARE:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: SHARE (%d)", np);
- offset += 4;
-
- offset = dissect_fmp_genString(tvb, offset, fileHandleTree);
- break;
-
- case FMP_MOUNT:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: MOUNT (%d)", np);
- offset += 4;
-
- offset = dissect_fmp_genString(tvb, offset, fileHandleTree);
- break;
-
- case FMP_CIFSV2:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: CIFSV2: (%d)", np);
- offset += 4;
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "fid : %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "tid : %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "uid : %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
-
- proto_tree_add_text(fileHandleTree, tvb, offset, 2, "cifsPort: %d",
- tvb_get_ntohs(tvb, offset));
- offset += 2;
- break;
- case FMP_UNC:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: UNC: (%d)", np);
- offset += 4;
+ nativeProtocol np;
+
+ proto_item *fileHandleItem;
+ proto_tree *fileHandleTree;
+ int length;
+
+ length = get_fileHandleSrc_size(tvb, offset);
+
+ np = tvb_get_ntohl(tvb, offset);
+
+ fileHandleItem = proto_tree_add_text(tree, tvb, offset, length,
+ "Source File Handle");
+ fileHandleTree = proto_item_add_subtree(fileHandleItem,
+ ett_fmp_fileHandle);
+
+ switch (np) {
+ case FMP_PATH:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: PATH (%d)", np);
+ offset += 4;
+
+ offset = dissect_rpc_string(tvb, fileHandleTree,
+ hf_fmp_mount_path, offset, NULL);
+ break;
+
+ case FMP_NFS:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: NFS (%d)", np);
+ offset += 4;
+
+ offset = dissect_rpc_data(tvb, fileHandleTree,
+ hf_fmp_nfsFHandle, offset);
+ break;
+
+ case FMP_CIFS:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: CIFS (%d)", np);
+ offset += 4;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "fid: %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "tid: %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "uid: %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+ break;
+
+ case FMP_FMP:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: FMP (%d)", np);
+ offset += 4;
+
+ offset = dissect_rpc_string(tvb, fileHandleTree,
+ hf_fmp_fmpFHandle, offset, NULL);
+ break;
- offset = dissect_fmp_genString(tvb, offset, fileHandleTree);
- break;
+ case FMP_FS_ONLY:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: FS_ONLY (%d)", np);
+ offset += 4;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "FsID: %d", tvb_get_ntohl(tvb, offset));
+ offset += 4;
+ break;
+
+ case FMP_SHARE:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: SHARE (%d)", np);
+ offset += 4;
+
+ offset = dissect_fmp_genString(tvb, offset, fileHandleTree);
+ break;
+
+ case FMP_MOUNT:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: MOUNT (%d)", np);
+ offset += 4;
+
+ offset = dissect_fmp_genString(tvb, offset, fileHandleTree);
+ break;
+
+ case FMP_CIFSV2:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: CIFSV2: (%d)", np);
+ offset += 4;
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "fid : %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "tid : %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "uid : %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+
+ proto_tree_add_text(fileHandleTree, tvb, offset, 2, "cifsPort: %d",
+ tvb_get_ntohs(tvb, offset));
+ offset += 2;
+ break;
+ case FMP_UNC:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: UNC: (%d)", np);
+ offset += 4;
+
+ offset = dissect_fmp_genString(tvb, offset, fileHandleTree);
+ break;
- default:
- proto_tree_add_text(fileHandleTree, tvb, offset, 4,
- "Native Protocol: UNKNOWN (%d)", np);
- offset += 4;
- break;
- }
+ default:
+ proto_tree_add_text(fileHandleTree, tvb, offset, 4,
+ "Native Protocol: UNKNOWN (%d)", np);
+ offset += 4;
+ break;
+ }
- return offset;
+ return offset;
}
static int
dissect_fmp_extentState(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_extent_state,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_extent_state,
+ offset);
- return offset;
+ return offset;
}
static int
dissect_fmp_extent(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, guint32 ext_num)
{
- proto_item *extItem;
- proto_tree *extTree;
+ proto_item *extItem;
+ proto_tree *extTree;
- extItem = proto_tree_add_text(tree, tvb, offset, 20 ,
- "Extent (%u)", (guint32) ext_num);
+ extItem = proto_tree_add_text(tree, tvb, offset, 20 ,
+ "Extent (%u)", (guint32) ext_num);
- extTree = proto_item_add_subtree(extItem, ett_fmp_ext);
+ extTree = proto_item_add_subtree(extItem, ett_fmp_ext);
- offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_firstLogBlk,
- offset);
- offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_numBlks,
- offset);
- offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_volID, offset);
- offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_startOffset,
- offset);
- offset = dissect_fmp_extentState(tvb, offset, extTree);
+ offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_firstLogBlk,
+ offset);
+ offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_numBlks,
+ offset);
+ offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_volID, offset);
+ offset = dissect_rpc_uint32(tvb, extTree, hf_fmp_startOffset,
+ offset);
+ offset = dissect_fmp_extentState(tvb, offset, extTree);
- return offset;
+ return offset;
}
static int
dissect_fmp_extentList(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- guint32 numExtents;
- guint32 totalLength;
- proto_item *extListItem;
- proto_tree *extListTree;
- guint32 i;
+ guint32 numExtents;
+ guint32 totalLength;
+ proto_item *extListItem;
+ proto_tree *extListTree;
+ guint32 i;
- numExtents = tvb_get_ntohl(tvb, offset);
- totalLength = 4 + (20 * numExtents);
+ numExtents = tvb_get_ntohl(tvb, offset);
+ totalLength = 4 + (20 * numExtents);
- extListItem = proto_tree_add_text(tree, tvb, offset, totalLength,
- "Extent List");
- extListTree = proto_item_add_subtree(extListItem, ett_fmp_extList);
+ extListItem = proto_tree_add_text(tree, tvb, offset, totalLength,
+ "Extent List");
+ extListTree = proto_item_add_subtree(extListItem, ett_fmp_extList);
- offset = dissect_rpc_uint32(tvb, extListTree,
- hf_fmp_extentList_len, offset);
+ offset = dissect_rpc_uint32(tvb, extListTree,
+ hf_fmp_extentList_len, offset);
- for (i = 1; i <= numExtents; i++) {
- offset = dissect_fmp_extent(tvb, offset, pinfo, extListTree, i);
- }
+ for (i = 1; i <= numExtents; i++) {
+ offset = dissect_fmp_extent(tvb, offset, pinfo, extListTree, i);
+ }
- return offset;
+ return offset;
}
static int
dissect_fmp_extentListEx(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
- proto_tree *tree)
+ proto_tree *tree)
{
- guint32 numExtents;
- proto_item *extListItem;
- proto_tree *extListTree;
- guint32 i;
+ guint32 numExtents;
+ proto_item *extListItem;
+ proto_tree *extListTree;
+ guint32 i;
- numExtents = tvb_get_ntohl(tvb, offset);
+ numExtents = tvb_get_ntohl(tvb, offset);
- offset += 4;
+ offset += 4;
- for (i = 1; i <= numExtents; i++) {
- extListItem = proto_tree_add_text(tree, tvb, offset, 28,
+ for (i = 1; i <= numExtents; i++) {
+ extListItem = proto_tree_add_text(tree, tvb, offset, 28,
"Extent List");
- extListTree = proto_item_add_subtree(extListItem, ett_fmp_extList);
+ extListTree = proto_item_add_subtree(extListItem, ett_fmp_extList);
- offset = dissect_rpc_uint64(tvb,extListTree , hf_fmp_firstLogBlk64, offset);
+ offset = dissect_rpc_uint64(tvb,extListTree , hf_fmp_firstLogBlk64, offset);
- offset = dissect_rpc_uint32(tvb,extListTree , hf_fmp_numBlksReq,
+ offset = dissect_rpc_uint32(tvb,extListTree , hf_fmp_numBlksReq,
offset);
- offset = dissect_rpc_uint32(tvb,extListTree , hf_fmp_volID, offset);
+ offset = dissect_rpc_uint32(tvb,extListTree , hf_fmp_volID, offset);
- offset = dissect_rpc_uint64(tvb,extListTree , hf_fmp_start_offset64, offset);
+ offset = dissect_rpc_uint64(tvb,extListTree , hf_fmp_start_offset64, offset);
- offset = dissect_fmp_extentState(tvb, offset, extListTree);
+ offset = dissect_fmp_extentState(tvb, offset, extListTree);
- }
+ }
- return offset;
+ return offset;
}
static int
dissect_plugInID(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- if (!tree) {
- return offset;
- }
+ if (!tree) {
+ return offset;
+ }
- proto_tree_add_item(tree, hf_fmp_plugInID, tvb, offset, FMP_PLUG_IN_ID_SZ,
- ENC_NA);
- return offset;
+ proto_tree_add_item(tree, hf_fmp_plugInID, tvb, offset, FMP_PLUG_IN_ID_SZ,
+ ENC_NA);
+ return offset;
}
static int
-dissect_fmp_flushCmd(tvbuff_t *tvb, int offset, proto_tree *tree)
-{
- guint32 cmd;
- char msg[MAX_MSG_SIZE];
- guint32 bitValue;
- int i;
-
- if (tree) {
- cmd = tvb_get_ntohl(tvb, offset);
-
- /* Initialize the message for an empty string */
- msg[0] = '\0';
-
- for (i = 0; cmd != 0 && i < 32; i++) {
-
- bitValue = 1 << i;
-
- if (cmd & bitValue) {
- switch (bitValue) {
- case FMP_COMMIT_SPECIFIED:
- g_strlcat(msg, "COMMIT_SPECIFIED", MAX_MSG_SIZE);
- break;
- case FMP_RELEASE_SPECIFIED:
- g_strlcat(msg, "RELEASE_SPECIFIED", MAX_MSG_SIZE);
- break;
- case FMP_RELEASE_ALL:
- g_strlcat(msg, "RELEASE_ALL", MAX_MSG_SIZE);
- break;
- case FMP_CLOSE_FILE:
- g_strlcat(msg, "CLOSE_FILE", MAX_MSG_SIZE);
- break;
- case FMP_UPDATE_TIME:
- g_strlcat(msg, "UPDATE_TIME", MAX_MSG_SIZE);
- break;
- case FMP_ACCESS_TIME:
- g_strlcat(msg, "ACCESS_TIME", MAX_MSG_SIZE);
- break;
- default:
- g_strlcat(msg, "UNKNOWN", MAX_MSG_SIZE);
- break;
- }
-
- /* clear the bit that we processed */
- cmd &= ~bitValue;
-
- /* add a "bitwise inclusive OR" symbol between cmds */
- if (cmd) {
- g_strlcat(msg, " | ", MAX_MSG_SIZE);
- }
- }
- }
+dissect_fmp_flushCmd(tvbuff_t *tvb, int offset, proto_tree *tree)
+{
+ guint32 cmd;
+ char msg[MAX_MSG_SIZE];
+ guint32 bitValue;
+ int i;
+
+ if (tree) {
+ cmd = tvb_get_ntohl(tvb, offset);
+
+ /* Initialize the message for an empty string */
+ msg[0] = '\0';
+
+ for (i = 0; cmd != 0 && i < 32; i++) {
+
+ bitValue = 1 << i;
+
+ if (cmd & bitValue) {
+ switch (bitValue) {
+ case FMP_COMMIT_SPECIFIED:
+ g_strlcat(msg, "COMMIT_SPECIFIED", MAX_MSG_SIZE);
+ break;
+ case FMP_RELEASE_SPECIFIED:
+ g_strlcat(msg, "RELEASE_SPECIFIED", MAX_MSG_SIZE);
+ break;
+ case FMP_RELEASE_ALL:
+ g_strlcat(msg, "RELEASE_ALL", MAX_MSG_SIZE);
+ break;
+ case FMP_CLOSE_FILE:
+ g_strlcat(msg, "CLOSE_FILE", MAX_MSG_SIZE);
+ break;
+ case FMP_UPDATE_TIME:
+ g_strlcat(msg, "UPDATE_TIME", MAX_MSG_SIZE);
+ break;
+ case FMP_ACCESS_TIME:
+ g_strlcat(msg, "ACCESS_TIME", MAX_MSG_SIZE);
+ break;
+ default:
+ g_strlcat(msg, "UNKNOWN", MAX_MSG_SIZE);
+ break;
+ }
+
+ /* clear the bit that we processed */
+ cmd &= ~bitValue;
+
+ /* add a "bitwise inclusive OR" symbol between cmds */
+ if (cmd) {
+ g_strlcat(msg, " | ", MAX_MSG_SIZE);
+ }
+ }
+ }
- if (strlen(msg) == 0) {
- g_strlcpy(msg, "No command specified", MAX_MSG_SIZE);
- }
+ if (strlen(msg) == 0) {
+ g_strlcpy(msg, "No command specified", MAX_MSG_SIZE);
+ }
- proto_tree_add_text(tree, tvb, offset, 4, "Cmd: %s", msg);
- }
- offset += 4;
- return offset;
+ proto_tree_add_text(tree, tvb, offset, 4, "Cmd: %s", msg);
+ }
+ offset += 4;
+ return offset;
}
static int
dissect_InterpretVolMgtStuff(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- int length,numdisks,i,j;
+ int length, numdisks, i, j;
- numdisks = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(tree, tvb, offset, 4, "Number of Disk: %d", numdisks);
- offset += 4;
+ numdisks = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(tree, tvb, offset, 4, "Number of Disk: %d", numdisks);
+ offset += 4;
- for(i=0;i<numdisks;i++){
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_sig_offset, offset);
- length = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(tree, tvb, offset, 4, "Length of List : %d", length);
- offset += 4;
+ for (i=0; i<numdisks; i++) {
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_sig_offset, offset);
+ length = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(tree, tvb, offset, 4, "Length of List : %d", length);
+ offset += 4;
- for(j=0;j<length;j++){
- proto_tree_add_text(tree, tvb, offset, 4, "sigOffset: 0x%x",
- tvb_get_ntohl(tvb, offset));
- offset += 4;
- offset = dissect_rpc_string(tvb, tree, hf_fmp_dskSigEnt_val,
- offset, NULL);
+ for (j=0; j<length; j++) {
+ proto_tree_add_text(tree, tvb, offset, 4, "sigOffset: 0x%x",
+ tvb_get_ntohl(tvb, offset));
+ offset += 4;
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_dskSigEnt_val,
+ offset, NULL);
- }
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_volID, offset);
+ }
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_volID, offset);
- }
- return offset;
+ }
+ return offset;
}
@@ -516,45 +516,45 @@ dissect_InterpretVolMgtStuff(tvbuff_t *tvb, int offset, proto_tree *tree)
static int
dissect_fmp_capability(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- if (tree) {
- int vmType;
- vmType = tvb_get_ntohl(tvb, offset);
-
- switch (vmType) {
- case FMP_SERVER_BASED:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Capability: SERVER_BASED (%d)", vmType);
- break;
-
- case FMP_THIRD_PARTY:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Capability: THIRD_PARTY (%d)", vmType);
- break;
-
- case FMP_CLIENT_BASED_DART:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Capability: CLIENT_BASED_DART (%d)",
- vmType);
- break;
-
- case FMP_CLIENT_BASED_SIMPLE:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Capability: CLIENT_BASED_SIMPLE (%d)",
- vmType);
- break;
- case FMP_HIERARCHICAL_VOLUME:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Capability: FMP_HIERARCHICAL_VOLUME (%d)",
- vmType);
- break;
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Capability: UNKNOWN (%d)", vmType);
- break;
- }
- }
- offset += 4;
- return offset;
+ if (tree) {
+ int vmType;
+ vmType = tvb_get_ntohl(tvb, offset);
+
+ switch (vmType) {
+ case FMP_SERVER_BASED:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Capability: SERVER_BASED (%d)", vmType);
+ break;
+
+ case FMP_THIRD_PARTY:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Capability: THIRD_PARTY (%d)", vmType);
+ break;
+
+ case FMP_CLIENT_BASED_DART:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Capability: CLIENT_BASED_DART (%d)",
+ vmType);
+ break;
+
+ case FMP_CLIENT_BASED_SIMPLE:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Capability: CLIENT_BASED_SIMPLE (%d)",
+ vmType);
+ break;
+ case FMP_HIERARCHICAL_VOLUME:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Capability: FMP_HIERARCHICAL_VOLUME (%d)",
+ vmType);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Capability: UNKNOWN (%d)", vmType);
+ break;
+ }
+ }
+ offset += 4;
+ return offset;
}
static int
@@ -562,146 +562,146 @@ dissect_fmp_timeval(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, int hf_time, int hf_time_sec,
int hf_time_nsec)
{
- if (tree) {
- nstime_t ts;
+ if (tree) {
+ nstime_t ts;
- proto_item* time_item;
- proto_tree* time_tree = NULL;
+ proto_item* time_item;
+ proto_tree* time_tree = NULL;
- ts.secs = tvb_get_ntohl(tvb, offset+0);
- ts.nsecs = tvb_get_ntohl(tvb, offset+4);
+ ts.secs = tvb_get_ntohl(tvb, offset+0);
+ ts.nsecs = tvb_get_ntohl(tvb, offset+4);
- time_item = proto_tree_add_time(tree, hf_time, tvb, offset, 8, &ts);
- time_tree = proto_item_add_subtree(time_item, ett_fmp_timeval);
+ time_item = proto_tree_add_time(tree, hf_time, tvb, offset, 8, &ts);
+ time_tree = proto_item_add_subtree(time_item, ett_fmp_timeval);
- proto_tree_add_uint(time_tree, hf_time_sec, tvb, offset, 4,
- (guint32) ts.secs);
- proto_tree_add_uint(time_tree, hf_time_nsec, tvb, offset+4, 4,
- ts.nsecs);
- }
- offset += 8;
- return offset;
+ proto_tree_add_uint(time_tree, hf_time_sec, tvb, offset, 4,
+ (guint32) ts.secs);
+ proto_tree_add_uint(time_tree, hf_time_nsec, tvb, offset+4, 4,
+ ts.nsecs);
+ }
+ offset += 8;
+ return offset;
}
static int
dissect_fmp_heartBeatIntv(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- if (tree) {
- proto_tree_add_text(tree, tvb, offset, 8,
- "Heart Beat Interval: %d.%d seconds",
- tvb_get_ntohl(tvb, offset),
- tvb_get_ntohl(tvb, offset+4));
- }
- offset += 8;
- return offset;
+ if (tree) {
+ proto_tree_add_text(tree, tvb, offset, 8,
+ "Heart Beat Interval: %d.%d seconds",
+ tvb_get_ntohl(tvb, offset),
+ tvb_get_ntohl(tvb, offset+4));
+ }
+ offset += 8;
+ return offset;
}
static int
dissect_fmp_status(tvbuff_t *tvb, int offset, proto_tree *tree, int *rval)
{
- fmpStat status;
-
- status = tvb_get_ntohl(tvb, offset);
-
- switch (status) {
- case FMP_OK:
- *rval = 0;
- break;
- case FMP_IOERROR:
- *rval = 1;
- break;
- case FMP_NOMEM:
- *rval = 1;
- break;
- case FMP_NOACCESS:
- *rval = 1;
- break;
- case FMP_INVALIDARG:
-
- *rval = 1;
- break;
- case FMP_FSFULL:
- *rval = 0;
- break;
- case FMP_QUEUE_FULL:
- case FMP_NOTIFY_ERROR:
- case FMP_WRITER_LOST_BLK:
- case FMP_WRONG_MSG_NUM:
- case FMP_SESSION_LOST:
- case FMP_REQUEST_CANCELLED:
- *rval = 1;
- break;
- case FMP_HOT_SESSION:
- *rval = 0;
- break;
- case FMP_COLD_SESSION:
- *rval = 0;
- break;
- case FMP_CLIENT_TERMINATED:
- *rval = 0;
- break;
- case FMP_REQUEST_QUEUED:
- *rval = 0;
- break;
- case FMP_FALL_BACK:
- *rval = 0;
- break;
- case FMP_WRITER_ZEROED_BLK:
- *rval = 0;
- break;
- case FMP_WRONG_HANDLE:
- *rval = 0;
- break;
- case FMP_DUPLICATE_OPEN:
- *rval = 1;
- break;
- case FMP_PLUGIN_NOFUNC:
- *rval = 1;
- break;
- default:
- *rval = 1;
- break;
- }
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_status , offset);
- return offset;
+ fmpStat status;
+
+ status = tvb_get_ntohl(tvb, offset);
+
+ switch (status) {
+ case FMP_OK:
+ *rval = 0;
+ break;
+ case FMP_IOERROR:
+ *rval = 1;
+ break;
+ case FMP_NOMEM:
+ *rval = 1;
+ break;
+ case FMP_NOACCESS:
+ *rval = 1;
+ break;
+ case FMP_INVALIDARG:
+
+ *rval = 1;
+ break;
+ case FMP_FSFULL:
+ *rval = 0;
+ break;
+ case FMP_QUEUE_FULL:
+ case FMP_NOTIFY_ERROR:
+ case FMP_WRITER_LOST_BLK:
+ case FMP_WRONG_MSG_NUM:
+ case FMP_SESSION_LOST:
+ case FMP_REQUEST_CANCELLED:
+ *rval = 1;
+ break;
+ case FMP_HOT_SESSION:
+ *rval = 0;
+ break;
+ case FMP_COLD_SESSION:
+ *rval = 0;
+ break;
+ case FMP_CLIENT_TERMINATED:
+ *rval = 0;
+ break;
+ case FMP_REQUEST_QUEUED:
+ *rval = 0;
+ break;
+ case FMP_FALL_BACK:
+ *rval = 0;
+ break;
+ case FMP_WRITER_ZEROED_BLK:
+ *rval = 0;
+ break;
+ case FMP_WRONG_HANDLE:
+ *rval = 0;
+ break;
+ case FMP_DUPLICATE_OPEN:
+ *rval = 1;
+ break;
+ case FMP_PLUGIN_NOFUNC:
+ *rval = 1;
+ break;
+ default:
+ *rval = 1;
+ break;
+ }
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_status , offset);
+ return offset;
}
static int
dissect_fmp_devSerial(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- if (tree) {
- queryCmd qc;
+ if (tree) {
+ queryCmd qc;
- qc = tvb_get_ntohl(tvb, offset);
+ qc = tvb_get_ntohl(tvb, offset);
- switch (qc) {
- case FMP_SCSI_INQUIRY:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Query Command: SCSI_INQUIRY (%d)", qc);
- break;
- case FMP_DART_STAMP:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Query Command: DART_STAMP (%d)", qc);
- break;
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Query Command: UNKNOWN (%d)", qc);
- break;
- }
- }
- offset += 4;
+ switch (qc) {
+ case FMP_SCSI_INQUIRY:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Query Command: SCSI_INQUIRY (%d)", qc);
+ break;
+ case FMP_DART_STAMP:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Query Command: DART_STAMP (%d)", qc);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Query Command: UNKNOWN (%d)", qc);
+ break;
+ }
+ }
+ offset += 4;
- if (tree) {
- proto_tree_add_text(tree, tvb, offset, 4, "sigOffset: 0x%x",
- tvb_get_ntohl(tvb, offset));
- }
- offset += 4;
+ if (tree) {
+ proto_tree_add_text(tree, tvb, offset, 4, "sigOffset: 0x%x",
+ tvb_get_ntohl(tvb, offset));
+ }
+ offset += 4;
- offset = dissect_rpc_string(tvb, tree, hf_fmp_devSignature,
- offset, NULL);
- return offset;
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_devSignature,
+ offset, NULL);
+ return offset;
}
@@ -710,109 +710,110 @@ dissect_fmp_devSerial(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_fmp_VolumeDescription(tvbuff_t *tvb, int offset, proto_tree * tree)
{
- int i,length;
- proto_tree *Hietree,*hieTree;
- fmpVolumeType volumeType;
- fmpDiskIdentifierType diskIdentifierType;
- volumeType = tvb_get_ntohl(tvb, offset);
- switch(volumeType){
-
- case FMP_VOLUME_DISK:
- hieTree = proto_tree_add_text(tree, tvb, offset, 4,
- "VOLUME: DISK(%d)", volumeType );
- Hietree = proto_item_add_subtree(hieTree,
- ett_HierVolumeDescription);
- offset += 4;
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
- offset += 8; /* blockIndex64 */
- diskIdentifierType = tvb_get_ntohl(tvb, offset);
-
-
- switch(diskIdentifierType){
- case FMP_DISK_IDENTIFIER_SIGNATURE:
- proto_tree_add_text(Hietree, tvb, offset, 4,
- "DISK IDENTIFIER: SIGNATURE(%d)", diskIdentifierType);
- offset += 4;
- offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_sig_offset, offset);
- length = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(Hietree, tvb, offset, 4, "Length of List : %d", length);
- offset += 4;
-
- for(i=0;i<length;i++){
- proto_tree_add_text(Hietree, tvb, offset, 4, "sigOffset: 0x%x",
- tvb_get_ntohl(tvb, offset));
- offset += 4;
- offset = dissect_rpc_string(tvb, Hietree, hf_fmp_dskSigEnt_val, offset, NULL);
-
-
- }
-
- break;
-
- case FMP_DISK_IDENTIFIER_SERIAL:
- proto_tree_add_text(Hietree, tvb, offset, 4,
- "DISK IDENTIFIER: SERIAL(%d)", diskIdentifierType);
- dissect_fmp_devSerial(tvb, offset, NULL, Hietree);
- break;
- }
-
- break;
- case FMP_VOLUME_SLICE:
- hieTree = proto_tree_add_text(tree, tvb, offset, 4,
- "VOLUME: SLICE(%d)", volumeType );
- Hietree = proto_item_add_subtree(hieTree,
- ett_HierVolumeDescription);
- offset += 4;
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
-
- offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_offset64, offset);
-
- offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_slice_size, offset);
-
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volume, offset);
-
- break;
-
- case FMP_VOLUME_STRIPE:
- hieTree = proto_tree_add_text(tree, tvb, offset, 4,
- "VOLUME: STRIPE(%d)", volumeType );
- Hietree = proto_item_add_subtree(hieTree,
- ett_HierVolumeDescription);
- offset += 4;
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
-
- offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_stripeSize, offset);
- length = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(Hietree, tvb, offset, 4, "Length of List : %d", length);
- offset += 4;
-
- for(i=0;i<length;i++){
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volume, offset); /* FIXME: Size or length not know */
-
- }
- break;
-
- case FMP_VOLUME_META:
- hieTree = proto_tree_add_text(tree, tvb, offset, 4,
- "VOLUME: META(%d)", volumeType );
- Hietree = proto_item_add_subtree(hieTree,
- ett_HierVolumeDescription);
- offset += 4;
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
-
- length = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(Hietree, tvb, offset, 4, "Length of List : %d", length);
- offset += 4;
- for(i=0;i<length;i++){
- offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volume, offset); /* FIXME: Size or length not know */
- }
- break;
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "VOLUME: UNKNOWN (%d)",volumeType);
- offset += 4;
-}
- return offset;
+ int i,length;
+ proto_tree *Hietree,*hieTree;
+ fmpVolumeType volumeType;
+ fmpDiskIdentifierType diskIdentifierType;
+
+ volumeType = tvb_get_ntohl(tvb, offset);
+ switch (volumeType) {
+
+ case FMP_VOLUME_DISK:
+ hieTree = proto_tree_add_text(tree, tvb, offset, 4,
+ "VOLUME: DISK(%d)", volumeType );
+ Hietree = proto_item_add_subtree(hieTree,
+ ett_HierVolumeDescription);
+ offset += 4;
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
+ offset += 8; /* blockIndex64 */
+ diskIdentifierType = tvb_get_ntohl(tvb, offset);
+
+
+ switch (diskIdentifierType) {
+ case FMP_DISK_IDENTIFIER_SIGNATURE:
+ proto_tree_add_text(Hietree, tvb, offset, 4,
+ "DISK IDENTIFIER: SIGNATURE(%d)", diskIdentifierType);
+ offset += 4;
+ offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_sig_offset, offset);
+ length = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(Hietree, tvb, offset, 4, "Length of List : %d", length);
+ offset += 4;
+
+ for (i=0; i<length; i++) {
+ proto_tree_add_text(Hietree, tvb, offset, 4, "sigOffset: 0x%x",
+ tvb_get_ntohl(tvb, offset));
+ offset += 4;
+ offset = dissect_rpc_string(tvb, Hietree, hf_fmp_dskSigEnt_val, offset, NULL);
+
+
+ }
+
+ break;
+
+ case FMP_DISK_IDENTIFIER_SERIAL:
+ proto_tree_add_text(Hietree, tvb, offset, 4,
+ "DISK IDENTIFIER: SERIAL(%d)", diskIdentifierType);
+ dissect_fmp_devSerial(tvb, offset, NULL, Hietree);
+ break;
+ }
+
+ break;
+ case FMP_VOLUME_SLICE:
+ hieTree = proto_tree_add_text(tree, tvb, offset, 4,
+ "VOLUME: SLICE(%d)", volumeType );
+ Hietree = proto_item_add_subtree(hieTree,
+ ett_HierVolumeDescription);
+ offset += 4;
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
+
+ offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_offset64, offset);
+
+ offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_slice_size, offset);
+
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volume, offset);
+
+ break;
+
+ case FMP_VOLUME_STRIPE:
+ hieTree = proto_tree_add_text(tree, tvb, offset, 4,
+ "VOLUME: STRIPE(%d)", volumeType );
+ Hietree = proto_item_add_subtree(hieTree,
+ ett_HierVolumeDescription);
+ offset += 4;
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
+
+ offset = dissect_rpc_uint64(tvb, Hietree, hf_fmp_stripeSize, offset);
+ length = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(Hietree, tvb, offset, 4, "Length of List : %d", length);
+ offset += 4;
+
+ for (i=0; i<length; i++) {
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volume, offset); /* FIXME: Size or length not know */
+
+ }
+ break;
+
+ case FMP_VOLUME_META:
+ hieTree = proto_tree_add_text(tree, tvb, offset, 4,
+ "VOLUME: META(%d)", volumeType );
+ Hietree = proto_item_add_subtree(hieTree,
+ ett_HierVolumeDescription);
+ offset += 4;
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volID, offset);
+
+ length = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(Hietree, tvb, offset, 4, "Length of List : %d", length);
+ offset += 4;
+ for (i=0; i<length; i++) {
+ offset = dissect_rpc_uint32(tvb, Hietree, hf_fmp_volume, offset); /* FIXME: Size or length not know */
+ }
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "VOLUME: UNKNOWN (%d)",volumeType);
+ offset += 4;
+ }
+ return offset;
}
@@ -820,38 +821,39 @@ static int
dissect_fmp_Hiervolume(tvbuff_t *tvb, int offset, proto_tree * tree)
{
- int vollength;
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_topVolumeId, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cursor, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie, offset);
-
- /* hierarchical description of volume. Each volume describes a
- piece of the entire hierarchy and is guarenteed to only refer to
- volumes that have already been described by the data structure up
- to this point in time. In some extreme cases, the number of
- volumes and their descriptions may be to large to fit in a single
- RPC reply. In this case, the application may send getVolumeInfo
- requests for the specific topVolumeId -- specifying the number of
- volumes already recieved by the client, and the cookie. The
- server is then responsible for sending another message containing
- additional volumes. These RPCs exchanges may continue multiple
- times, until the client has fetched the entire hierarchical
- volume description. If the volume hierarchy changes duing a
- multiple RPC sequence, the server will return an
- FMP_VOLUME_CHANGED error, and the client must discard all
- information already received and restart the request with
- FMP_Mount.
- */
-
- vollength = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(tree, tvb, offset, 4, "Length of volume List : %d", vollength);
- offset += 4;
- while(vollength){
- offset = dissect_fmp_VolumeDescription(tvb, offset, tree);
- vollength--;
- }
+ int vollength;
+
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_topVolumeId, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cursor, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie, offset);
+
+ /* hierarchical description of volume. Each volume describes a
+ piece of the entire hierarchy and is guarenteed to only refer to
+ volumes that have already been described by the data structure up
+ to this point in time. In some extreme cases, the number of
+ volumes and their descriptions may be to large to fit in a single
+ RPC reply. In this case, the application may send getVolumeInfo
+ requests for the specific topVolumeId -- specifying the number of
+ volumes already recieved by the client, and the cookie. The
+ server is then responsible for sending another message containing
+ additional volumes. These RPCs exchanges may continue multiple
+ times, until the client has fetched the entire hierarchical
+ volume description. If the volume hierarchy changes duing a
+ multiple RPC sequence, the server will return an
+ FMP_VOLUME_CHANGED error, and the client must discard all
+ information already received and restart the request with
+ FMP_Mount.
+ */
+
+ vollength = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(tree, tvb, offset, 4, "Length of volume List : %d", vollength);
+ offset += 4;
+ while (vollength) {
+ offset = dissect_fmp_VolumeDescription(tvb, offset, tree);
+ vollength--;
+ }
- return offset;
+ return offset;
}
@@ -861,235 +863,236 @@ static int
dissect_fmp_vmInfo(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int vmType;
- guint32 phyVolList_len;
- guint32 volIndex;
-
- vmType = tvb_get_ntohl(tvb, offset);
-
- switch (vmType) {
- case FMP_SERVER_BASED:
- /*
- * Need to finish
- */
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: SERVER_BASED (%d)",
- vmType);
- offset += 4;
-
- phyVolList_len = tvb_get_ntohl(tvb, offset);
- offset += 4;
-
- /*
- * Loop through and print all of the devInfo
- * structures.
- */
- while (phyVolList_len) {
- offset =
- dissect_fmp_devSerial(tvb, offset, pinfo, tree);
- volIndex = tvb_get_ntohl(tvb, offset);
- proto_tree_add_text(tree, tvb, offset, 4, "0x%x",
- volIndex);
- offset += 4;
- phyVolList_len--;
- }
- break;
-
- case FMP_THIRD_PARTY:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: THIRD_PARTY (%d)",
- vmType);
- offset += 4;
-
- offset = dissect_rpc_string(tvb, tree, hf_fmp_volHandle,
- offset, NULL);
- break;
-
- case FMP_CLIENT_BASED_DART:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: CLIENT_BASED_DART (%d)",
- vmType);
- offset += 4;
-
- offset = dissect_rpc_string(tvb, tree, hf_fmp_volHandle,
- offset, NULL);
- break;
-
- case FMP_CLIENT_BASED_SIMPLE:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: CLIENT_BASED_SIMPLE (%d)",
- vmType);
- offset += 4;
-
- /*
- * Decoding simpleVolInfo
- */
- offset = dissect_fmp_devSerial(tvb, offset, pinfo, tree);
-
- proto_tree_add_text(tree, tvb, offset, 4, "blockIndex: 0x%x",
- tvb_get_ntohl(tvb, offset));
- offset += 4;
- break;
-
- case FMP_DISK_SIGNATURE:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: DISK_SIGNATURE: (%d)",
- vmType);
- offset += 4;
- offset = dissect_InterpretVolMgtStuff(tvb, offset, tree);
- break;
-
- case FMP_HIERARCHICAL_VOLUME:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: FMP_HIERARCHICAL_VOLUME: (%d)",
- vmType);
- offset += 4;
-
- dissect_fmp_Hiervolume(tvb, offset, tree);
- break;
-
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Volume Mgmt Type: UNKNOWN (%d)", vmType);
- offset += 4;
- break;
- }
-
- return offset;
+ int vmType;
+ guint32 phyVolList_len;
+ guint32 volIndex;
+
+ vmType = tvb_get_ntohl(tvb, offset);
+
+ switch (vmType) {
+ case FMP_SERVER_BASED:
+ /*
+ * Need to finish
+ */
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: SERVER_BASED (%d)",
+ vmType);
+ offset += 4;
+
+ phyVolList_len = tvb_get_ntohl(tvb, offset);
+ offset += 4;
+
+ /*
+ * Loop through and print all of the devInfo
+ * structures.
+ */
+ while (phyVolList_len) {
+ offset =
+ dissect_fmp_devSerial(tvb, offset, pinfo, tree);
+ volIndex = tvb_get_ntohl(tvb, offset);
+ proto_tree_add_text(tree, tvb, offset, 4, "0x%x",
+ volIndex);
+ offset += 4;
+ phyVolList_len--;
+ }
+ break;
+
+ case FMP_THIRD_PARTY:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: THIRD_PARTY (%d)",
+ vmType);
+ offset += 4;
+
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_volHandle,
+ offset, NULL);
+ break;
+
+ case FMP_CLIENT_BASED_DART:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: CLIENT_BASED_DART (%d)",
+ vmType);
+ offset += 4;
+
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_volHandle,
+ offset, NULL);
+ break;
+
+ case FMP_CLIENT_BASED_SIMPLE:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: CLIENT_BASED_SIMPLE (%d)",
+ vmType);
+ offset += 4;
+
+ /*
+ * Decoding simpleVolInfo
+ */
+ offset = dissect_fmp_devSerial(tvb, offset, pinfo, tree);
+
+ proto_tree_add_text(tree, tvb, offset, 4, "blockIndex: 0x%x",
+ tvb_get_ntohl(tvb, offset));
+ offset += 4;
+ break;
+
+ case FMP_DISK_SIGNATURE:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: DISK_SIGNATURE: (%d)",
+ vmType);
+ offset += 4;
+ offset = dissect_InterpretVolMgtStuff(tvb, offset, tree);
+ break;
+
+ case FMP_HIERARCHICAL_VOLUME:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: FMP_HIERARCHICAL_VOLUME: (%d)",
+ vmType);
+ offset += 4;
+
+ dissect_fmp_Hiervolume(tvb, offset, tree);
+ break;
+
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Volume Mgmt Type: UNKNOWN (%d)", vmType);
+ offset += 4;
+ break;
+ }
+
+ return offset;
}
static int
dissect_fmp_notifyProtocol(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- if (tree) {
- int proto;
-
- proto = tvb_get_ntohl(tvb, offset);
-
- switch(proto){
- case FMP_TCP:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Protocol: TCP (%d)",
- proto);
- break;
- case FMP_UDP:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Protocol: UDP (%d)",
- proto);
- break;
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "Protocol: UNKNOWN (%d)",
- proto);
- break;
- }
- }
- return (offset+4);
+ if (tree) {
+ int proto;
+
+ proto = tvb_get_ntohl(tvb, offset);
+
+ switch (proto) {
+ case FMP_TCP:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Protocol: TCP (%d)",
+ proto);
+ break;
+ case FMP_UDP:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Protocol: UDP (%d)",
+ proto);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "Protocol: UNKNOWN (%d)",
+ proto);
+ break;
+ }
+ }
+ return (offset+4);
}
static int
dissect_fmp_capabilities(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- if (tree) {
- int cap_val ;
- proto_tree *capTree;
- proto_tree *captree;
+ if (tree) {
+ int cap_val ;
+ proto_tree *capTree;
+ proto_tree *captree;
- cap_val = tvb_get_ntohl(tvb, offset);
- captree = proto_tree_add_text(tree, tvb, offset, 4,
- "Capabilities: ");
+ cap_val = tvb_get_ntohl(tvb, offset);
+ captree = proto_tree_add_text(tree, tvb, offset, 4,
+ "Capabilities: ");
- capTree = proto_item_add_subtree(captree,
- ett_capabilities);
+ capTree = proto_item_add_subtree(captree,
+ ett_capabilities);
- if (cap_val & FMP_CAP_REVOKE_HANDLE_LIST ){
- proto_tree_add_text(capTree, tvb, offset, 4,
- "CAP_REVOKE_HANDLE_LIST (%x)",
- cap_val);
- }
- if (cap_val & FMP_CAP_UNC_NAMES ){
- proto_tree_add_text(capTree, tvb, offset, 4,
- "CAP_UNC_NAMES (%x)",
- cap_val);
- }
- if (cap_val & FMP_CAP_CIFSV2 ){
- proto_tree_add_text(capTree, tvb, offset, 4,
- "CAP_CIFSV2 (%x)",
- cap_val);
- }
- }
- return (offset+4);
+ if (cap_val & FMP_CAP_REVOKE_HANDLE_LIST) {
+ proto_tree_add_text(capTree, tvb, offset, 4,
+ "CAP_REVOKE_HANDLE_LIST (%x)",
+ cap_val);
+ }
+ if (cap_val & FMP_CAP_UNC_NAMES) {
+ proto_tree_add_text(capTree, tvb, offset, 4,
+ "CAP_UNC_NAMES (%x)",
+ cap_val);
+ }
+ if (cap_val & FMP_CAP_CIFSV2) {
+ proto_tree_add_text(capTree, tvb, offset, 4,
+ "CAP_CIFSV2 (%x)",
+ cap_val);
+ }
+ }
+ return (offset+4);
}
static int
dissect_fmp_cerrInfo(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- int rval;
- clientErrorNum errorNum;
- errorNum = tvb_get_ntohl(tvb, offset);
+ int rval;
+ clientErrorNum errorNum;
- switch(errorNum){
- case FMP_CE_GENERIC:
- proto_tree_add_text(tree, tvb, offset, 4,
- "CLIENT Error Number: FMP_CE_GENERIC (%d)",
- errorNum);
- break;
+ errorNum = tvb_get_ntohl(tvb, offset);
- case FMP_CE_DISK_ERROR:
- proto_tree_add_text(tree, tvb, offset, 4,
- "CLIENT Error Number: FMP_CE_DISK_ERROR (%d)",
- errorNum);
- break;
+ switch (errorNum) {
+ case FMP_CE_GENERIC:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "CLIENT Error Number: FMP_CE_GENERIC (%d)",
+ errorNum);
+ break;
- default:
- proto_tree_add_text(tree, tvb, offset, 4,
- "CLIENT Error Number: Unknown Error Number (%d)",
- errorNum);
- break;
- }
+ case FMP_CE_DISK_ERROR:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "CLIENT Error Number: FMP_CE_DISK_ERROR (%d)",
+ errorNum);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, 4,
+ "CLIENT Error Number: Unknown Error Number (%d)",
+ errorNum);
+ break;
+ }
- offset += 4;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- return offset;
+ offset += 4;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+
+ return offset;
}
static int
dissect_fmp_attrs(tvbuff_t *tvb, int offset, proto_tree *tree)
{
- proto_tree *attrstree;
- proto_tree *attrsTree;
-
- attrstree = proto_tree_add_text(tree, tvb, offset, 84,
- "Attribute: ");
- attrsTree = proto_item_add_subtree(attrstree,
- ett_attrs );
- offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_type, offset);
- offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_mode, offset);
- offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_nlink, offset);
- offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_uid, offset);
- offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_gid, offset);
- offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_fileSize, offset);
- /* Here hf_fmp_fileSize is used in
- * place of size
- */
- offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_used, offset);
- offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_rdev, offset);
- offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_fsid, offset);
- offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_fileid, offset);
- proto_tree_add_text(tree, tvb, offset, 8,"atime: %d.%d seconds",
- tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
- offset +=8;
- proto_tree_add_text(tree, tvb, offset, 8,"mtime: %d.%d seconds",
- tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
- offset +=8;
- proto_tree_add_text(tree, tvb, offset, 8,"ctime: %d.%d seconds",
- tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
- offset +=8;
- return offset;
+ proto_tree *attrstree;
+ proto_tree *attrsTree;
+
+ attrstree = proto_tree_add_text(tree, tvb, offset, 84,
+ "Attribute: ");
+ attrsTree = proto_item_add_subtree(attrstree,
+ ett_attrs );
+ offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_type, offset);
+ offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_mode, offset);
+ offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_nlink, offset);
+ offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_uid, offset);
+ offset = dissect_rpc_uint32(tvb, attrsTree, hf_fmp_nfsv3Attr_gid, offset);
+ offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_fileSize, offset);
+ /* Here hf_fmp_fileSize is used in
+ * place of size
+ */
+ offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_used, offset);
+ offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_rdev, offset);
+ offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_fsid, offset);
+ offset = dissect_rpc_uint64(tvb, attrsTree, hf_fmp_nfsv3Attr_fileid, offset);
+ proto_tree_add_text(tree, tvb, offset, 8,"atime: %d.%d seconds",
+ tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
+ offset +=8;
+ proto_tree_add_text(tree, tvb, offset, 8,"mtime: %d.%d seconds",
+ tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
+ offset +=8;
+ proto_tree_add_text(tree, tvb, offset, 8,"ctime: %d.%d seconds",
+ tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
+ offset +=8;
+ return offset;
}
@@ -1098,405 +1101,405 @@ static int
dissect_FMP_SessionCreate_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
- offset, NULL);
- offset = dissect_fmp_timeval(tvb, offset, pinfo, tree, hf_fmp_btime,
- hf_fmp_time_sec, hf_fmp_time_nsec);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_notifyPort,
- offset);
- return offset;
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
+ offset, NULL);
+ offset = dissect_fmp_timeval(tvb, offset, pinfo, tree, hf_fmp_btime,
+ hf_fmp_time_sec, hf_fmp_time_nsec);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_notifyPort,
+ offset);
+ return offset;
}
static int
dissect_FMP_SessionCreate_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree,
- hf_fmp_sessionHandle, offset);
- offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
- offset, NULL);
- offset = dissect_fmp_timeval(tvb, offset, pinfo, tree,
- hf_fmp_btime, hf_fmp_time_sec,
- hf_fmp_time_nsec);
- offset = dissect_fmp_heartBeatIntv(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree,
+ hf_fmp_sessionHandle, offset);
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
+ offset, NULL);
+ offset = dissect_fmp_timeval(tvb, offset, pinfo, tree,
+ hf_fmp_btime, hf_fmp_time_sec,
+ hf_fmp_time_nsec);
+ offset = dissect_fmp_heartBeatIntv(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_HeartBeat_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
- return offset;
+ return offset;
}
static int
dissect_FMP_HeartBeat_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- return offset;
+ int rval;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ return offset;
}
static int
dissect_FMP_Mount_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
- offset = dissect_fmp_capability(tvb, offset, tree);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
+ offset = dissect_fmp_capability(tvb, offset, tree);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ return offset;
}
static int
dissect_FMP_Mount_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsBlkSz,
- offset);
- offset = dissect_fmp_vmInfo(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsBlkSz,
+ offset);
+ offset = dissect_fmp_vmInfo(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_Open_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ return offset;
}
static int
dissect_FMP_Open_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
- offset);
- }
- return offset;
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
+ offset);
+ }
+ return offset;
}
static int
dissect_FMP_Close_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ return offset;
}
static int
dissect_FMP_Close_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_OpenGetMap_request(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_OpenGetMap_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
- offset);
- offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
+ offset);
+ offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_OpenAllocSpace_request(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb , tree, hf_fmp_sessionHandle,
- offset);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_data(tvb , tree, hf_fmp_sessionHandle,
+ offset);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_OpenAllocSpace_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
- offset);
- offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
- }
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
+ offset);
+ offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
+ }
+ return offset;
}
static int
dissect_FMP_GetMap_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_GetMap_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_AllocSpace_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_firstLogBlk,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_AllocSpace_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_Flush_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_fmp_flushCmd(tvb, offset, tree);
- offset = dissect_rpc_uint64(tvb,tree, hf_fmp_eof, offset);
- offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_fmp_flushCmd(tvb, offset, tree);
+ offset = dissect_rpc_uint64(tvb,tree, hf_fmp_eof, offset);
+ offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
+ return offset;
}
static int
dissect_FMP_Flush_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- }
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ }
+ return offset;
}
static int
dissect_FMP_CancelReq_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie, offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie, offset);
+ return offset;
}
static int
dissect_FMP_CancelReq_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
- proto_tree *tree)
+ proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- }
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ }
+ return offset;
}
static int
dissect_FMP_PlugIn_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- offset = dissect_plugInID(tvb, offset, tree);
- offset = dissect_rpc_data(tvb, tree, hf_fmp_plugInBuf, offset);
- return offset;
+ offset = dissect_plugInID(tvb, offset, tree);
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_plugInBuf, offset);
+ return offset;
}
static int
dissect_FMP_PlugIn_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree, hf_fmp_plugInBuf,
- offset);
- }
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_plugInBuf,
+ offset);
+ }
+ return offset;
}
static int
dissect_FMP_SessionTerminate_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
+ return offset;
}
static int
dissect_FMP_SessionTerminate_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ return offset;
}
static int
dissect_FMP_SessionCreateEx_request(tvbuff_t *tvb, int offset,packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
- offset, NULL);
- offset = dissect_fmp_timeval(tvb, offset, pinfo ,tree, hf_fmp_btime,
- hf_fmp_time_sec, hf_fmp_time_nsec);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_notifyPort,
- offset);
- offset = dissect_fmp_notifyProtocol(tvb, offset, tree);
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
+ offset, NULL);
+ offset = dissect_fmp_timeval(tvb, offset, pinfo ,tree, hf_fmp_btime,
+ hf_fmp_time_sec, hf_fmp_time_nsec);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_notifyPort,
+ offset);
+ offset = dissect_fmp_notifyProtocol(tvb, offset, tree);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_major,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_minor,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_major,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_minor,
+ offset);
- offset = dissect_rpc_string(tvb, tree, hf_fmp_os_name,
- offset, NULL);
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_os_name,
+ offset, NULL);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_patch,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_patch,
+ offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_build,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_build,
+ offset);
- offset = dissect_fmp_capabilities(tvb, offset, tree);
+ offset = dissect_fmp_capabilities(tvb, offset, tree);
- return offset;
+ return offset;
}
@@ -1504,87 +1507,87 @@ static int
dissect_FMP_SessionCreateEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset, tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree,
- hf_fmp_sessionHandle, offset);
- offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
- offset, NULL);
- offset = dissect_fmp_timeval(tvb, offset, pinfo ,tree,
- hf_fmp_btime, hf_fmp_time_sec,
- hf_fmp_time_nsec);
- offset = dissect_fmp_heartBeatIntv(tvb, offset, pinfo , tree);
+ offset = dissect_fmp_status(tvb, offset, tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree,
+ hf_fmp_sessionHandle, offset);
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_hostID,
+ offset, NULL);
+ offset = dissect_fmp_timeval(tvb, offset, pinfo ,tree,
+ hf_fmp_btime, hf_fmp_time_sec,
+ hf_fmp_time_nsec);
+ offset = dissect_fmp_heartBeatIntv(tvb, offset, pinfo , tree);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_major,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_major,
+ offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_minor,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_minor,
+ offset);
- offset = dissect_rpc_string(tvb, tree, hf_fmp_server_version_string,
- offset, NULL);
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_server_version_string,
+ offset, NULL);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_patch,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_patch,
+ offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_build,
- offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_os_build,
+ offset);
- offset = dissect_fmp_capabilities(tvb, offset, tree);
- }
+ offset = dissect_fmp_capabilities(tvb, offset, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_ReportClientError_request(tvbuff_t *tvb, int offset,
- packet_info *pinfo _U_, proto_tree *tree)
+ packet_info *pinfo _U_, proto_tree *tree)
{
- offset = dissect_rpc_string(tvb, tree, hf_fmp_description,
- offset, NULL);
+ offset = dissect_rpc_string(tvb, tree, hf_fmp_description,
+ offset, NULL);
- offset = dissect_fmp_cerrInfo(tvb, offset, tree);
- return offset;
+ offset = dissect_fmp_cerrInfo(tvb, offset, tree);
+ return offset;
}
static int
dissect_FMP_ReportClientError_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo _U_, proto_tree *tree)
+ packet_info *pinfo _U_, proto_tree *tree)
{
- int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ int rval;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
- return offset;
+ return offset;
}
static int
dissect_FMP_GetAttr_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- return offset;
+ return offset;
}
static int
dissect_FMP_GetAttr_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo _U_, proto_tree *tree)
+ packet_info *pinfo _U_, proto_tree *tree)
{
- int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if(rval == 0){
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ int rval;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_fmp_attrs(tvb, offset, tree);
- }
+ offset = dissect_fmp_attrs(tvb, offset, tree);
+ }
- return offset;
+ return offset;
}
static int
@@ -1592,80 +1595,80 @@ dissect_FMP_OpenGetAttr_request(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- return offset;
+ return offset;
}
static int
dissect_FMP_OpenGetAttr_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo _U_, proto_tree *tree)
+ packet_info *pinfo _U_, proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset, tree, &rval);
+ offset = dissect_fmp_status(tvb, offset, tree, &rval);
- if (rval == 0){
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID, offset);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID, offset);
offset = dissect_fmp_attrs(tvb, offset, tree);
- }
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_FlushGetAttr_request(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree)
+ packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cmd, offset);
- offset = dissect_rpc_uint64(tvb,tree, hf_fmp_eof, offset);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cmd, offset);
+ offset = dissect_rpc_uint64(tvb,tree, hf_fmp_eof, offset);
proto_tree_add_text(tree, tvb, offset, 8,"mtime: %d.%d seconds",
- tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
- offset += 8;
- offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
+ tvb_get_ntohl(tvb, offset),tvb_get_ntohl(tvb, offset+4));
+ offset += 8;
+ offset = dissect_fmp_extentList(tvb, offset, pinfo, tree);
- return offset;
+ return offset;
}
static int
dissect_FMP_FlushGetAttr_reply(tvbuff_t *tvb, int offset,
- packet_info *pinfo _U_, proto_tree *tree)
+ packet_info *pinfo _U_, proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if(rval == 0){
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_fmp_attrs(tvb, offset, tree);
- }
+ offset = dissect_fmp_attrs(tvb, offset, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_GetVolumeInfo_request(tvbuff_t *tvb, int offset,
- packet_info *pinfo _U_, proto_tree *tree)
+ packet_info *pinfo _U_, proto_tree *tree)
{
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_topVolumeId, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cursor, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie, offset);
- return offset;
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_topVolumeId, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cursor, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie, offset);
+ return offset;
}
@@ -1674,187 +1677,187 @@ static int
dissect_FMP_GetVolumeInfo_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- /* FIXME: I don't know size of this volumes */
- offset = dissect_fmp_Hiervolume(tvb,offset, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ /* FIXME: I don't know size of this volumes */
+ offset = dissect_fmp_Hiervolume(tvb,offset, tree);
+ }
return offset;
}
static int
dissect_FMP_OpenGetMapEx_request(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree)
+ packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
- offset);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_sessionHandle,
+ offset);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_OpenGetMapEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
- proto_tree *tree)
+ proto_tree *tree)
{
- int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
- offset);
- offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
- }
+ int rval;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
+ offset);
+ offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_OpenAllocSpaceEx_request(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree)
+ packet_info *pinfo, proto_tree *tree)
{
- offset = dissect_rpc_data(tvb , tree, hf_fmp_sessionHandle,
- offset);
- offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_data(tvb , tree, hf_fmp_sessionHandle,
+ offset);
+ offset = dissect_fmp_fileHandleSrc(tvb, offset, pinfo, tree);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_OpenAllocSpaceEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
- proto_tree *tree)
+ proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
- offset);
- offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
- }
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_fsID,
+ offset);
+ offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
+ }
+ return offset;
}
static int
dissect_FMP_GetMapEx_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
- proto_tree *tree)
+ proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_GetMapEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
- proto_tree *tree)
+ proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_AllocSpaceEx_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
- proto_tree *tree)
+ proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_firstLogBlk64, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_numBlksReq,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_minBlks, offset);
+ return offset;
}
static int
dissect_FMP_AllocSpaceEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
- proto_tree *tree)
+ proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
- offset);
- offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
- offset);
- offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
- }
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_cookie,
+ offset);
+ offset = dissect_rpc_uint64(tvb, tree, hf_fmp_fileSize,
+ offset);
+ offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
+ }
- return offset;
+ return offset;
}
static int
dissect_FMP_FlushEx_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
- proto_tree *tree)
+ proto_tree *tree)
{
- offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
- offset = dissect_fmp_flushCmd(tvb, offset, tree);
- offset = dissect_rpc_uint64(tvb,tree, hf_fmp_eof, offset);
- offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
- return offset;
+ offset = dissect_rpc_data(tvb, tree, hf_fmp_fmpFHandle, offset);
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum, offset);
+ offset = dissect_fmp_flushCmd(tvb, offset, tree);
+ offset = dissect_rpc_uint64(tvb,tree, hf_fmp_eof, offset);
+ offset = dissect_fmp_extentListEx(tvb, offset, pinfo, tree);
+ return offset;
}
static int
dissect_FMP_FlushEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
- proto_tree *tree)
+ proto_tree *tree)
{
- int rval;
+ int rval;
- offset = dissect_fmp_status(tvb, offset,tree, &rval);
- if (rval == 0) {
- offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
- offset);
- }
- return offset;
+ offset = dissect_fmp_status(tvb, offset,tree, &rval);
+ if (rval == 0) {
+ offset = dissect_rpc_uint32(tvb, tree, hf_fmp_msgNum,
+ offset);
+ }
+ return offset;
}
/*
* proc number, "proc name", dissect_request, dissect_reply
@@ -1862,152 +1865,202 @@ dissect_FMP_FlushEx_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
*/
static const vsff fmp3_proc[] = {
-{ 1, "SessionCreate",
- dissect_FMP_SessionCreate_request, dissect_FMP_SessionCreate_reply },
-
-{ 2, "HeartBeat",
- dissect_FMP_HeartBeat_request, dissect_FMP_HeartBeat_reply },
-
-{ 3, "Mount",
- dissect_FMP_Mount_request, dissect_FMP_Mount_reply },
-
-{ 4, "Open",
- dissect_FMP_Open_request, dissect_FMP_Open_reply },
-
-{ 5, "Close",
- dissect_FMP_Close_request, dissect_FMP_Close_reply },
-
-{ 6, "OpenGetMap",
- dissect_FMP_OpenGetMap_request, dissect_FMP_OpenGetMap_reply },
-
-{ 7, "OpenAllocSpace",
- dissect_FMP_OpenAllocSpace_request, dissect_FMP_OpenAllocSpace_reply },
-
-{ 8, "GetMap",
- dissect_FMP_GetMap_request, dissect_FMP_GetMap_reply },
-
-{ 9, "AllocSpace",
- dissect_FMP_AllocSpace_request, dissect_FMP_AllocSpace_reply },
-
-{ 10, "Flush",
- dissect_FMP_Flush_request, dissect_FMP_Flush_reply },
-
-{ 11, "CancelReq",
- dissect_FMP_CancelReq_request, dissect_FMP_CancelReq_reply },
-
-{ 12, "PlugIn",
- dissect_FMP_PlugIn_request, dissect_FMP_PlugIn_reply },
-
-{ 13, "SessionTerminate",
- dissect_FMP_SessionTerminate_request, dissect_FMP_SessionTerminate_reply },
-
-{ 14, "SessionCreateEx",
- dissect_FMP_SessionCreateEx_request, dissect_FMP_SessionCreateEx_reply },
-
-{ 15, "ReportClientError",
- dissect_FMP_ReportClientError_request, dissect_FMP_ReportClientError_reply },
-
-{ 16 , "Get Attribute",
- dissect_FMP_GetAttr_request, dissect_FMP_GetAttr_reply },
-
-{ 17 , "Open Get Attribute",
- dissect_FMP_OpenGetAttr_request, dissect_FMP_OpenGetAttr_reply },
-
-{ 18 , "Flush Get Attribute",
- dissect_FMP_FlushGetAttr_request, dissect_FMP_FlushGetAttr_reply },
-
-{ 19 , "OpenGetMapEx",
- dissect_FMP_OpenGetMapEx_request, dissect_FMP_OpenGetMapEx_reply },
-
-{ 20 , "OpenAllocSpaceEx",
- dissect_FMP_OpenAllocSpaceEx_request, dissect_FMP_OpenAllocSpaceEx_reply },
-
-{ 21 , "GetMapEx",
- dissect_FMP_GetMapEx_request, dissect_FMP_GetMapEx_reply },
-
-{ 22 , "AllocSpaceEx",
- dissect_FMP_AllocSpaceEx_request, dissect_FMP_AllocSpaceEx_reply },
-
-{ 23 , "FMP_FlushEx",
- dissect_FMP_FlushEx_request, dissect_FMP_FlushEx_reply },
+ { 1,
+ "SessionCreate",
+ dissect_FMP_SessionCreate_request,
+ dissect_FMP_SessionCreate_reply },
+
+ { 2,
+ "HeartBeat",
+ dissect_FMP_HeartBeat_request,
+ dissect_FMP_HeartBeat_reply },
+
+ { 3,
+ "Mount",
+ dissect_FMP_Mount_request,
+ dissect_FMP_Mount_reply },
+
+ { 4,
+ "Open",
+ dissect_FMP_Open_request,
+ dissect_FMP_Open_reply },
+
+ { 5,
+ "Close",
+ dissect_FMP_Close_request,
+ dissect_FMP_Close_reply },
+
+ { 6,
+ "OpenGetMap",
+ dissect_FMP_OpenGetMap_request,
+ dissect_FMP_OpenGetMap_reply },
+
+ { 7,
+ "OpenAllocSpace",
+ dissect_FMP_OpenAllocSpace_request,
+ dissect_FMP_OpenAllocSpace_reply },
+
+ { 8,
+ "GetMap",
+ dissect_FMP_GetMap_request,
+ dissect_FMP_GetMap_reply },
+
+ { 9,
+ "AllocSpace",
+ dissect_FMP_AllocSpace_request,
+ dissect_FMP_AllocSpace_reply },
+
+ { 10,
+ "Flush",
+ dissect_FMP_Flush_request,
+ dissect_FMP_Flush_reply },
+
+ { 11,
+ "CancelReq",
+ dissect_FMP_CancelReq_request,
+ dissect_FMP_CancelReq_reply },
+
+ { 12,
+ "PlugIn",
+ dissect_FMP_PlugIn_request,
+ dissect_FMP_PlugIn_reply },
+
+ { 13,
+ "SessionTerminate",
+ dissect_FMP_SessionTerminate_request,
+ dissect_FMP_SessionTerminate_reply },
+
+ { 14,
+ "SessionCreateEx",
+ dissect_FMP_SessionCreateEx_request,
+ dissect_FMP_SessionCreateEx_reply },
+
+ { 15,
+ "ReportClientError",
+ dissect_FMP_ReportClientError_request,
+ dissect_FMP_ReportClientError_reply },
+
+ { 16 ,
+ "Get Attribute",
+ dissect_FMP_GetAttr_request,
+ dissect_FMP_GetAttr_reply },
+
+ { 17 ,
+ "Open Get Attribute",
+ dissect_FMP_OpenGetAttr_request,
+ dissect_FMP_OpenGetAttr_reply },
+
+ { 18 ,
+ "Flush Get Attribute",
+ dissect_FMP_FlushGetAttr_request,
+ dissect_FMP_FlushGetAttr_reply },
+
+ { 19 ,
+ "OpenGetMapEx",
+ dissect_FMP_OpenGetMapEx_request,
+ dissect_FMP_OpenGetMapEx_reply },
+
+ { 20 ,
+ "OpenAllocSpaceEx",
+ dissect_FMP_OpenAllocSpaceEx_request,
+ dissect_FMP_OpenAllocSpaceEx_reply },
+
+ { 21 ,
+ "GetMapEx",
+ dissect_FMP_GetMapEx_request,
+ dissect_FMP_GetMapEx_reply },
+
+ { 22 ,
+ "AllocSpaceEx",
+ dissect_FMP_AllocSpaceEx_request,
+ dissect_FMP_AllocSpaceEx_reply },
+
+ { 23 ,
+ "FMP_FlushEx",
+ dissect_FMP_FlushEx_request,
+ dissect_FMP_FlushEx_reply },
#if 0
-{ 24 , "FlushGetAttrEx",
- dissect_FMP_FlushGetAttrEx_request, dissect_FMP_FlushGetAttrEx_reply },
+ { 24 ,
+ "FlushGetAttrEx",
+ dissect_FMP_FlushGetAttrEx_request,
+ dissect_FMP_FlushGetAttrEx_reply },
#endif
-{ 25 , "GetVolumeInfo",
- dissect_FMP_GetVolumeInfo_request, dissect_FMP_GetVolumeInfo_reply },
+ { 25 ,
+ "GetVolumeInfo",
+ dissect_FMP_GetVolumeInfo_request,
+ dissect_FMP_GetVolumeInfo_reply },
-{0 , NULL , NULL , NULL }
+ {0 , NULL , NULL , NULL }
};
static const value_string fmp_proc_vals[] = {
- { 1, "SessionCreate" },
- { 2, "HeartBeat" },
- { 3, "Mount" },
- { 4, "Open" },
- { 5, "Close" },
- { 6, "OpenGetMap" },
- { 7, "OpenAllocSpace" },
- { 8, "GetMap" },
- { 9, "AllocSpace " },
- { 10, "Flush" },
- { 11, "CancelReq" },
- { 12, "PlugIn" },
- { 13, "SessionTerminate" },
- { 14, "SessionCreateEx" },
- { 15, "ReportClientError" },
- { 16, "GetAttr " },
- { 17, "OpenGetAttr" },
- { 18, "FlushGetAttr"},
- { 19, "OpenGetMapEx"},
- { 20, "OpenAllocSpaceEx"},
- { 21, "GetMapEx"},
- { 22, "AllocSpaceEx"},
- { 23, "FlushEx"},
- { 24, "FlushGetAttrEx"},
- { 25, "GetVolumeInfo"},
- { 0, "NULL" },
- { 0,NULL }
+ { 0, "NULL" },
+ { 1, "SessionCreate" },
+ { 2, "HeartBeat" },
+ { 3, "Mount" },
+ { 4, "Open" },
+ { 5, "Close" },
+ { 6, "OpenGetMap" },
+ { 7, "OpenAllocSpace" },
+ { 8, "GetMap" },
+ { 9, "AllocSpace " },
+ { 10, "Flush" },
+ { 11, "CancelReq" },
+ { 12, "PlugIn" },
+ { 13, "SessionTerminate" },
+ { 14, "SessionCreateEx" },
+ { 15, "ReportClientError" },
+ { 16, "GetAttr " },
+ { 17, "OpenGetAttr" },
+ { 18, "FlushGetAttr"},
+ { 19, "OpenGetMapEx"},
+ { 20, "OpenAllocSpaceEx"},
+ { 21, "GetMapEx"},
+ { 22, "AllocSpaceEx"},
+ { 23, "FlushEx"},
+ { 24, "FlushGetAttrEx"},
+ { 25, "GetVolumeInfo"},
+ { 0,NULL }
};
static const value_string fmp_status_vals[] = {
- {0,"OK"},
- {5,"IOERROR"},
- {12,"NOMEM"},
- {13,"NOACCESS"},
- {22,"INVALIDARG"},
- {28,"FSFULL"},
- {79,"QUEUE_FULL"},
- {500,"WRONG_MSG_NUM"},
- {501,"SESSION_LOST"},
- {502,"HOT_SESSION"},
- {503,"COLD_SESSION"},
- {504,"CLIENT_TERMINATED"},
- {505,"WRITER_LOST_BLK"},
- {506,"FMP_REQUEST_QUEUED"},
- {507,"FMP_FALL_BACK"},
- {508,"REQUEST_CANCELLED"},
- {509,"WRITER_ZEROED_BLK"},
- {510,"NOTIFY_ERROR"},
- {511,"FMP_WRONG_HANDLE"},
- {512,"DUPLICATE_OPEN"},
- {600,"PLUGIN_NOFUNC"},
- {0,NULL}
+ { 0, "OK"},
+ { 5, "IOERROR"},
+ { 12, "NOMEM"},
+ { 13, "NOACCESS"},
+ { 22, "INVALIDARG"},
+ { 28, "FSFULL"},
+ { 79, "QUEUE_FULL"},
+ {500, "WRONG_MSG_NUM"},
+ {501, "SESSION_LOST"},
+ {502, "HOT_SESSION"},
+ {503, "COLD_SESSION"},
+ {504, "CLIENT_TERMINATED"},
+ {505, "WRITER_LOST_BLK"},
+ {506, "FMP_REQUEST_QUEUED"},
+ {507, "FMP_FALL_BACK"},
+ {508, "REQUEST_CANCELLED"},
+ {509, "WRITER_ZEROED_BLK"},
+ {510, "NOTIFY_ERROR"},
+ {511, "FMP_WRONG_HANDLE"},
+ {512, "DUPLICATE_OPEN"},
+ {600, "PLUGIN_NOFUNC"},
+ {0,NULL}
};
static const value_string fmp_extentState_vals[] = {
- {0,"VALID_DATA"},
- {1,"INVALID_DATA"},
- {2,"NONE_DATA"},
- {0,NULL}
+ {0,"VALID_DATA"},
+ {1,"INVALID_DATA"},
+ {2,"NONE_DATA"},
+ {0,NULL}
};
@@ -2015,243 +2068,329 @@ static const value_string fmp_extentState_vals[] = {
void
proto_register_fmp(void)
{
- static hf_register_info hf[] = {
- { &hf_fmp_procedure, {
- "Procedure", "fmp.procedure", FT_UINT32, BASE_DEC,
- VALS(fmp_proc_vals) , 0, NULL, HFILL }}, /* New addition */
-
- { &hf_fmp_hostID, {
- "Host ID", "fmp.hostID", FT_STRING, BASE_NONE,
- NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_btime, {
- "Boot Time", "fmp.btime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL,
- NULL, 0, "Machine Boot Time", HFILL }},
-
- { &hf_fmp_time_sec, {
- "seconds", "fmp.btime.sec", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_time_nsec, {
- "nanoseconds", "fmp.btime.nsec", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_notifyPort, {
- "Notify Port", "fmp.notifyPort", FT_UINT32, BASE_DEC,
- NULL, 0, "FMP Notify Port", HFILL }},
-
- { &hf_fmp_sessionHandle, {
- "Session Handle", "fmp.sessHandle", FT_BYTES, BASE_NONE,
- NULL, 0, "FMP Session Handle", HFILL }},
-
- { &hf_fmp_fmpFHandle, {
- "FMP File Handle", "fmp.fmpFHandle",
- FT_BYTES, BASE_NONE, NULL, 0, NULL,
- HFILL }},
-
- { &hf_fmp_nfsFHandle, {
- "NFS File Handle", "fmp.nfsFHandle", FT_BYTES,
- BASE_NONE, NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_fsID, {
- "File System ID", "fmp.fsID", FT_UINT32, BASE_HEX,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_status, {
- "Status", "fmp.status", FT_UINT32, BASE_DEC,
- VALS(fmp_status_vals), 0, "Reply Status", HFILL }},
-
- { &hf_fmp_fsBlkSz, {
- "FS Block Size", "fmp.fsBlkSz", FT_UINT32, BASE_DEC,
- NULL, 0, "File System Block Size", HFILL }},
-
- { &hf_fmp_volHandle, {
- "Volume Handle", "fmp.volHandle", FT_STRING, BASE_NONE,
- NULL, 0, "FMP Volume Handle", HFILL }},
-
- { &hf_fmp_dskSigEnt_val, {
- "Celerra Signature", "fmp.dsi.ds.dsList.dskSigLst_val.dse.dskSigEnt_val", FT_STRING, BASE_NONE,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_devSignature, {
- "Signature DATA", "fmp.devSig", FT_STRING, BASE_NONE,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_mount_path, {
- "Native Protocol: PATH", "fmp.mount_path", FT_STRING, BASE_NONE,
- NULL, 0, "Absolute path from the root on the server side", HFILL }},
- { &hf_fmp_sig_offset, {
- "Sig Offset", "fmp.dsi.ds.sig_offset", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_numBlksReq, {
- "Extent Length", "fmp.numBlksReq", FT_UINT32,
- BASE_DEC, NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_minBlks, {
- "Minimum Blocks to Grant", "fmp.minBlks", FT_UINT32,
- BASE_DEC, NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_msgNum, {
- "Message Number", "fmp.msgNum", FT_UINT32, BASE_DEC,
- NULL, 0, "FMP Message Number", HFILL }},
-
- { &hf_fmp_cookie, {
- "Cookie", "fmp.cookie", FT_UINT32, BASE_HEX,
- NULL, 0, "Cookie for FMP_REQUEST_QUEUED Resp", HFILL }},
-
- { &hf_fmp_fileSize, {
- "File Size", "fmp.fileSize", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
-
- { &hf_fmp_extentList_len, {
- "Extent List Length", "fmp.extentList_len", FT_UINT32,
- BASE_DEC, NULL, 0, "FMP Extent List Length", HFILL }},
-
- { &hf_fmp_extent_state, {
- "Extent State", "fmp.extentState", FT_UINT32,BASE_DEC,
- VALS(fmp_extentState_vals), 0, "FMP Extent State", HFILL }},
-
- { &hf_fmp_firstLogBlk, {
- "firstLogBlk", "fmp.firstLogBlk", FT_UINT32,
- BASE_DEC, NULL, 0, "First Logical File Block", HFILL }},
-
- { &hf_fmp_numBlks, {
- "Number Blocks", "fmp.numBlks", FT_UINT32, BASE_DEC,
- NULL, 0, "Number of Blocks", HFILL }},
-
- { &hf_fmp_volID, {
- "Volume ID inside DART", "fmp.volID", FT_UINT32, BASE_HEX,
- NULL, 0, "FMP Volume ID inside DART", HFILL }},
-
- { &hf_fmp_startOffset, {
- "Start Offset", "fmp.startOffset", FT_UINT32, BASE_DEC,
- NULL, 0, "FMP Start Offset", HFILL }},
-
- { &hf_fmp_start_offset64, {
- "Start offset", "fmp.start_offset64", FT_UINT64, BASE_DEC,
- NULL, 0, "Start Offset of extentEx", HFILL }},
-
- { &hf_fmp_eof, {
- "EOF", "fmp.eof", FT_UINT64, BASE_DEC,
- NULL, 0, "End Of File", HFILL }},
-
- { &hf_fmp_plugInID, {
- "Plug In Cmd ID", "fmp.plugInID", FT_BYTES, BASE_NONE,
- NULL, 0, "Plug In Command ID", HFILL }},
-
- { &hf_fmp_plugInBuf, {
- "Plug In Args", "fmp.plugIn", FT_BYTES, BASE_NONE,
- NULL, 0, "FMP Plug In Arguments", HFILL }},
- { &hf_fmp_os_major, {
- "OS Major", "fmp.os_major", FT_UINT32, BASE_DEC,
- NULL, 0, "FMP OS Major", HFILL }},
- { &hf_fmp_os_minor, {
- "OS Minor", "fmp.os_minor", FT_UINT32, BASE_DEC,
- NULL, 0, "FMP OS Minor", HFILL }},
- { &hf_fmp_os_name, {
- "OS Name", "fmp.os_name", FT_STRING, BASE_NONE,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_path, {
- "Mount Path", "fmp.Path", FT_STRING, BASE_NONE,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_os_patch, {
- "OS Path", "fmp.os_patch", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_os_build, {
- "OS Build", "fmp.os_build", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_server_version_string, {
- "Server Version String", "fmp.server_version_string", FT_STRING, BASE_NONE,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_description, {
- "Error Description", "fmp.description", FT_STRING, BASE_NONE,
- NULL, 0, "Client Error Description", HFILL }},
- { &hf_fmp_nfsv3Attr_type, {
- "Type", "fmp.nfsv3Attr_type", FT_UINT32, BASE_DEC,
- NULL, 0, "NFSV3 Attr Type", HFILL }},
- { &hf_fmp_nfsv3Attr_mode, {
- "Mode", "fmp.nfsv3Attr_mod", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_nfsv3Attr_nlink, {
- "nlink", "fmp.nfsv3Attr_nlink", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_nfsv3Attr_uid, {
- "uid", "fmp.nfsv3Attr_uid", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_nfsv3Attr_gid, {
- "gid", "fmp.nfsv3Attr_gid", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- /* for nfsv3Attr_size use hf_fmp_fileSize */
- { &hf_fmp_nfsv3Attr_used, {
- "Used", "fmp.nfsv3Attr_used", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_nfsv3Attr_rdev, {
- "rdev", "fmp.nfsv3Attr_rdev", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_nfsv3Attr_fsid, {
- "fsid", "fmp.nfsv3Attr_fsid", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_nfsv3Attr_fileid, {
- "File ID", "fmp.nfsv3Attr_fileid", FT_UINT64, BASE_DEC,
- NULL, 0, "fileid", HFILL }},
- { &hf_fmp_cmd, {
- "Command", "fmp.cmd", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_topVolumeId, {
- "Top Volume ID", "fmp.topVolumeId", FT_UINT32, BASE_HEX,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_cursor, {
- "number of volumes", "fmp.cursor", FT_UINT32, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_offset64, {
- "offset", "fmp.offset64", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_slice_size, {
- "size of the slice", "fmp.slice_size", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_volume, {
- "Volume ID's", "fmp.volume", FT_UINT32, BASE_HEX,
- NULL, 0, "FMP Volume ID's", HFILL }},
- { &hf_fmp_stripeSize, {
- "size of the stripe", "fmp.stripeSize", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
- { &hf_fmp_firstLogBlk64, {
- "First Logical Block", "fmp.firstLogBlk64", FT_UINT64, BASE_DEC,
- NULL, 0, NULL, HFILL }},
-
- };
-
- static gint *ett[] = {
- &ett_fmp,
- &ett_fmp_timeval,
- &ett_fmp_extList,
- &ett_fmp_ext,
- &ett_fmp_fileHandle,
- &ett_capabilities,
- &ett_HierVolumeDescription,
- &ett_attrs
- };
-
- module_t *fmp_module;
- proto_fmp = proto_register_protocol("File Mapping Protocol", "FMP",
- "fmp");
-
- proto_register_field_array(proto_fmp, hf, array_length(hf));
- proto_register_subtree_array(ett, array_length(ett));
-
- fmp_module=prefs_register_protocol(proto_fmp, NULL);
-
- prefs_register_bool_preference(fmp_module, "fhandle_find_both_reqrep",
- "Fhandle filters finds both request/response",
- "With this option display filters for fmp fhandle a RPC call, even if the actual fhandle is only present in one of the packets",
- &fmp_fhandle_reqrep_matching);
+ static hf_register_info hf[] = {
+ { &hf_fmp_procedure,
+ { "Procedure", "fmp.procedure",
+ FT_UINT32, BASE_DEC, VALS(fmp_proc_vals),
+ 0, NULL, HFILL }}, /* New addition */
+
+ { &hf_fmp_hostID,
+ { "Host ID", "fmp.hostID",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_btime,
+ { "Boot Time", "fmp.btime",
+ FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
+ "Machine Boot Time", HFILL }},
+
+ { &hf_fmp_time_sec,
+ { "seconds", "fmp.btime.sec",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_time_nsec,
+ { "nanoseconds", "fmp.btime.nsec",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_notifyPort,
+ { "Notify Port", "fmp.notifyPort",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FMP Notify Port", HFILL }},
+
+ { &hf_fmp_sessionHandle,
+ { "Session Handle", "fmp.sessHandle",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "FMP Session Handle", HFILL }},
+
+ { &hf_fmp_fmpFHandle,
+ { "FMP File Handle", "fmp.fmpFHandle",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL,
+
+ HFILL }},
+ { &hf_fmp_nfsFHandle,
+ { "NFS File Handle", "fmp.nfsFHandle",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_fsID,
+ { "File System ID", "fmp.fsID",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_status,
+ { "Status", "fmp.status",
+ FT_UINT32, BASE_DEC, VALS(fmp_status_vals), 0,
+ "Reply Status", HFILL }},
+
+ { &hf_fmp_fsBlkSz,
+ { "FS Block Size", "fmp.fsBlkSz",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "File System Block Size", HFILL }},
+
+ { &hf_fmp_volHandle,
+ { "Volume Handle", "fmp.volHandle",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "FMP Volume Handle", HFILL }},
+
+ { &hf_fmp_dskSigEnt_val,
+ { "Celerra Signature", "fmp.dsi.ds.dsList.dskSigLst_val.dse.dskSigEnt_val",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_devSignature,
+ { "Signature DATA", "fmp.devSig",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_mount_path,
+ { "Native Protocol: PATH", "fmp.mount_path",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Absolute path from the root on the server side", HFILL }},
+
+ { &hf_fmp_sig_offset,
+ { "Sig Offset", "fmp.dsi.ds.sig_offset",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_numBlksReq,
+ { "Extent Length", "fmp.numBlksReq",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_minBlks,
+ { "Minimum Blocks to Grant", "fmp.minBlks",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_msgNum,
+ { "Message Number", "fmp.msgNum",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FMP Message Number", HFILL }},
+
+ { &hf_fmp_cookie,
+ { "Cookie", "fmp.cookie",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "Cookie for FMP_REQUEST_QUEUED Resp", HFILL }},
+
+ { &hf_fmp_fileSize,
+ { "File Size", "fmp.fileSize",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_extentList_len,
+ { "Extent List Length", "fmp.extentList_len",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FMP Extent List Length", HFILL }},
+
+ { &hf_fmp_extent_state,
+ { "Extent State", "fmp.extentState",
+ FT_UINT32,BASE_DEC, VALS(fmp_extentState_vals), 0,
+ "FMP Extent State", HFILL }},
+
+ { &hf_fmp_firstLogBlk,
+ { "firstLogBlk", "fmp.firstLogBlk",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "First Logical File Block", HFILL }},
+
+ { &hf_fmp_numBlks,
+ { "Number Blocks", "fmp.numBlks",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Number of Blocks", HFILL }},
+
+ { &hf_fmp_volID,
+ { "Volume ID inside DART", "fmp.volID",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "FMP Volume ID inside DART", HFILL }},
+
+ { &hf_fmp_startOffset,
+ { "Start Offset", "fmp.startOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FMP Start Offset", HFILL }},
+
+ { &hf_fmp_start_offset64,
+ { "Start offset", "fmp.start_offset64",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ "Start Offset of extentEx", HFILL }},
+
+ { &hf_fmp_eof,
+ { "EOF", "fmp.eof",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ "End Of File", HFILL }},
+
+ { &hf_fmp_plugInID,
+ { "Plug In Cmd ID", "fmp.plugInID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "Plug In Command ID", HFILL }},
+
+ { &hf_fmp_plugInBuf,
+ { "Plug In Args", "fmp.plugIn",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "FMP Plug In Arguments", HFILL }},
+
+ { &hf_fmp_os_major,
+ { "OS Major", "fmp.os_major",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FMP OS Major", HFILL }},
+
+ { &hf_fmp_os_minor,
+ { "OS Minor", "fmp.os_minor",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "FMP OS Minor", HFILL }},
+
+ { &hf_fmp_os_name,
+ { "OS Name", "fmp.os_name",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_path,
+ { "Mount Path", "fmp.Path",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_os_patch,
+ { "OS Path", "fmp.os_patch",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_os_build,
+ { "OS Build", "fmp.os_build",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_server_version_string,
+ { "Server Version String", "fmp.server_version_string",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_description,
+ { "Error Description", "fmp.description",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Client Error Description", HFILL }},
+
+ { &hf_fmp_nfsv3Attr_type,
+ { "Type", "fmp.nfsv3Attr_type",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NFSV3 Attr Type", HFILL }},
+
+ { &hf_fmp_nfsv3Attr_mode,
+ { "Mode", "fmp.nfsv3Attr_mod",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_nfsv3Attr_nlink,
+ { "nlink", "fmp.nfsv3Attr_nlink",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_nfsv3Attr_uid,
+ { "uid", "fmp.nfsv3Attr_uid",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_nfsv3Attr_gid,
+ { "gid", "fmp.nfsv3Attr_gid",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ /* for nfsv3Attr_size use hf_fmp_fileSize */
+ { &hf_fmp_nfsv3Attr_used,
+ { "Used", "fmp.nfsv3Attr_used",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_nfsv3Attr_rdev,
+ { "rdev", "fmp.nfsv3Attr_rdev",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_nfsv3Attr_fsid,
+ { "fsid", "fmp.nfsv3Attr_fsid",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_nfsv3Attr_fileid,
+ { "File ID", "fmp.nfsv3Attr_fileid",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ "fileid", HFILL }},
+
+ { &hf_fmp_cmd,
+ { "Command", "fmp.cmd",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_topVolumeId,
+ { "Top Volume ID", "fmp.topVolumeId",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_cursor,
+ { "number of volumes", "fmp.cursor",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_offset64,
+ { "offset", "fmp.offset64",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_slice_size,
+ { "size of the slice", "fmp.slice_size",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_volume,
+ { "Volume ID's", "fmp.volume",
+ FT_UINT32, BASE_HEX, NULL, 0,
+ "FMP Volume ID's", HFILL }},
+
+ { &hf_fmp_stripeSize,
+ { "size of the stripe", "fmp.stripeSize",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ { &hf_fmp_firstLogBlk64,
+ { "First Logical Block", "fmp.firstLogBlk64",
+ FT_UINT64, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+
+ };
+
+ static gint *ett[] = {
+ &ett_fmp,
+ &ett_fmp_timeval,
+ &ett_fmp_extList,
+ &ett_fmp_ext,
+ &ett_fmp_fileHandle,
+ &ett_capabilities,
+ &ett_HierVolumeDescription,
+ &ett_attrs
+ };
+
+ module_t *fmp_module;
+ proto_fmp = proto_register_protocol("File Mapping Protocol", "FMP", "fmp");
+
+ proto_register_field_array(proto_fmp, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ fmp_module=prefs_register_protocol(proto_fmp, NULL);
+
+ prefs_register_bool_preference(fmp_module, "fhandle_find_both_reqrep",
+ "Fhandle filters finds both request/response",
+ "With this option display filters for fmp fhandle a RPC call,"
+ " even if the actual fhandle is only present in one of the packets",
+ &fmp_fhandle_reqrep_matching);
}
void
proto_reg_handoff_fmp(void)
{
- /* Register the protocol as RPC */
- rpc_init_prog(proto_fmp, FMP_PROGRAM, ett_fmp);
+ /* Register the protocol as RPC */
+ rpc_init_prog(proto_fmp, FMP_PROGRAM, ett_fmp);
- /* Register the procedure tables */
- rpc_init_proc_table(FMP_PROGRAM, FMP_VERSION_3, fmp3_proc, hf_fmp_procedure);
+ /* Register the procedure tables */
+ rpc_init_proc_table(FMP_PROGRAM, FMP_VERSION_3, fmp3_proc, hf_fmp_procedure);
}