summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/atsvc.idl5
-rw-r--r--source4/librpc/idl/dcom.idl23
-rw-r--r--source4/librpc/idl/dfs.idl3
-rw-r--r--source4/librpc/idl/drsuapi.idl3
-rw-r--r--source4/librpc/idl/echo.idl3
-rw-r--r--source4/librpc/idl/efs.idl3
-rw-r--r--source4/librpc/idl/epmapper.idl3
-rw-r--r--source4/librpc/idl/eventlog.idl3
-rw-r--r--source4/librpc/idl/initshutdown.idl3
-rw-r--r--source4/librpc/idl/irpc.idl3
-rw-r--r--source4/librpc/idl/lsa.idl3
-rw-r--r--source4/librpc/idl/netlogon.idl3
-rw-r--r--source4/librpc/idl/orpc.idl3
-rw-r--r--source4/librpc/idl/oxidresolver.idl3
-rw-r--r--source4/librpc/idl/remact.idl3
-rw-r--r--source4/librpc/idl/rot.idl3
-rw-r--r--source4/librpc/idl/samr.idl3
-rw-r--r--source4/librpc/idl/spoolss.idl3
-rw-r--r--source4/librpc/idl/srvsvc.idl3
-rw-r--r--source4/librpc/idl/svcctl.idl3
-rw-r--r--source4/librpc/idl/unixinfo.idl3
-rw-r--r--source4/librpc/idl/winreg.idl7
-rw-r--r--source4/librpc/idl/wkssvc.idl3
-rw-r--r--source4/librpc/ndr/ndr_basic.c5
24 files changed, 63 insertions, 37 deletions
diff --git a/source4/librpc/idl/atsvc.idl b/source4/librpc/idl/atsvc.idl
index d58a719651..3dd5cb6805 100644
--- a/source4/librpc/idl/atsvc.idl
+++ b/source4/librpc/idl/atsvc.idl
@@ -6,7 +6,8 @@
version(1.0),
pointer_default(unique),
helpstring("Microsoft AT-Scheduler Service"),
- endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:")
+ endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:"),
+ keepref
] interface atsvc
{
typedef [bitmap32bit] bitmap {
@@ -73,7 +74,7 @@
/* Function: 0x00 */
NTSTATUS atsvc_JobAdd(
[in,unique,string,charset(UTF16)] uint16 *servername,
- [in] atsvc_JobInfo *job_info,
+ [in,keepref] atsvc_JobInfo *job_info,
[out] uint32 job_id
);
diff --git a/source4/librpc/idl/dcom.idl b/source4/librpc/idl/dcom.idl
index ce10c98c0a..2a2b9ad8b1 100644
--- a/source4/librpc/idl/dcom.idl
+++ b/source4/librpc/idl/dcom.idl
@@ -18,7 +18,8 @@
object,
uuid("00000000-0000-0000-C000-000000000046"),
pointer_default(unique),
- helpstring("Base interface for all COM interfaces")
+ helpstring("Base interface for all COM interfaces"),
+ keepref
]
interface IUnknown
{
@@ -42,7 +43,8 @@ interface IUnknown
[
object,
uuid("00000001-0000-0000-C000-000000000046"),
- pointer_default(unique)
+ pointer_default(unique),
+ keepref
] interface IClassFactory : IUnknown
{
[local] WERROR CreateInstance([in,unique] MInterfacePointer *pUnknown,
@@ -69,7 +71,8 @@ interface IUnknown
uuid("00000131-0000-0000-C000-000000000046"),
object,
pointer_default(unique),
- helpstring("Remote version of IUnknown")
+ helpstring("Remote version of IUnknown"),
+ keepref
]
interface IRemUnknown : IUnknown
{
@@ -169,7 +172,8 @@ interface IRemUnknown : IUnknown
[
object,
pointer_default(unique),
- uuid("00000143-0000-0000-C000-000000000046")
+ uuid("00000143-0000-0000-C000-000000000046"),
+ keepref
]
interface IRemUnknown2 : IRemUnknown
@@ -186,8 +190,9 @@ interface IRemUnknown2 : IRemUnknown
[
object,
pointer_default(unique),
- uuid("00020400-0000-0000-C000-000000000046")
- ] interface IDispatch : IUnknown
+ uuid("00020400-0000-0000-C000-000000000046"),
+ keepref
+] interface IDispatch : IUnknown
{
/*****************/
/* Function 0x03 */
@@ -254,7 +259,8 @@ interface IRemUnknown2 : IRemUnknown
uuid(DA23F6DB-6F45-466C-9EED-0B65286F2D78),
helpstring("ICoffeeMachine Interface"),
pointer_default(unique),
- object
+ object,
+ keepref
] interface ICoffeeMachine : IUnknown
{
WERROR MakeCoffee([in,string,charset(UTF16)] uint16 *flavor);
@@ -272,7 +278,8 @@ interface IRemUnknown2 : IRemUnknown
object,
pointer_default(unique),
uuid("0000000C-0000-0000-C000-000000000046"),
- helpstring("Stream")
+ helpstring("Stream"),
+ keepref
]
interface IStream : IUnknown
{
diff --git a/source4/librpc/idl/dfs.idl b/source4/librpc/idl/dfs.idl
index ef3d2ca604..a39bfe6aa0 100644
--- a/source4/librpc/idl/dfs.idl
+++ b/source4/librpc/idl/dfs.idl
@@ -5,7 +5,8 @@
[ uuid("4fc742e0-4a10-11cf-8273-00aa004ae673"),
version(3.0),
pointer_default(unique),
- helpstring("Settings for Microsoft Distributed File System")
+ helpstring("Settings for Microsoft Distributed File System"),
+ keepref
] interface netdfs
{
/******************/
diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl
index 3668ddab7e..f106c4ce3a 100644
--- a/source4/librpc/idl/drsuapi.idl
+++ b/source4/librpc/idl/drsuapi.idl
@@ -7,7 +7,8 @@
authservice("ldap"),
helpstring("Active Directory Replication"),
pointer_default(unique),
- depends(security,misc)
+ depends(security,misc),
+ keepref
]
interface drsuapi
{
diff --git a/source4/librpc/idl/echo.idl b/source4/librpc/idl/echo.idl
index 7b80e3e296..cda29685a1 100644
--- a/source4/librpc/idl/echo.idl
+++ b/source4/librpc/idl/echo.idl
@@ -4,7 +4,8 @@
endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
version(1.0),
- helpstring("Simple echo pipe")
+ helpstring("Simple echo pipe"),
+ keepref
]
interface rpcecho
{
diff --git a/source4/librpc/idl/efs.idl b/source4/librpc/idl/efs.idl
index 75d997a018..83c6cad19f 100644
--- a/source4/librpc/idl/efs.idl
+++ b/source4/librpc/idl/efs.idl
@@ -7,7 +7,8 @@
uuid("c681d488-d850-11d0-8c52-00c04fd90f7e"),
version(1.0),
depends(security),
- pointer_default(unique)
+ pointer_default(unique),
+ keepref
] interface efs
{
diff --git a/source4/librpc/idl/epmapper.idl b/source4/librpc/idl/epmapper.idl
index 223883c366..e913209cf1 100644
--- a/source4/librpc/idl/epmapper.idl
+++ b/source4/librpc/idl/epmapper.idl
@@ -15,7 +15,8 @@ http://www.opengroup.org/onlinepubs/9629399/chap6.htm#tagcjh_11_02_03_01: bindin
"ncalrpc:[EPMAPPER]"),
helpstring("EndPoint Mapper"),
pointer_default_top(sptr),
- pointer_default(sptr)
+ pointer_default(sptr),
+ keepref
]
interface epmapper
{
diff --git a/source4/librpc/idl/eventlog.idl b/source4/librpc/idl/eventlog.idl
index 38f4a88e28..c8a146b272 100644
--- a/source4/librpc/idl/eventlog.idl
+++ b/source4/librpc/idl/eventlog.idl
@@ -7,7 +7,8 @@
version(0.0),
depends(lsa,security),
pointer_default(unique),
- helpstring("Event Logger")
+ helpstring("Event Logger"),
+ keepref
] interface eventlog
{
typedef bitmap {
diff --git a/source4/librpc/idl/initshutdown.idl b/source4/librpc/idl/initshutdown.idl
index 50d49637c2..8555ed0c5c 100644
--- a/source4/librpc/idl/initshutdown.idl
+++ b/source4/librpc/idl/initshutdown.idl
@@ -9,7 +9,8 @@
version(1.0),
endpoint("ncacn_np:[\\pipe\\InitShutdown]"),
pointer_default(unique),
- helpstring("Init shutdown service")
+ helpstring("Init shutdown service"),
+ keepref
] interface initshutdown
{
typedef struct {
diff --git a/source4/librpc/idl/irpc.idl b/source4/librpc/idl/irpc.idl
index 5614608bd7..a566a99bfc 100644
--- a/source4/librpc/idl/irpc.idl
+++ b/source4/librpc/idl/irpc.idl
@@ -6,7 +6,8 @@
[ uuid("e770c620-0b06-4b5e-8d87-a26e20f28340"),
version(1.0),
pointer_default(unique),
- depends(security,nbt)
+ depends(security,nbt),
+ keepref
] interface irpc
{
typedef bitmap {
diff --git a/source4/librpc/idl/lsa.idl b/source4/librpc/idl/lsa.idl
index 454f73afeb..0953c6d025 100644
--- a/source4/librpc/idl/lsa.idl
+++ b/source4/librpc/idl/lsa.idl
@@ -9,7 +9,8 @@
endpoint("ncacn_np:[\\pipe\\lsarpc]","ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
helpstring("Local Security Authority"),
- depends(security)
+ depends(security),
+ keepref
] interface lsarpc
{
declare bitmap security_secinfo;
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl
index c4a0f97613..95289b7ea9 100644
--- a/source4/librpc/idl/netlogon.idl
+++ b/source4/librpc/idl/netlogon.idl
@@ -12,7 +12,8 @@
endpoint("ncacn_np:[\\pipe\\netlogon]","ncacn_ip_tcp:","ncalrpc:"),
pointer_default(unique),
pointer_default_top(unique),
- depends(lsa,samr,security)
+ depends(lsa,samr,security),
+ keepref
]
interface netlogon
diff --git a/source4/librpc/idl/orpc.idl b/source4/librpc/idl/orpc.idl
index c1faefd3b1..c59cc9d3cb 100644
--- a/source4/librpc/idl/orpc.idl
+++ b/source4/librpc/idl/orpc.idl
@@ -6,7 +6,8 @@
*/
[
- pointer_default(unique)
+ pointer_default(unique),
+ keepref
]
interface ObjectRpcBaseTypes
{
diff --git a/source4/librpc/idl/oxidresolver.idl b/source4/librpc/idl/oxidresolver.idl
index d3f3078a0d..835b848a45 100644
--- a/source4/librpc/idl/oxidresolver.idl
+++ b/source4/librpc/idl/oxidresolver.idl
@@ -16,7 +16,8 @@
endpoint("ncacn_np:[\\pipe\\epmapper]", "ncacn_ip_tcp:[135]", "ncalrpc:"),
pointer_default(unique),
pointer_default_top(unique),
- depends(dcom, orpc)
+ depends(dcom, orpc),
+ keepref
]
interface IOXIDResolver
{
diff --git a/source4/librpc/idl/remact.idl b/source4/librpc/idl/remact.idl
index a54ca7781d..2f8baf926a 100644
--- a/source4/librpc/idl/remact.idl
+++ b/source4/librpc/idl/remact.idl
@@ -8,7 +8,8 @@
pointer_default(unique),
pointer_default_top(unique),
endpoint("ncalrpc:", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]"),
- depends(dcom,orpc)
+ depends(dcom,orpc),
+ keepref
]
interface IRemoteActivation
{
diff --git a/source4/librpc/idl/rot.idl b/source4/librpc/idl/rot.idl
index 5851466c79..27c7836635 100644
--- a/source4/librpc/idl/rot.idl
+++ b/source4/librpc/idl/rot.idl
@@ -5,7 +5,8 @@
pointer_default_top(unique),
depends(orpc),
endpoint("ncacn_np:[\\pipe\\epmapper]", "ncacn_ip_tcp:[135]",
- "ncalrpc:[EPMAPPER]")
+ "ncalrpc:[EPMAPPER]"),
+ keepref
] interface rot
{
WERROR rot_add (
diff --git a/source4/librpc/idl/samr.idl b/source4/librpc/idl/samr.idl
index c9d21dba08..370eb728bd 100644
--- a/source4/librpc/idl/samr.idl
+++ b/source4/librpc/idl/samr.idl
@@ -13,7 +13,8 @@
endpoint("ncacn_np:[\\pipe\\samr]","ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
pointer_default_top(unique),
- depends(misc,lsa,security)
+ depends(misc,lsa,security),
+ keepref
] interface samr
{
declare bitmap security_secinfo;
diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl
index 93ce3c3f36..b09690b278 100644
--- a/source4/librpc/idl/spoolss.idl
+++ b/source4/librpc/idl/spoolss.idl
@@ -11,7 +11,8 @@
pointer_default_top(unique),
helpstring("Spooler SubSystem"),
depends(security),
- helper("librpc/ndr/ndr_spoolss_buf.h")
+ helper("librpc/ndr/ndr_spoolss_buf.h"),
+ keepref
] interface spoolss
{
typedef struct {
diff --git a/source4/librpc/idl/srvsvc.idl b/source4/librpc/idl/srvsvc.idl
index 6405736c9f..845969a027 100644
--- a/source4/librpc/idl/srvsvc.idl
+++ b/source4/librpc/idl/srvsvc.idl
@@ -10,7 +10,8 @@
pointer_default(unique),
pointer_default_top(unique),
helpstring("Server Service"),
- depends(security,svcctl)
+ depends(security,svcctl),
+ keepref
] interface srvsvc
{
declare bitmap svcctl_ServerType;
diff --git a/source4/librpc/idl/svcctl.idl b/source4/librpc/idl/svcctl.idl
index 27172f85df..f77e4d4276 100644
--- a/source4/librpc/idl/svcctl.idl
+++ b/source4/librpc/idl/svcctl.idl
@@ -9,7 +9,8 @@
pointer_default(unique),
pointer_default_top(unique),
endpoint("ncacn_np:[\\pipe\\svcctl]", "ncalrpc:"),
- helpstring("Service Control")
+ helpstring("Service Control"),
+ keepref
] interface svcctl
{
typedef struct {
diff --git a/source4/librpc/idl/unixinfo.idl b/source4/librpc/idl/unixinfo.idl
index 078862f444..2b5b60908f 100644
--- a/source4/librpc/idl/unixinfo.idl
+++ b/source4/librpc/idl/unixinfo.idl
@@ -7,7 +7,8 @@
endpoint("ncacn_np:[\\pipe\\unixinfo]", "ncacn_ip_tcp:", "ncalrpc:"),
pointer_default(unique),
helpstring("Unixinfo specific stuff"),
- depends(security)
+ depends(security),
+ keepref
] interface unixinfo
{
/******************/
diff --git a/source4/librpc/idl/winreg.idl b/source4/librpc/idl/winreg.idl
index 1ecb98d3b0..93c3c12db5 100644
--- a/source4/librpc/idl/winreg.idl
+++ b/source4/librpc/idl/winreg.idl
@@ -9,7 +9,8 @@
pointer_default(unique),
pointer_default_top(unique),
helpstring("Remote Registry Service"),
- depends(lsa,initshutdown,security)
+ depends(lsa,initshutdown,security),
+ keepref
] interface winreg
{
declare bitmap security_secinfo;
@@ -205,8 +206,8 @@
/* Function: 0x10 */
WERROR winreg_QueryInfoKey(
[in,ref] policy_handle *handle,
- [in] winreg_String class,
- [out] winreg_String class,
+ [in] winreg_String class_in,
+ [out] winreg_String *class_out,
[out] uint32 num_subkeys,
[out] uint32 max_subkeylen,
[out] uint32 max_subkeysize,
diff --git a/source4/librpc/idl/wkssvc.idl b/source4/librpc/idl/wkssvc.idl
index d658091c47..a085265a41 100644
--- a/source4/librpc/idl/wkssvc.idl
+++ b/source4/librpc/idl/wkssvc.idl
@@ -7,7 +7,8 @@
pointer_default(unique),
pointer_default_top(unique),
helpstring("Workstation Service"),
- depends(srvsvc)
+ depends(srvsvc),
+ keepref
] interface wkssvc
{
declare [v1_enum] enum srvsvc_PlatformId;
diff --git a/source4/librpc/ndr/ndr_basic.c b/source4/librpc/ndr/ndr_basic.c
index 197fd44895..f4ba786865 100644
--- a/source4/librpc/ndr/ndr_basic.c
+++ b/source4/librpc/ndr/ndr_basic.c
@@ -494,11 +494,8 @@ _PUBLIC_ NTSTATUS ndr_push_sptr_ptr(struct ndr_push *ndr, const void *p)
/*
push always a 0, if a pointer is NULL it's a fatal error
*/
-_PUBLIC_ NTSTATUS ndr_push_ref_ptr(struct ndr_push *ndr, const void *p)
+_PUBLIC_ NTSTATUS ndr_push_ref_ptr(struct ndr_push *ndr)
{
- if (p == NULL) {
- return NT_STATUS_INVALID_PARAMETER_MIX;
- }
return ndr_push_uint32(ndr, NDR_SCALARS, 0xAEF1AEF1);
}