added delete domain group and local group and delete domain group member.
authorLuke Leighton <lkcl@samba.org>
Fri, 4 Dec 1998 23:06:27 +0000 (23:06 +0000)
committerLuke Leighton <lkcl@samba.org>
Fri, 4 Dec 1998 23:06:27 +0000 (23:06 +0000)
source/include/proto.h
source/include/rpc_samr.h
source/rpc_parse/parse_samr.c

index 72effa03c575a0cf857f216e8e19d4eeb1477f49..647e8fdff99f3f078ce7181564adc0a25a085081 100644 (file)
@@ -2119,6 +2119,18 @@ void samr_io_q_create_dom_group(char *desc,  SAMR_Q_CREATE_DOM_GROUP *q_e, prs_s
 void make_samr_r_create_dom_group(SAMR_R_CREATE_DOM_GROUP *r_u, POLICY_HND *pol,
                uint32 rid, uint32 status);
 void samr_io_r_create_dom_group(char *desc,  SAMR_R_CREATE_DOM_GROUP *r_u, prs_struct *ps, int depth);
+void make_samr_q_delete_dom_group(SAMR_Q_DELETE_DOM_GROUP *q_c, POLICY_HND *hnd);
+void samr_io_q_delete_dom_group(char *desc,  SAMR_Q_DELETE_DOM_GROUP *q_u, prs_struct *ps, int depth);
+void make_samr_r_delete_dom_group(SAMR_R_DELETE_DOM_GROUP *r_u,
+               uint32 status);
+void samr_io_r_delete_dom_group(char *desc,  SAMR_R_DELETE_DOM_GROUP *r_u, prs_struct *ps, int depth);
+void make_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM *q_e,
+                               POLICY_HND *pol,
+                               uint32 rid);
+void samr_io_q_del_groupmem(char *desc,  SAMR_Q_DEL_GROUPMEM *q_e, prs_struct *ps, int depth);
+void make_samr_r_del_groupmem(SAMR_R_DEL_GROUPMEM *r_u, POLICY_HND *pol,
+               uint32 status);
+void samr_io_r_del_groupmem(char *desc,  SAMR_R_DEL_GROUPMEM *r_u, prs_struct *ps, int depth);
 void make_samr_q_add_groupmem(SAMR_Q_ADD_GROUPMEM *q_e,
                                POLICY_HND *pol,
                                uint32 rid);
@@ -2212,6 +2224,11 @@ void make_samr_q_del_aliasmem(SAMR_Q_DEL_ALIASMEM *q_u, POLICY_HND *hnd,
                                DOM_SID *sid);
 void samr_io_q_del_aliasmem(char *desc,  SAMR_Q_DEL_ALIASMEM *q_u, prs_struct *ps, int depth);
 void samr_io_r_del_aliasmem(char *desc,  SAMR_R_DEL_ALIASMEM *r_u, prs_struct *ps, int depth);
+void make_samr_q_delete_dom_alias(SAMR_Q_DELETE_DOM_ALIAS *q_c, POLICY_HND *hnd);
+void samr_io_q_delete_dom_alias(char *desc,  SAMR_Q_DELETE_DOM_ALIAS *q_u, prs_struct *ps, int depth);
+void make_samr_r_delete_dom_alias(SAMR_R_DELETE_DOM_ALIAS *r_u,
+               uint32 status);
+void samr_io_r_delete_dom_alias(char *desc,  SAMR_R_DELETE_DOM_ALIAS *r_u, prs_struct *ps, int depth);
 void make_samr_q_query_aliasmem(SAMR_Q_QUERY_ALIASMEM *q_c, POLICY_HND *hnd);
 void samr_io_q_query_aliasmem(char *desc,  SAMR_Q_QUERY_ALIASMEM *q_u, prs_struct *ps, int depth);
 void make_samr_r_query_aliasmem(SAMR_R_QUERY_ALIASMEM *r_u,
index 620532a012928956e33bdd07bb2dd95cd8764688..c35761ffeba70fb967ae01450fa916056843e5fe 100644 (file)
@@ -98,6 +98,8 @@ SamrTestPrivateFunctionsUser
 #define SAMR_QUERY_GROUPINFO   0x14
 #define SAMR_SET_GROUPINFO     0x15
 #define SAMR_ADD_GROUPMEM      0x16
+#define SAMR_DELETE_DOM_GROUP  0x17
+#define SAMR_DEL_GROUPMEM      0x18
 #define SAMR_QUERY_GROUPMEM    0x19
 
 #define SAMR_OPEN_ALIAS        0x1b
@@ -694,6 +696,23 @@ typedef struct r_samr_query_dispinfo_info
 } SAMR_R_QUERY_DISPINFO;
 
 
