summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-04-02 14:18:31 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-04-02 14:18:31 +0200
commit1cf8130e110c63a3bfc04ef8e21ca4343a4ab35c (patch)
treeb6912eb069f63ad151d7ab7403e4dd271693d77a
parent4924446969b0f2a02b799fa9b2af14172310ebf0 (diff)
downloadsamba-1cf8130e110c63a3bfc04ef8e21ca4343a4ab35c.tar.gz
samba-1cf8130e110c63a3bfc04ef8e21ca4343a4ab35c.tar.bz2
samba-1cf8130e110c63a3bfc04ef8e21ca4343a4ab35c.zip
Move handle utility functions to public header, remove more public headers.
(This used to be commit 92e71c19f4e1d3ca123a083942ec578d21f7012c)
-rw-r--r--source4/lib/registry/registry_wrap.c1
-rw-r--r--source4/librpc/config.mk3
-rw-r--r--source4/rpc_server/common/common.h37
-rw-r--r--source4/rpc_server/dcerpc_server.h38
4 files changed, 40 insertions, 39 deletions
diff --git a/source4/lib/registry/registry_wrap.c b/source4/lib/registry/registry_wrap.c
index ded3acbbe6..da09ecbe08 100644
--- a/source4/lib/registry/registry_wrap.c
+++ b/source4/lib/registry/registry_wrap.c
@@ -2529,7 +2529,6 @@ static swig_module_info swig_module = {swig_types, 25, 0, 0, 0, 0};
#include "includes.h"
#include "registry.h"
#include "param/param.h"
-#include "registry.h"
typedef struct registry_context reg;
typedef struct hive_key hive_key;
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 4bbce62482..9b91ba1115 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -423,7 +423,7 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_WINREG
OBJ_FILES = gen_ndr/ndr_initshutdown_c.o
PUBLIC_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN
-[SUBSYSTEM::dcerpc_mgmt]
+[SUBSYSTEM::RPC_NDR_MGMT]
OBJ_FILES = gen_ndr/ndr_mgmt_c.o
PRIVATE_DEPENDENCIES = NDR_MGMT
@@ -495,6 +495,7 @@ PRIVATE_DEPENDENCIES = \
samba-socket LIBCLI_RESOLVE LIBCLI_SMB LIBCLI_SMB2 \
LIBNDR NDR_DCERPC RPC_NDR_EPMAPPER \
NDR_SCHANNEL RPC_NDR_NETLOGON \
+ RPC_NDR_MGMT \
gensec LIBCLI_AUTH LIBCLI_RAW \
LP_RESOLVE
PUBLIC_DEPENDENCIES = CREDENTIALS
diff --git a/source4/rpc_server/common/common.h b/source4/rpc_server/common/common.h
index 110ef6062d..af2d96cb3e 100644
--- a/source4/rpc_server/common/common.h
+++ b/source4/rpc_server/common/common.h
@@ -20,43 +20,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* a useful macro for generating a RPC fault in the backend code */
-#define DCESRV_FAULT(code) do { \
- dce_call->fault_code = code; \
- return r->out.result; \
-} while(0)
-
-/* a useful macro for generating a RPC fault in the backend code */
-#define DCESRV_FAULT_VOID(code) do { \
- dce_call->fault_code = code; \
- return; \
-} while(0)
-
-/* a useful macro for checking the validity of a dcerpc policy handle
- and giving the right fault code if invalid */
-#define DCESRV_CHECK_HANDLE(h) do {if (!(h)) DCESRV_FAULT(DCERPC_FAULT_CONTEXT_MISMATCH); } while (0)
-
-/* this checks for a valid policy handle, and gives a fault if an
- invalid handle or retval if the handle is of the
- wrong type */
-#define DCESRV_PULL_HANDLE_RETVAL(h, inhandle, t, retval) do { \
- (h) = dcesrv_handle_fetch(dce_call->context, (inhandle), DCESRV_HANDLE_ANY); \
- DCESRV_CHECK_HANDLE(h); \
- if ((t) != DCESRV_HANDLE_ANY && (h)->wire_handle.handle_type != (t)) { \
- return retval; \
- } \
-} while (0)
-
-/* this checks for a valid policy handle and gives a dcerpc fault
- if its the wrong type of handle */
-#define DCESRV_PULL_HANDLE_FAULT(h, inhandle, t) do { \
- (h) = dcesrv_handle_fetch(dce_call->context, (inhandle), t); \
- DCESRV_CHECK_HANDLE(h); \
-} while (0)
-
-#define DCESRV_PULL_HANDLE(h, inhandle, t) DCESRV_PULL_HANDLE_RETVAL(h, inhandle, t, NT_STATUS_INVALID_HANDLE)
-#define DCESRV_PULL_HANDLE_WERR(h, inhandle, t) DCESRV_PULL_HANDLE_RETVAL(h, inhandle, t, WERR_BADFID)
-
struct share_config;
struct dcesrv_context;
enum srvsvc_ShareType dcesrv_common_get_share_type(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, struct share_config *scfg);
diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h
index b773df2257..058dfe3ab2 100644
--- a/source4/rpc_server/dcerpc_server.h
+++ b/source4/rpc_server/dcerpc_server.h
@@ -329,5 +329,43 @@ struct socket_address *dcesrv_connection_get_peer_addr(struct dcesrv_connection
NTSTATUS dcesrv_fetch_session_key(struct dcesrv_connection *p, DATA_BLOB *session_key);
+/* a useful macro for generating a RPC fault in the backend code */
+#define DCESRV_FAULT(code) do { \
+ dce_call->fault_code = code; \
+ return r->out.result; \
+} while(0)
+
+/* a useful macro for generating a RPC fault in the backend code */
+#define DCESRV_FAULT_VOID(code) do { \
+ dce_call->fault_code = code; \
+ return; \
+} while(0)
+
+/* a useful macro for checking the validity of a dcerpc policy handle
+ and giving the right fault code if invalid */
+#define DCESRV_CHECK_HANDLE(h) do {if (!(h)) DCESRV_FAULT(DCERPC_FAULT_CONTEXT_MISMATCH); } while (0)
+
+/* this checks for a valid policy handle, and gives a fault if an
+ invalid handle or retval if the handle is of the
+ wrong type */
+#define DCESRV_PULL_HANDLE_RETVAL(h, inhandle, t, retval) do { \
+ (h) = dcesrv_handle_fetch(dce_call->context, (inhandle), DCESRV_HANDLE_ANY); \
+ DCESRV_CHECK_HANDLE(h); \
+ if ((t) != DCESRV_HANDLE_ANY && (h)->wire_handle.handle_type != (t)) { \
+ return retval; \
+ } \
+} while (0)
+
+/* this checks for a valid policy handle and gives a dcerpc fault
+ if its the wrong type of handle */
+#define DCESRV_PULL_HANDLE_FAULT(h, inhandle, t) do { \
+ (h) = dcesrv_handle_fetch(dce_call->context, (inhandle), t); \
+ DCESRV_CHECK_HANDLE(h); \
+} while (0)
+
+#define DCESRV_PULL_HANDLE(h, inhandle, t) DCESRV_PULL_HANDLE_RETVAL(h, inhandle, t, NT_STATUS_INVALID_HANDLE)
+#define DCESRV_PULL_HANDLE_WERR(h, inhandle, t) DCESRV_PULL_HANDLE_RETVAL(h, inhandle, t, WERR_BADFID)
+
+
#endif /* SAMBA_DCERPC_SERVER_H */