diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-11-03 20:32:28 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:23 -0500 |
commit | 6d3c74a67b935f348777feb3fac7653a9c4277a8 (patch) | |
tree | bf051f28dabe9bd91ea5d39f3b7ba38bdb77cc88 /source4/build/pidl/client.pm | |
parent | e0e6e0f99d9c7645e1809a3bde1a6ab01843de67 (diff) | |
download | samba-6d3c74a67b935f348777feb3fac7653a9c4277a8.tar.gz samba-6d3c74a67b935f348777feb3fac7653a9c4277a8.tar.bz2 samba-6d3c74a67b935f348777feb3fac7653a9c4277a8.zip |
r3513: Add (the infrastructure for) DCOM support. Contents:
- Support for sending over the object UUID in DCERPC calls
- Simple torture test for the DCOM "Simple" object
- Generate extra argument for "object" interfaces in pidl
- Some stubs for common DCOM functions
(This used to be commit c052f2e1edd816206d8974af3140cec7ef97a70c)
Diffstat (limited to 'source4/build/pidl/client.pm')
-rw-r--r-- | source4/build/pidl/client.pm | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/source4/build/pidl/client.pm b/source4/build/pidl/client.pm index c2c2c622ae..10ae81ec18 100644 --- a/source4/build/pidl/client.pm +++ b/source4/build/pidl/client.pm @@ -19,15 +19,22 @@ sub ParseFunction($) return if (util::has_property($fn, "local")); + my $objargdef = ""; + my $objarg = ", NULL"; + if (util::has_property($fn, "object")) { + $objargdef = ", struct GUID *object"; + $objarg = ", object"; + } + $res .= " -struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r) +struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p$objargdef, TALLOC_CTX *mem_ctx, struct $name *r) { if (p->flags & DCERPC_DEBUG_PRINT_IN) { NDR_PRINT_IN_DEBUG($name, r); } - return dcerpc_ndr_request_send(p, DCERPC_$uname, mem_ctx, + return dcerpc_ndr_request_send(p$objarg, DCERPC_$uname, mem_ctx, (ndr_push_flags_fn_t) ndr_push_$name, (ndr_pull_flags_fn_t) ndr_pull_$name, r, sizeof(*r)); @@ -35,11 +42,12 @@ struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ct "; + $objarg = "" unless (util::has_property($fn, "object")); $res .= " -NTSTATUS dcerpc_$name(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r) +NTSTATUS dcerpc_$name(struct dcerpc_pipe *p$objargdef, TALLOC_CTX *mem_ctx, struct $name *r) { - struct rpc_request *req = dcerpc_$name\_send(p, mem_ctx, r); + struct rpc_request *req = dcerpc_$name\_send(p$objarg, mem_ctx, r); NTSTATUS status; if (req == NULL) return NT_STATUS_NO_MEMORY; |