summaryrefslogtreecommitdiff
path: root/source3/include/ntdomain.h
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2000-03-09 21:45:16 +0000
committerJeremy Allison <jra@samba.org>2000-03-09 21:45:16 +0000
commit6bb92a6d38db41a11e80c4369623d137763f0f52 (patch)
treeb1b08e75fccec7c0b1352d12c00e62431759daea /source3/include/ntdomain.h
parent18465ec2cd94dc0f4da0a2984d395c18a23291f1 (diff)
downloadsamba-6bb92a6d38db41a11e80c4369623d137763f0f52.tar.gz
samba-6bb92a6d38db41a11e80c4369623d137763f0f52.tar.bz2
samba-6bb92a6d38db41a11e80c4369623d137763f0f52.zip
Big update moving the multi-pdu support from 2.0.x into HEAD for JF
and the printer functions. Also tidied up some header includes and got the order right so you can now do a : make proto make clean make Jeremy. (This used to be commit 833cd9fba92e4ad5297b235d108dd2be8c17079b)
Diffstat (limited to 'source3/include/ntdomain.h')
-rw-r--r--source3/include/ntdomain.h84
1 files changed, 52 insertions, 32 deletions
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 7f3d4b4950..46be965d70 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -24,10 +24,6 @@
#ifndef _NT_DOMAIN_H /* _NT_DOMAIN_H */
#define _NT_DOMAIN_H
-/*
- * A bunch of stuff that was put into smb.h
- * in the NTDOM branch - it didn't belong there.
- */
/* dce/rpc support */
#include "rpc_dce.h"
@@ -35,8 +31,10 @@
/* miscellaneous structures / defines */
#include "rpc_misc.h"
-/* security descriptor structures */
-#include "rpc_secdes.h"
+/*
+ * A bunch of stuff that was put into smb.h
+ * in the NTDOM branch - it didn't belong there.
+ */
typedef struct _prs_struct
{
@@ -63,32 +61,8 @@ typedef struct _prs_struct
#define MARSHALLING(ps) (!(ps)->io)
#define UNMARSHALLING(ps) ((ps)->io)
-typedef struct _input_data {
- /*
- * This is the current incoming pdu. The data here
- * is collected via multiple writes until a complete
- * pdu is seen, then the data is copied into the in_data
- * structure. The maximum size of this is 64k (2 byte length).
- */
- prs_struct in_pdu;
-
- /*
- * The amount of data needed to complete the in_pdu.
- * If this is zero, then we are at the start of a new
- * pdu.
- */
- uint32 in_pdu_needed_len;
-
- /*
- * This is the collection of input data with all
- * the rpc headers and auth footers removed.
- * The maximum length of this is strictly enforced.
- */
- prs_struct in_data;
-} input_data;
-
typedef struct _output_data {
- /*
+ /*
* Raw RPC output data. This does not include RPC headers or footers.
*/
prs_struct rdata;
@@ -96,7 +70,7 @@ typedef struct _output_data {
/* The amount of data sent from the current rdata struct. */
uint32 data_sent_length;
- /*
+ /*
* The current PDU being returned. This inclues
* headers, data and authentication footer.
*/
@@ -109,6 +83,37 @@ typedef struct _output_data {
uint32 current_pdu_sent;
} output_data;
+typedef struct _input_data {
+ /*
+ * This is the current incoming pdu. The data here
+ * is collected via multiple writes until a complete
+ * pdu is seen, then the data is copied into the in_data
+ * structure. The maximum size of this is 0x1630 (MAX_PDU_FRAG_LEN).
+ */
+ unsigned char current_in_pdu[MAX_PDU_FRAG_LEN];
+
+ /*
+ * The amount of data needed to complete the in_pdu.
+ * If this is zero, then we are at the start of a new
+ * pdu.
+ */
+ uint32 pdu_needed_len;
+
+ /*
+ * The amount of data received so far in the in_pdu.
+ * If this is zero, then we are at the start of a new
+ * pdu.
+ */
+ uint32 pdu_received_len;
+
+ /*
+ * This is the collection of input data with all
+ * the rpc headers and auth footers removed.
+ * The maximum length of this (1Mb) is strictly enforced.
+ */
+ prs_struct data;
+} input_data;
+
typedef struct pipes_struct
{
struct pipes_struct *next, *prev;
@@ -145,6 +150,18 @@ typedef struct pipes_struct
uid_t uid;
gid_t gid;
+ /*
+ * Set to true when an RPC bind has been done on this pipe.
+ */
+
+ BOOL pipe_bound;
+
+ /*
+ * Set to true when we should return fault PDU's for everything.
+ */
+
+ BOOL fault_state;
+
/*
* Struct to deal with multiple pdu inputs.
*/
@@ -186,6 +203,9 @@ struct acct_info
uint32 smb_userid; /* domain-relative RID */
};
+/* security descriptor structures */
+#include "rpc_secdes.h"
+
/* different dce/rpc pipes */
#include "rpc_lsa.h"
#include "rpc_netlogon.h"