+/* SAMR_Q_DELETE_DOM_GROUP - delete domain group */
+typedef struct q_samr_delete_dom_group_info
+{
+    POLICY_HND group_pol;          /* policy handle */
+
+} SAMR_Q_DELETE_DOM_GROUP;
+
+
+/* SAMR_R_DELETE_DOM_GROUP - delete domain group */
+typedef struct r_samr_delete_dom_group_info
+{
+       POLICY_HND pol;       /* policy handle */
+       uint32 status;        /* return status */
+
+} SAMR_R_DELETE_DOM_GROUP;
+
+
 /* SAMR_Q_CREATE_DOM_GROUP - SAM create group */
 typedef struct q_samr_create_dom_group_info
 {
@@ -1130,6 +1149,24 @@ typedef struct r_samr_query_groupmem_info
 } SAMR_R_QUERY_GROUPMEM;
 
 
+/* SAMR_Q_DEL_GROUPMEM - probably an del group member */
+typedef struct q_samr_del_group_mem_info
+{
+       POLICY_HND pol;       /* policy handle */
+
+       uint32 rid;         /* rid */
+
+} SAMR_Q_DEL_GROUPMEM;
+
+
+/* SAMR_R_DEL_GROUPMEM - probably an del group member */
+typedef struct r_samr_del_group_mem_info
+{
+       uint32 status;         /* return status */
+
+} SAMR_R_DEL_GROUPMEM;
+
+
 /* SAMR_Q_ADD_GROUPMEM - probably an add group member */
 typedef struct q_samr_add_group_mem_info
 {
index ac849a89874ae6c3390543f78f064617a8718d67..5460d4773b2c4675ceb0fd671f114205f3bdb861 100644 (file)
@@ -1480,6 +1480,128 @@ void samr_io_r_create_dom_group(char *desc,  SAMR_R_CREATE_DOM_GROUP *r_u, prs_s
        prs_uint32("status", ps, depth, &(r_u->status));
 }
 
+/*******************************************************************
+makes a SAMR_Q_DELETE_DOM_GROUP structure.
+********************************************************************/
+void make_samr_q_delete_dom_group(SAMR_Q_DELETE_DOM_GROUP *q_c, POLICY_HND *hnd)
+{
+       if (q_c == NULL || hnd == NULL) return;
+
+       DEBUG(5,("make_samr_q_delete_dom_group\n"));
+
+       memcpy(&(q_c->group_pol), hnd, sizeof(q_c->group_pol));
+}
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+void samr_io_q_delete_dom_group(char *desc,  SAMR_Q_DELETE_DOM_GROUP *q_u, prs_struct *ps, int depth)
+{
+       if (q_u == NULL) return;
+
+       prs_debug(ps, depth, desc, "samr_io_q_delete_dom_group");
+       depth++;
+
+       prs_align(ps);
+
+       smb_io_pol_hnd("group_pol", &(q_u->group_pol), ps, depth); 
+}
+
+/*******************************************************************
+makes a SAMR_R_DELETE_DOM_GROUP structure.
+********************************************************************/
+void make_samr_r_delete_dom_group(SAMR_R_DELETE_DOM_GROUP *r_u,
+               uint32 status)
+{
+       if (r_u == NULL) return;
+
+       DEBUG(5,("make_samr_r_delete_dom_group\n"));
+
+       r_u->status = status;
+}
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+void samr_io_r_delete_dom_group(char *desc,  SAMR_R_DELETE_DOM_GROUP *r_u, prs_struct *ps, int depth)
+{
+       if (r_u == NULL) return;
+
+       prs_debug(ps, depth, desc, "samr_io_r_delete_dom_group");
+       depth++;
+
+       prs_align(ps);
+
+       prs_uint32("status", ps, depth, &(r_u->status));
+}
+
+
+
+/*******************************************************************
+makes a SAMR_Q_DEL_GROUPMEM structure.
+********************************************************************/
+void make_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM *q_e,
+                               POLICY_HND *pol,
+                               uint32 rid)
+{
+       if (q_e == NULL || pol == NULL) return;
+
+       DEBUG(5,("make_samr_q_del_groupmem\n"));
+
+       memcpy(&(q_e->pol), pol, sizeof(*pol));
+
+       q_e->rid = rid;
+}
+
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+void samr_io_q_del_groupmem(char *desc,  SAMR_Q_DEL_GROUPMEM *q_e, prs_struct *ps, int depth)
+{
+       if (q_e == NULL) return;
+
+       prs_debug(ps, depth, desc, "samr_io_q_del_groupmem");
+       depth++;
+
+       prs_align(ps);
+
+       smb_io_pol_hnd("pol", &(q_e->pol), ps, depth); 
+       prs_align(ps);
+
+       prs_uint32("rid    ", ps, depth, &(q_e->rid));
+}
+
+
+/*******************************************************************
+makes a SAMR_R_DEL_GROUPMEM structure.
+********************************************************************/
+void make_samr_r_del_groupmem(SAMR_R_DEL_GROUPMEM *r_u, POLICY_HND *pol,
+               uint32 status)
+{
+       if (r_u == NULL) return;
+
+       DEBUG(5,("make_samr_r_del_groupmem\n"));
+
+       r_u->status = status;
+}
+
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+void samr_io_r_del_groupmem(char *desc,  SAMR_R_DEL_GROUPMEM *r_u, prs_struct *ps, int depth)
+{
+       if (r_u == NULL) return;
+
+       prs_debug(ps, depth, desc, "samr_io_r_del_groupmem");
+       depth++;
+
+       prs_align(ps);
+
+       prs_uint32("status", ps, depth, &(r_u->status));
+}
+
 
 /*******************************************************************
 makes a SAMR_Q_ADD_GROUPMEM structure.
@@ -2806,7 +2928,7 @@ void samr_io_r_create_dom_alias(char *desc,  SAMR_R_CREATE_DOM_ALIAS *r_u, prs_s
        prs_uint32("rid", ps, depth, &(r_u->rid));
 
        prs_uint32("status", ps, depth, &(r_u->status));
-       }
+}
 
 
 
@@ -2903,6 +3025,62 @@ void samr_io_r_del_aliasmem(char *desc,  SAMR_R_DEL_ALIASMEM *r_u, prs_struct *p
        prs_uint32("status", ps, depth, &(r_u->status));
 }
 
+/*******************************************************************
+makes a SAMR_Q_DELETE_DOM_ALIAS structure.
+********************************************************************/
+void make_samr_q_delete_dom_alias(SAMR_Q_DELETE_DOM_ALIAS *q_c, POLICY_HND *hnd)
+{
+       if (q_c == NULL || hnd == NULL) return;
+
+       DEBUG(5,("make_samr_q_delete_dom_alias\n"));
+
+       memcpy(&(q_c->alias_pol), hnd, sizeof(q_c->alias_pol));
+}
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+void samr_io_q_delete_dom_alias(char *desc,  SAMR_Q_DELETE_DOM_ALIAS *q_u, prs_struct *ps, int depth)
+{
+       if (q_u == NULL) return;
+
+       prs_debug(ps, depth, desc, "samr_io_q_delete_dom_alias");
+       depth++;
+
+       prs_align(ps);
+
+       smb_io_pol_hnd("alias_pol", &(q_u->alias_pol), ps, depth); 
+}
+
+/*******************************************************************
+makes a SAMR_R_DELETE_DOM_ALIAS structure.
+********************************************************************/
+void make_samr_r_delete_dom_alias(SAMR_R_DELETE_DOM_ALIAS *r_u,
+               uint32 status)
+{
+       if (r_u == NULL) return;
+
+       DEBUG(5,("make_samr_r_delete_dom_alias\n"));
+
+       r_u->status = status;
+}
+
+/*******************************************************************
+reads or writes a structure.
+********************************************************************/
+void samr_io_r_delete_dom_alias(char *desc,  SAMR_R_DELETE_DOM_ALIAS *r_u, prs_struct *ps, int depth)
+{
+       if (r_u == NULL) return;
+
+       prs_debug(ps, depth, desc, "samr_io_r_delete_dom_alias");
+       depth++;
+
+       prs_align(ps);
+
+       prs_uint32("status", ps, depth, &(r_u->status));
+}
+
+
 /*******************************************************************
 makes a SAMR_Q_QUERY_ALIASMEM structure.
 ********************************************************************/