From ac126ea8186364bddfec340189a377978d52c7ae Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 12 Oct 2008 23:01:38 +0200 Subject: Use "struct files_struct" for pipes instead of smb_np_struct --- source3/include/fake_file.h | 3 ++- source3/include/ntdomain.h | 1 + source3/include/proto.h | 12 +++++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) (limited to 'source3/include') diff --git a/source3/include/fake_file.h b/source3/include/fake_file.h index 93da106030..c4b271f85d 100644 --- a/source3/include/fake_file.h +++ b/source3/include/fake_file.h @@ -22,7 +22,8 @@ enum FAKE_FILE_TYPE { FAKE_FILE_TYPE_NONE = 0, - FAKE_FILE_TYPE_QUOTA + FAKE_FILE_TYPE_QUOTA, + FAKE_FILE_TYPE_NAMED_PIPE }; /* diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h index de0a313609..60bbf500bc 100644 --- a/source3/include/ntdomain.h +++ b/source3/include/ntdomain.h @@ -317,6 +317,7 @@ typedef struct smb_np_struct { * is stored in np_state, above. */ struct pipes_struct *(*namedpipe_create)( + TALLOC_CTX *mem_ctx, const char *pipe_name, const char *client_address, struct auth_serversupplied_info *server_info, diff --git a/source3/include/proto.h b/source3/include/proto.h index 66eb1b0fac..a3e78d751d 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -8705,7 +8705,8 @@ bool close_rpc_pipe_hnd(smb_np_struct *p); void pipe_close_conn(connection_struct *conn); smb_np_struct *get_rpc_pipe_p(uint16 pnum); smb_np_struct *get_rpc_pipe(int pnum); -struct pipes_struct *make_internal_rpc_pipe_p(const char *pipe_name, +struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx, + const char *pipe_name, const char *client_address, struct auth_serversupplied_info *server_info, uint16_t vuid); @@ -8713,6 +8714,15 @@ ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_t n, bool *is_data_outstanding); ssize_t write_to_internal_pipe(struct pipes_struct *p, char *data, size_t n); +bool fsp_is_np(struct files_struct *fsp); +NTSTATUS np_open(struct smb_request *smb_req, struct connection_struct *conn, + const char *name, struct files_struct **pfsp); +NTSTATUS np_write(struct files_struct *fsp, uint8_t *data, size_t len, + ssize_t *nwritten); +NTSTATUS np_read(struct files_struct *fsp, uint8_t *data, size_t len, + ssize_t *nread, bool *is_data_outstanding); + + /* The following definitions come from rpc_server/srv_samr_nt.c */ NTSTATUS _samr_Close(pipes_struct *p, struct samr_Close *r); -- cgit