summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-11-11 00:57:13 +0000
committerLuke Leighton <lkcl@samba.org>1998-11-11 00:57:13 +0000
commit58cbefdaafcf8dc9389235928eadd17863130bd4 (patch)
tree49afa8f35e39cb2500e69141527e7ada479f30dc /source3/include
parentedf630c85ea6a1d4bfa74427190e27c3a97085ea (diff)
downloadsamba-58cbefdaafcf8dc9389235928eadd17863130bd4.tar.gz
samba-58cbefdaafcf8dc9389235928eadd17863130bd4.tar.bz2
samba-58cbefdaafcf8dc9389235928eadd17863130bd4.zip
registry delete value command: "regdeleteval".
this is just so unbelievably simple to do... (This used to be commit c05254a15076711d382a58b85b5f08bf81cb1560)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h6
-rw-r--r--source3/include/rpc_reg.h21
2 files changed, 26 insertions, 1 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index e16f79028c..05dbf3e610 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1314,6 +1314,7 @@ BOOL do_reg_query_info(struct cli_state *cli, POLICY_HND *hnd,
char *type, uint32 *unk_0, uint32 *unk_1);
BOOL do_reg_get_key_sec(struct cli_state *cli, POLICY_HND *hnd,
uint32 *sec_buf_size, SEC_DESC_BUF *sec_buf);
+BOOL do_reg_delete_val(struct cli_state *cli, POLICY_HND *hnd, char *val_name);
BOOL do_reg_delete_key(struct cli_state *cli, POLICY_HND *hnd, char *key_name);
BOOL do_reg_create_key(struct cli_state *cli, POLICY_HND *hnd,
char *key_name, char *key_class,
@@ -1624,6 +1625,10 @@ void make_reg_q_create_key(REG_Q_CREATE_KEY *q_c, POLICY_HND *hnd,
SEC_INFO *sam_access);
void reg_io_q_create_key(char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth);
void reg_io_r_create_key(char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth);
+void make_reg_q_delete_val(REG_Q_DELETE_VALUE *q_c, POLICY_HND *hnd,
+ char *name);
+void reg_io_q_delete_val(char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, int depth);
+void reg_io_r_delete_val(char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, int depth);
void make_reg_q_delete_key(REG_Q_DELETE_KEY *q_c, POLICY_HND *hnd,
char *name);
void reg_io_q_delete_key(char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int depth);
@@ -2092,6 +2097,7 @@ void cmd_reg_enum(struct client_info *info);
void cmd_reg_query_key(struct client_info *info);
void cmd_reg_test2(struct client_info *info);
void cmd_reg_create_val(struct client_info *info);
+void cmd_reg_delete_val(struct client_info *info);
void cmd_reg_delete_key(struct client_info *info);
void cmd_reg_create_key(struct client_info *info);
void cmd_reg_get_key_sec(struct client_info *info);
diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h
index 1a64866f03..9166134c27 100644
--- a/source3/include/rpc_reg.h
+++ b/source3/include/rpc_reg.h
@@ -34,6 +34,7 @@
#define REG_ENUM_KEY 0x09
#define REG_CREATE_KEY 0x06
#define REG_DELETE_KEY 0x07
+#define REG_DELETE_VALUE 0x08
#define REG_CREATE_VALUE 0x16
#define REG_GET_KEY_SEC 0x0c
#define REG_ENUM_VALUE 0x0a
@@ -245,12 +246,30 @@ typedef struct q_reg_delete_key_info
typedef struct r_reg_delete_key_info
{
POLICY_HND key_pol; /* policy handle */
- uint32 unknown; /* 0x0000 0000 */
uint32 status; /* return status */
} REG_R_DELETE_KEY;
+/* REG_Q_DELETE_VALUE */
+typedef struct q_reg_delete_val_info
+{
+ POLICY_HND pnt_pol; /* parent key policy handle */
+
+ UNIHDR hdr_name;
+ UNISTR2 uni_name;
+
+} REG_Q_DELETE_VALUE;
+
+/* REG_R_DELETE_VALUE */
+typedef struct r_reg_delete_val_info
+{
+ POLICY_HND key_pol; /* policy handle */
+
+ uint32 status; /* return status */
+
+} REG_R_DELETE_VALUE;
+
/* REG_Q_QUERY_KEY */
typedef struct q_reg_query_info
{