From 58cbefdaafcf8dc9389235928eadd17863130bd4 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Wed, 11 Nov 1998 00:57:13 +0000 Subject: registry delete value command: "regdeleteval". this is just so unbelievably simple to do... (This used to be commit c05254a15076711d382a58b85b5f08bf81cb1560) --- source3/include/proto.h | 6 ++++++ source3/include/rpc_reg.h | 21 ++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'source3/include') 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 { -- cgit