summaryrefslogtreecommitdiffstats
path: root/source/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
commitc05254a15076711d382a58b85b5f08bf81cb1560 (patch)
tree35b2c86ec4bfb28a6194ad81cce3fdfd2badf93e /source/include
parentddfdb6534671a0e9bbbefe555a92925d41abaddf (diff)
downloadsamba-c05254a15076711d382a58b85b5f08bf81cb1560.tar.gz
samba-c05254a15076711d382a58b85b5f08bf81cb1560.tar.xz
samba-c05254a15076711d382a58b85b5f08bf81cb1560.zip
registry delete value command: "regdeleteval".
this is just so unbelievably simple to do...
Diffstat (limited to 'source/include')
-rw-r--r--source/include/proto.h6
-rw-r--r--source/include/rpc_reg.h21
2 files changed, 26 insertions, 1 deletions
diff --git a/source/include/proto.h b/source/include/proto.h
index e16f79028c4..05dbf3e6109 100644
--- a/source/include/proto.h
+++ b/source/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/source/include/rpc_reg.h b/source/include/rpc_reg.h
index 1a64866f037..9166134c274 100644
--- a/source/include/rpc_reg.h
+++ b/source/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
{