/* packet-yppasswd.c
* Routines for yppasswd dissection
*
- * $Id: packet-yppasswd.c,v 1.6 2002/04/03 13:24:13 girlich Exp $
+ * $Id: packet-yppasswd.c,v 1.10 2002/11/01 00:48:39 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
#include "packet-rpc.h"
#include "packet-yppasswd.h"
static int proto_yppasswd = -1;
+static int hf_yppasswd_procedure_v1 = -1;
static int hf_yppasswd_status = -1;
static int hf_yppasswd_oldpass = -1;
static int hf_yppasswd_newpw = -1;
proto_item *lock_item = NULL;
proto_tree *lock_tree = NULL;
- offset = dissect_rpc_string(tvb, tree, hf_yppasswd_oldpass,
+ offset = dissect_rpc_string(tvb, tree, hf_yppasswd_oldpass,
offset, NULL);
lock_item = proto_tree_add_item(tree, hf_yppasswd_newpw, tvb,
lock_tree = proto_item_add_subtree(lock_item, ett_yppasswd_newpw);
- offset = dissect_rpc_string(tvb, lock_tree,
+ offset = dissect_rpc_string(tvb, lock_tree,
hf_yppasswd_newpw_name, offset, NULL);
- offset = dissect_rpc_string(tvb, lock_tree,
+ offset = dissect_rpc_string(tvb, lock_tree,
hf_yppasswd_newpw_passwd, offset, NULL);
- offset = dissect_rpc_uint32(tvb, lock_tree,
+ offset = dissect_rpc_uint32(tvb, lock_tree,
hf_yppasswd_newpw_uid, offset);
- offset = dissect_rpc_uint32(tvb, lock_tree,
+ offset = dissect_rpc_uint32(tvb, lock_tree,
hf_yppasswd_newpw_gid, offset);
- offset = dissect_rpc_string(tvb, lock_tree,
+ offset = dissect_rpc_string(tvb, lock_tree,
hf_yppasswd_newpw_gecos, offset, NULL);
- offset = dissect_rpc_string(tvb, lock_tree,
+ offset = dissect_rpc_string(tvb, lock_tree,
hf_yppasswd_newpw_dir, offset, NULL);
- offset = dissect_rpc_string(tvb, lock_tree,
+ offset = dissect_rpc_string(tvb, lock_tree,
hf_yppasswd_newpw_shell, offset, NULL);
return offset;
/* proc number, "proc name", dissect_request, dissect_reply */
/* NULL as function pointer means: type of arguments is "void". */
static const vsff yppasswd1_proc[] = {
+ { YPPASSWDPROC_NULL, "NULL",
+ NULL, NULL },
{ YPPASSWDPROC_UPDATE, "UPDATE",
dissect_yppasswd_call, dissect_yppasswd_reply },
{ 0, NULL, NULL, NULL }
};
+static const value_string yppasswd1_proc_vals[] = {
+ { YPPASSWDPROC_NULL, "NULL" },
+ { YPPASSWDPROC_UPDATE, "UPDATE" },
+ { 0, NULL }
+};
void
proto_register_yppasswd(void)
{
static hf_register_info hf[] = {
+ { &hf_yppasswd_procedure_v1, {
+ "V1 Procedure", "yppasswd.procedure_v1", FT_UINT32, BASE_DEC,
+ VALS(yppasswd1_proc_vals), 0, "V1 Procedure", HFILL }},
{ &hf_yppasswd_status, {
"status", "yppasswd.status", FT_UINT32, BASE_DEC,
NULL, 0, "YPPasswd update status", HFILL }},
/* Register the protocol as RPC */
rpc_init_prog(proto_yppasswd, YPPASSWD_PROGRAM, ett_yppasswd);
/* Register the procedure tables */
- rpc_init_proc_table(YPPASSWD_PROGRAM, 1, yppasswd1_proc);
+ rpc_init_proc_table(YPPASSWD_PROGRAM, 1, yppasswd1_proc, hf_yppasswd_procedure_v1);
}