diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 8 | ||||
-rw-r--r-- | source3/include/rpc_reg.h | 32 |
2 files changed, 34 insertions, 6 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index e83e0320de..74d81ad7f1 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1816,6 +1816,8 @@ void cli_nt_session_close(struct cli_state *cli, uint16 nt_pipe_fnum); BOOL do_reg_connect(struct cli_state *cli, uint16 fnum, char *full_keyname, char *key_name, POLICY_HND *reg_hnd); +BOOL do_reg_open_hkcr(struct cli_state *cli, uint16 fnum, uint16 unknown_0, uint32 level, + POLICY_HND *hnd); BOOL do_reg_open_hklm(struct cli_state *cli, uint16 fnum, uint16 unknown_0, uint32 level, POLICY_HND *hnd); BOOL do_reg_open_hku(struct cli_state *cli, uint16 fnum, uint16 unknown_0, uint32 level, @@ -2334,6 +2336,10 @@ BOOL _prs_uint32_post(char *name, prs_struct *ps, int depth, uint32 *data32, /*The following definitions come from rpc_parse/parse_reg.c */ +BOOL make_reg_q_open_hkcr(REG_Q_OPEN_HKCR *q_o, + uint16 unknown_0, uint32 level); +BOOL reg_io_q_open_hkcr(char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int depth); +BOOL reg_io_r_open_hkcr(char *desc, REG_R_OPEN_HKCR *r_r, prs_struct *ps, int depth); BOOL make_reg_q_open_hklm(REG_Q_OPEN_HKLM *q_o, uint16 unknown_0, uint32 level); BOOL reg_io_q_open_hklm(char *desc, REG_Q_OPEN_HKLM *r_q, prs_struct *ps, int depth); @@ -3245,7 +3251,7 @@ BOOL sam_query_groupmem(struct cli_state *cli, uint16 fnum, uint32 msrpc_sam_enum_groups(struct client_info *info, struct acct_info **sam, uint32 *num_sam_entries, - BOOL request_member_info, + void(*grp_mem_fn)(uint32, char*, uint32, uint32*, char**, uint32*), BOOL request_group_info); void cmd_sam_enum_groups(struct client_info *info); diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h index cc163540d7..f74856193d 100644 --- a/source3/include/rpc_reg.h +++ b/source3/include/rpc_reg.h @@ -26,6 +26,7 @@ /* winreg pipe defines */ +#define REG_OPEN_HKCR 0x00 #define REG_OPEN_HKLM 0x02 #define REG_OPEN_HKU 0x04 #define REG_FLUSH_KEY 0x0B @@ -44,11 +45,32 @@ #define REG_CLOSE 0x05 #define REG_SHUTDOWN 0x18 -#define HKEY_LOCAL_MACHINE 0x80000000 +#define HKEY_CLASSES_ROOT 0x80000000 +#define HKEY_CURRENT_USER 0x80000001 +#define HKEY_LOCAL_MACHINE 0x80000002 #define HKEY_USERS 0x80000003 +/* REG_Q_OPEN_HKCR */ +typedef struct q_reg_open_hkcr_info +{ + uint32 ptr; + uint16 unknown_0; /* 0x5428 - 16 bit unknown */ + uint16 unknown_1; /* random. changes */ + uint32 level; /* 0x0200 0000 */ + +} REG_Q_OPEN_HKCR; + +/* REG_R_OPEN_HKCR */ +typedef struct r_reg_open_hkcr_info +{ + POLICY_HND pol; /* policy handle */ + uint32 status; /* return status */ + +} REG_R_OPEN_HKCR; + + /* REG_Q_OPEN_HKLM */ -typedef struct q_reg_open_policy_info +typedef struct q_reg_open_hklm_info { uint32 ptr; uint16 unknown_0; /* 0xE084 - 16 bit unknown */ @@ -58,7 +80,7 @@ typedef struct q_reg_open_policy_info } REG_Q_OPEN_HKLM ; /* REG_R_OPEN_HKLM */ -typedef struct r_reg_open_policy_info +typedef struct r_reg_open_hklm_info { POLICY_HND pol; /* policy handle */ uint32 status; /* return status */ @@ -67,7 +89,7 @@ typedef struct r_reg_open_policy_info /* REG_Q_OPEN_HKU */ -typedef struct q_reg_open_unk4_info +typedef struct q_reg_open_hku_info { uint32 ptr; uint16 unknown_0; /* 0xE084 - 16 bit unknown */ @@ -77,7 +99,7 @@ typedef struct q_reg_open_unk4_info } REG_Q_OPEN_HKU; /* REG_R_OPEN_HKU */ -typedef struct r_reg_open_unk4_info +typedef struct r_reg_open_hku_info { POLICY_HND pol; /* policy handle */ uint32 status; /* return status */ |