summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2000-05-15 20:53:08 +0000
committerJeremy Allison <jra@samba.org>2000-05-15 20:53:08 +0000
commitad9a3a16e000e25693508e0b2eac280f7593d095 (patch)
tree4b9f0fb76c131b34d28c62fb44b8c80cb150f7e2 /source3/include
parent4fb2e2c72f25a1204bf764504c370d746d12a162 (diff)
downloadsamba-ad9a3a16e000e25693508e0b2eac280f7593d095.tar.gz
samba-ad9a3a16e000e25693508e0b2eac280f7593d095.tar.bz2
samba-ad9a3a16e000e25693508e0b2eac280f7593d095.zip
Added Shirish's reg changes to HEAD. Sync up with 2.2.0 backport.
Also added prs_xx error return checks to new code in rpc_parse/parse_reg.c Jeremy. (This used to be commit a148cb996297ed34342660f82ef0e66773d40500)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h13
-rw-r--r--source3/include/rpc_reg.h48
2 files changed, 30 insertions, 31 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 0cc0546b88..b19d3d8f5c 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -2071,7 +2071,7 @@ BOOL net_io_r_sam_logoff(char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int
/*The following definitions come from rpc_parse/parse_prs.c */
-void prs_dump(char *name, int level, prs_struct *ps);
+void prs_dump(char *name, int v, prs_struct *ps);
void prs_debug(prs_struct *ps, int depth, char *desc, char *fn_name);
BOOL prs_init(prs_struct *ps, uint32 size, uint8 align, BOOL io);
BOOL prs_read(prs_struct *ps, int fd, size_t len, int timeout);
@@ -2154,13 +2154,10 @@ void init_reg_q_get_key_sec(REG_Q_GET_KEY_SEC *q_i, POLICY_HND *pol,
uint32 sec_buf_size, SEC_DESC_BUF *psdb);
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);
-void init_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char *product_type,
- time_t unix_time, uint8 major, uint8 minor);
+BOOL init_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char* val_name);
BOOL reg_io_q_info(char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth);
-void init_reg_r_info(REG_R_INFO *r_r,
- uint32 level, char *os_type,
- uint32 unknown_0, uint32 unknown_1,
- uint32 status);
+BOOL init_reg_r_info(uint32 include_keyval, REG_R_INFO *r_r,
+ BUFFER2* buf, uint32 type, uint32 status);
BOOL reg_io_r_info(char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth);
void init_reg_q_enum_val(REG_Q_ENUM_VALUE *q_i, POLICY_HND *pol,
uint32 val_idx, uint32 max_val_len,
@@ -2725,6 +2722,8 @@ BOOL api_netlog_rpc(pipes_struct *p, prs_struct *data);
BOOL create_next_pdu(pipes_struct *p);
BOOL api_pipe_bind_auth_resp(pipes_struct *p, prs_struct *rpc_in_p);
BOOL setup_fault_pdu(pipes_struct *p);
+BOOL check_bind_req(char* pipe_name, RPC_IFACE* abstract,
+ RPC_IFACE* transfer);
BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p);
BOOL api_pipe_auth_process(pipes_struct *p, prs_struct *rpc_in);
BOOL api_pipe_request(pipes_struct *p);
diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h
index 7766052588..103a7492cd 100644
--- a/source3/include/rpc_reg.h
+++ b/source3/include/rpc_reg.h
@@ -396,43 +396,43 @@ typedef struct r_reg_enum_key_info
/* REG_Q_INFO */
typedef struct q_reg_info_info
{
- POLICY_HND pol; /* policy handle */
+ POLICY_HND pol; /* policy handle */
- UNIHDR hdr_type; /* unicode product type header */
- UNISTR2 uni_type; /* unicode product type - "ProductType" */
+ UNIHDR hdr_type; /* unicode product type header */
+ UNISTR2 uni_type; /* 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_reserved;
+
+ uint32 ptr_buf; /* the next three fields follow if ptr_buf != 0 */
+ uint32 ptr_bufsize;
+ uint32 bufsize;
+ uint32 buf_unk;
- uint32 ptr2; /* pointer */
- uint8 major_version2; /* 0x4 - os major version? */
- uint8 minor_version2; /* 0x1 - os minor version? */
- uint8 pad2[2]; /* padding - zeros */
-
- uint32 ptr3; /* pointer */
- uint32 unknown; /* 0x0000 0000 */
+ uint32 unk1;
+ uint32 ptr_buflen;
+ uint32 buflen;
+
+ uint32 ptr_buflen2;
+ uint32 buflen2;
} REG_Q_INFO;
/* REG_R_INFO */
typedef struct r_reg_info_info
{
- uint32 ptr1; /* buffer pointer */
- uint32 level; /* 0x1 - info level? */
+ uint32 ptr_type; /* keyvalue pointer */
+ uint32 type; /* keyvalue datatype */
- uint32 ptr_type; /* pointer to o/s type */
- BUFFER2 uni_type; /* unicode string o/s type - "LanmanNT" */
+ uint32 ptr_uni_val; /* pointer to o/s type */
+ BUFFER2 *uni_val; /* 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 */
+ uint32 status; /* return status */
} REG_R_INFO;