summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-11-18 00:26:11 +0000
committerLuke Leighton <lkcl@samba.org>1999-11-18 00:26:11 +0000
commitccc8585567804d6a7e6f684a97d58871e2fd9f8a (patch)
tree00bc58c6cd0870a53fc5fb98648054c3ad9013e4 /source3/include
parentcc8df5ce4955fc721e11ff08de052554894d963a (diff)
downloadsamba-ccc8585567804d6a7e6f684a97d58871e2fd9f8a.tar.gz
samba-ccc8585567804d6a7e6f684a97d58871e2fd9f8a.tar.bz2
samba-ccc8585567804d6a7e6f684a97d58871e2fd9f8a.zip
added regqueryval command (experimental) to get reg_io_q_info() and
reg_io_r_info() working properly. previously they weren't well understood (well, they were the first of the registry functions i did, back in december 97, ok??? :-) set ntversion to 0x1 in SAMQUERY, so that we reply same as NT4 srv. (This used to be commit 98ddeaf442cb30972cb281bf0489a6e5f7eb2883)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h10
-rw-r--r--source3/include/rpc_lsa.h2
-rw-r--r--source3/include/rpc_reg.h38
3 files changed, 25 insertions, 25 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index f9a83e4d94..b84b6ef26d 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1873,7 +1873,8 @@ BOOL do_reg_query_key(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd,
uint32 *sec_desc, NTTIME *mod_time);
BOOL do_reg_unknown_1a(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, uint32 *unk);
BOOL do_reg_query_info(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd,
- char *type, uint32 *unk_0, uint32 *unk_1);
+ const char* val_name,
+ char *type);
BOOL do_reg_set_key_sec(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd,
uint32 sec_buf_size, SEC_DESC *sec_buf);
BOOL do_reg_get_key_sec(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd,
@@ -2494,11 +2495,11 @@ BOOL make_reg_q_get_key_sec(REG_Q_GET_KEY_SEC *q_i, POLICY_HND *pol,
uint32 buf_len, SEC_DESC_BUF *sec_buf);
BOOL reg_io_q_get_key_sec(char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth);
BOOL reg_io_r_get_key_sec(char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth);
-BOOL make_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char *product_type,
- time_t unix_time, uint8 major, uint8 minor);
+BOOL make_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, const char *val_name,
+ uint8 major, uint8 minor);
BOOL reg_io_q_info(char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth);
BOOL make_reg_r_info(REG_R_INFO *r_r,
- uint32 level, char *os_type,
+ uint32 type, char *buf,
uint32 status);
BOOL reg_io_r_info(char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth);
BOOL make_reg_q_enum_val(REG_Q_ENUM_VALUE *q_i, POLICY_HND *pol,
@@ -3403,6 +3404,7 @@ BOOL msrpc_reg_enum_key(struct cli_state *cli, const char* full_keyname,
REG_KEY_FN(reg_key_fn),
REG_VAL_FN(reg_val_fn));
void cmd_reg_enum(struct client_info *info);
+void cmd_reg_query_info(struct client_info *info);
void cmd_reg_query_key(struct client_info *info);
void cmd_reg_create_val(struct client_info *info);
void cmd_reg_delete_val(struct client_info *info);
diff --git a/source3/include/rpc_lsa.h b/source3/include/rpc_lsa.h
index 7c27df0238..f4d36fef9c 100644
--- a/source3/include/rpc_lsa.h
+++ b/source3/include/rpc_lsa.h
@@ -132,7 +132,7 @@ typedef struct lsa_r_open_pol2_info
typedef struct lsa_query_info
{
POLICY_HND pol; /* policy handle */
- uint16 info_class; /* info class */
+ uint16 info_class; /* info class */
} LSA_Q_QUERY_INFO;
diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h
index f74856193d..b00b7a5a90 100644
--- a/source3/include/rpc_reg.h
+++ b/source3/include/rpc_reg.h
@@ -421,39 +421,37 @@ typedef struct q_reg_info_info
{
POLICY_HND pol; /* policy handle */
- UNIHDR hdr_type; /* unicode product type header */
- UNISTR2 uni_type; /* unicode product type - "ProductType" */
+ UNIHDR hdr_val; /* unicode product type header */
+ UNISTR2 uni_val; /* unicode product type - "ProductType" */
- uint32 ptr1; /* pointer */
- NTTIME time; /* current time? */
- uint8 major_version1; /* 0x4 - os major version? */
- uint8 minor_version1; /* 0x1 - os minor version? */
- uint8 pad1[10]; /* padding - zeros */
+ uint32 ptr_type; /* pointer */
+ uint32 type; /* type of buffer */
- uint32 ptr2; /* pointer */
- uint8 major_version2; /* 0x4 - os major version? */
- uint8 minor_version2; /* 0x1 - os minor version? */
- uint8 pad2[2]; /* padding - zeros */
+ uint32 ptr_uni_type; /* pointer to o/s type */
+ BUFFER2 uni_type; /* unicode string o/s type - "LanmanNT" */
- uint32 ptr3; /* pointer */
- uint32 unknown; /* 0x0000 0000 */
+ uint32 ptr_max_len; /* pointer to unknown_0 */
+ uint32 buf_max_len; /* 0x12 */
+
+ uint32 ptr_len; /* pointer to unknown_1 */
+ uint32 buf_len; /* 0x12 */
} REG_Q_INFO;
/* REG_R_INFO */
typedef struct r_reg_info_info
{
- uint32 ptr1; /* buffer pointer */
- uint32 level; /* 0x1 - info level? */
+ uint32 ptr_type; /* buffer pointer */
+ uint32 type; /* 0x1 - info level? */
- uint32 ptr_type; /* pointer to o/s type */
+ uint32 ptr_uni_type; /* pointer to o/s type */
BUFFER2 uni_type; /* unicode string o/s type - "LanmanNT" */
- uint32 ptr2; /* pointer to unknown_0 */
- uint32 unknown_0; /* 0x12 */
+ uint32 ptr_max_len; /* pointer to unknown_0 */
+ uint32 buf_max_len; /* 0x12 */
- uint32 ptr3; /* pointer to unknown_1 */
- uint32 unknown_1; /* 0x12 */
+ uint32 ptr_len; /* pointer to unknown_1 */
+ uint32 buf_len; /* 0x12 */
uint32 status; /* return status */