summaryrefslogtreecommitdiff
path: root/source3/include/ntdomain.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include/ntdomain.h')
-rw-r--r--source3/include/ntdomain.h47
1 files changed, 31 insertions, 16 deletions
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 077924d6f4..ff728736d4 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -86,7 +86,8 @@ typedef struct pipe_rpc_fns {
const struct api_struct *cmds;
int n_cmds;
- uint32 context_id;
+ uint32_t context_id;
+ struct ndr_syntax_id syntax;
} PIPE_RPC_FNS;
@@ -97,20 +98,6 @@ typedef struct pipe_rpc_fns {
struct gse_context;
-/* auth state for all bind types. */
-
-struct pipe_auth_data {
- enum dcerpc_AuthType auth_type;
- enum dcerpc_AuthLevel auth_level;
-
- void *auth_ctx;
-
- /* Only the client code uses these 3 for now */
- char *domain;
- char *user_name;
- DATA_BLOB user_session_key;
-};
-
struct dcesrv_ep_entry_list;
/*
@@ -129,7 +116,6 @@ struct pipes_struct {
struct auth_serversupplied_info *session_info;
struct messaging_context *msg_ctx;
- struct ndr_syntax_id syntax;
struct dcesrv_ep_entry_list *ep_entries;
/* linked list of rpc dispatch tables associated
@@ -207,4 +193,33 @@ struct api_struct {
bool (*fn) (struct pipes_struct *);
};
+/* The following definitions come from rpc_server/rpc_handles.c */
+
+size_t num_pipe_handles(struct pipes_struct *p);
+bool init_pipe_handles(struct pipes_struct *p, const struct ndr_syntax_id *syntax);
+bool create_policy_hnd(struct pipes_struct *p, struct policy_handle *hnd, void *data_ptr);
+bool find_policy_by_hnd(struct pipes_struct *p, const struct policy_handle *hnd,
+ void **data_p);
+bool close_policy_hnd(struct pipes_struct *p, struct policy_handle *hnd);
+void close_policy_by_pipe(struct pipes_struct *p);
+bool pipe_access_check(struct pipes_struct *p);
+
+void *_policy_handle_create(struct pipes_struct *p, struct policy_handle *hnd,
+ uint32_t access_granted, size_t data_size,
+ const char *type, NTSTATUS *pstatus);
+#define policy_handle_create(_p, _hnd, _access, _type, _pstatus) \
+ (_type *)_policy_handle_create((_p), (_hnd), (_access), sizeof(_type), #_type, \
+ (_pstatus))
+
+void *_policy_handle_find(struct pipes_struct *p,
+ const struct policy_handle *hnd,
+ uint32_t access_required, uint32_t *paccess_granted,
+ const char *name, const char *location,
+ NTSTATUS *pstatus);
+#define policy_handle_find(_p, _hnd, _access_required, _access_granted, _type, _pstatus) \
+ (_type *)_policy_handle_find((_p), (_hnd), (_access_required), \
+ (_access_granted), #_type, __location__, (_pstatus))
+
+#include "rpc_server/srv_pipe_register.h"
+
#endif /* _NT_DOMAIN_H */