diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 6 | ||||
-rw-r--r-- | source3/include/rpc_reg.h | 21 |
2 files changed, 27 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 5a17ec2181..97c5156cc9 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1311,6 +1311,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_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, SEC_INFO *sam_access, @@ -1620,6 +1621,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_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); +void reg_io_r_delete_key(char *desc, REG_R_DELETE_KEY *r_r, prs_struct *ps, int depth); void make_reg_q_query_key(REG_Q_QUERY_KEY *q_o, POLICY_HND *hnd, uint32 max_class_len); void reg_io_q_query_key(char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int depth); @@ -2084,6 +2089,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_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 475661e833..33b7b72a25 100644 --- a/source3/include/rpc_reg.h +++ b/source3/include/rpc_reg.h @@ -33,6 +33,7 @@ #define REG_QUERY_KEY 0x10 #define REG_ENUM_KEY 0x09 #define REG_CREATE_KEY 0x06 +#define REG_DELETE_KEY 0x07 #define REG_CREATE_VALUE 0x16 #define REG_GET_KEY_SEC 0x0c #define REG_ENUM_VALUE 0x0a @@ -211,6 +212,7 @@ typedef struct q_reg_create_key_info BUFFER2 buf_unk; /* 01 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 */ uint32 unknown_2; /* 0x0000 0000 */ + } REG_Q_CREATE_KEY; /* REG_R_CREATE_KEY */ @@ -223,6 +225,25 @@ typedef struct r_reg_create_key_info } REG_R_CREATE_KEY; +/* REG_Q_DELETE_KEY */ +typedef struct q_reg_delete_key_info +{ + POLICY_HND pnt_pol; /* parent key policy handle */ + + UNIHDR hdr_name; + UNISTR2 uni_name; +} REG_Q_DELETE_KEY; + +/* REG_R_DELETE_KEY */ +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_QUERY_KEY */ typedef struct q_reg_query_info { |