Re-add samr getdispinfoindex parsing which got lost in the glue commit.
authorGünther Deschner <gd@samba.org>
Fri, 16 May 2008 12:14:55 +0000 (14:14 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 16 May 2008 12:23:51 +0000 (14:23 +0200)
Guenther

source/include/rpc_samr.h
source/rpc_parse/parse_samr.c

index a7a9660c7ff0cfe396008dae70b6a6cabf5bb7a3..1df0bee541abfbe154969ed82e884b7e07a5e8f0 100644 (file)
@@ -130,7 +130,7 @@ SamrTestPrivateFunctionsUser
 #define SAMR_UNKNOWN_2f        0x2f
 #define SAMR_QUERY_DISPINFO3   0x30 /* Alias for SAMR_QUERY_DISPINFO
                                       with info level 3 */
-#define SAMR_UNKNOWN_31        0x31
+#define SAMR_GET_DISPENUM_INDEX2 0x31
 #define SAMR_CREATE_USER       0x32
 #define SAMR_QUERY_DISPINFO4   0x33 /* Alias for SAMR_QUERY_DISPINFO
                                       with info level 4 */
index c9a6ee3cc320beb53a18014d3b541387816a0028..f0130cd81f14b1a57123f54f1485a20e3f27c78d 100644 (file)
@@ -2172,6 +2172,76 @@ BOOL samr_io_r_query_dispinfo(const char *desc, SAMR_R_QUERY_DISPINFO * r_u,
        return True;
 }
 
+/*******************************************************************
+inits a SAMR_Q_GET_DISPENUM_INDEX structure.
+********************************************************************/
+
+void init_samr_q_get_dispenum_index(SAMR_Q_GET_DISPENUM_INDEX * q_e, POLICY_HND *pol,
+                                   uint16 switch_level, const char *name)
+{
+       DEBUG(5, ("init_samr_q_get_dispenum_index\n"));
+
+       q_e->domain_pol = *pol;
+
+       q_e->switch_level = switch_level;
+
+       init_lsa_string(&q_e->name, name);
+}
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+
+BOOL samr_io_q_get_dispenum_index(const char *desc, SAMR_Q_GET_DISPENUM_INDEX * q_e,
+                                 prs_struct *ps, int depth)
+{
+       if (q_e == NULL)
+               return False;
+
+       prs_debug(ps, depth, desc, "samr_io_q_get_dispenum_index");
+       depth++;
+
+       if(!prs_align(ps))
+               return False;
+
+       if(!smb_io_pol_hnd("domain_pol", &q_e->domain_pol, ps, depth))
+               return False;
+
+       if(!prs_uint16("switch_level", ps, depth, &q_e->switch_level))
+               return False;
+
+       if (!smb_io_lsa_string("name", &q_e->name, ps, depth))
+               return False;
+
+       return True;
+}
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+
+BOOL samr_io_r_get_dispenum_index(const char *desc, SAMR_R_GET_DISPENUM_INDEX * r_u,
+                                 prs_struct *ps, int depth)
+{
+       if (r_u == NULL)
+               return False;
+
+       prs_debug(ps, depth, desc, "samr_io_r_get_dispenum_index");
+       depth++;
+
+       if(!prs_align(ps))
+               return False;
+
+       if(!prs_uint32("idx", ps, depth, &r_u->idx))
+               return False;
+       
+       if(!prs_ntstatus("status", ps, depth, &r_u->status))
+               return False;
+
+       return True;
+}
+
+
 /*******************************************************************
 inits a SAMR_Q_OPEN_GROUP structure.
 ********************************************************************/
@@ -2187,6 +2257,17 @@ void init_samr_q_open_group(SAMR_Q_OPEN_GROUP * q_c,
        q_c->rid_group = rid;
 }
 
+/*******************************************************************
+inits a SAMR_R_GET_DISPENUM_INDEX structure.
+********************************************************************/
+
+void init_samr_r_get_dispenum_index(SAMR_R_GET_DISPENUM_INDEX * q_e, uint32 idx)
+{
+       DEBUG(5, ("init_samr_r_get_dispenum_index\n"));
+
+       q_e->idx = idx;
+}
+
 /*******************************************************************
 reads or writes a structure.
 ********************************************************************/