s3-rpc_server: Add npa_state_init() function.
authorAndreas Schneider <asn@samba.org>
Tue, 24 Sep 2013 09:27:35 +0000 (11:27 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 29 Oct 2013 14:33:26 +0000 (15:33 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/rpc_server/rpc_ncacn_np.c
source3/rpc_server/rpc_ncacn_np.h

index c58f97d..f2c45d9 100644 (file)
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_SRV
 
+static struct npa_state *npa_state_init(TALLOC_CTX *mem_ctx)
+{
+       struct npa_state *npa;
+
+       npa = talloc_zero(mem_ctx, struct npa_state);
+       if (npa == NULL) {
+               return NULL;
+       }
+
+       npa->read_queue = tevent_queue_create(npa, "npa_cli_read");
+       if (npa->read_queue == NULL) {
+               DEBUG(0, ("tevent_queue_create failed\n"));
+               goto fail;
+       }
+
+       npa->write_queue = tevent_queue_create(npa, "npa_cli_write");
+       if (npa->write_queue == NULL) {
+               DEBUG(0, ("tevent_queue_create failed\n"));
+               goto fail;
+       }
+
+       return npa;
+fail:
+       talloc_free(npa);
+       return NULL;
+}
+
 /****************************************************************************
  Make an internal namedpipes structure
 ****************************************************************************/
index 67cd8a1..2665b7f 100644 (file)
@@ -24,6 +24,19 @@ struct dcerpc_binding_handle;
 struct ndr_interface_table;
 struct tsocket_address;
 
+struct npa_state {
+       struct tstream_context *stream;
+
+       struct tevent_queue *read_queue;
+       struct tevent_queue *write_queue;
+
+       uint64_t allocation_size;
+       uint16_t device_state;
+       uint16_t file_type;
+
+       void *private_data;
+};
+
 struct np_proxy_state {
        uint16_t file_type;
        uint16_t device_state;