1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

r3442: Add support for the "call_as" and "local" attributes.

(This used to be commit 8e25117103)
This commit is contained in:
Jelmer Vernooij
2004-11-01 21:10:46 +00:00
committed by Gerald (Jerry) Carter
parent 652b8b34f8
commit 9f14afa12c
5 changed files with 825 additions and 740 deletions

View File

@ -17,6 +17,8 @@ sub ParseFunction($)
my $name = $fn->{NAME};
my $uname = uc $name;
return if (util::has_property($fn, "local"));
$res .=
"
struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r)

View File

@ -302,6 +302,9 @@ sub HeaderFnProto($)
{
my $fn = shift;
my $name = $fn->{NAME};
return if (util::has_property($fn, "call_as") );
$res .= "void ndr_print_$name(struct ndr_print *, const char *, int, struct $name *);\n";
$res .= "struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *, TALLOC_CTX *, struct $name *);\n";
$res .= "NTSTATUS dcerpc_$name(struct dcerpc_pipe *, TALLOC_CTX *, struct $name *);\n";

File diff suppressed because it is too large Load Diff

View File

@ -70,6 +70,7 @@ sub ShowHelp()
--server create server boilerplate
--template print a template for a pipe
--eparser create an ethereal parser
--swig create swig wrapper file
--diff run diff on the idl and dumped output
--keep keep the .pidl file
\n";

View File

@ -278,16 +278,16 @@ interface IUnknown
/* Function 0x00 */
/* Returns the interface with the specified IID
if implemented by this object */
WERROR QueryInterface([in] IID *riid
[local] WERROR QueryInterface([in] IID *riid
/*FIXME, [out] void **data*/);
/*****************/
/* Function 0x01 */
uint32 AddRef();
[local] uint32 AddRef();
/*****************/
/* Function 0x02 */
uint32 Release();
[local] uint32 Release();
}
@ -297,17 +297,17 @@ interface IUnknown
pointer_default(unique)
] interface IClassFactory : IUnknown
{
WERROR CreateInstance(/*FIXME[in] IUnknown *pUnknown,
[local] WERROR CreateInstance(/*FIXME[in] IUnknown *pUnknown,
[in] IID *riid,
[out, iid_is(riid)] void **ppv*/);
WERROR RemoteCreateInstance();
[call_as(CreateInstance)] WERROR RemoteCreateInstance();
/* Set lock to TRUE when you want to do a lock
and set it to FALSE when you want to unlock */
WERROR LockServer([in] uint8 lock);
[local] WERROR LockServer([in] uint8 lock);
WERROR RemoteLockServer();
[call_as(LockServer)] WERROR RemoteLockServer();
}
/*//////////////////////////////////////////////////////////////// */
@ -333,7 +333,7 @@ interface IRemUnknown : IUnknown
}
REMQIRESULT;
WERROR RemQueryInterface (
[call_as(QueryInterface)] WERROR RemQueryInterface (
[in] IPID *ripid, /* interface to QI on */
[in] uint32 cRefs, /* count of AddRefs requested */
[in] uint16 cIids, /* count of IIDs that follow */
@ -348,13 +348,13 @@ interface IRemUnknown : IUnknown
uint32 cPrivateRefs;
} REMINTERFACEREF;
WERROR RemAddRef (
[call_as(AddRef)] WERROR RemAddRef (
[in] uint16 cInterfaceRefs,
[in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[],
[out, size_is(cInterfaceRefs)] WERROR* pResults
);
WERROR RemRelease (
[call_as(Release)] WERROR RemRelease (
[in] uint16 cInterfaceRefs,
[in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[]
);
@ -399,7 +399,7 @@ interface IRemUnknown : IUnknown
interface IRemUnknown2 : IRemUnknown
{
WERROR RemQueryInterface2 (
[call_as(QueryInterface2)] WERROR RemQueryInterface2 (
[in] IPID *ripid,
[in] uint16 cIids,
[in, size_is(cIids)] IID *iids,