summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/build/pidl/Parse/Pidl/Typelist.pm8
-rw-r--r--source4/librpc/idl/orpc.idl14
-rw-r--r--source4/librpc/ndr/ndr_orpc.h2
3 files changed, 23 insertions, 1 deletions
diff --git a/source4/build/pidl/Parse/Pidl/Typelist.pm b/source4/build/pidl/Parse/Pidl/Typelist.pm
index 60b6e7905b..ab5df0fc52 100644
--- a/source4/build/pidl/Parse/Pidl/Typelist.pm
+++ b/source4/build/pidl/Parse/Pidl/Typelist.pm
@@ -137,6 +137,11 @@ my $scalars = {
IS_REFERENCE => 0,
NDR_ALIGN => 4
},
+ "COMRESULT" => {
+ "C_TYPE" => "COMRESULT",
+ IS_REFERENCE => 0,
+ NDR_ALIGN => 4
+ },
# special types
"nbt_string" => {
@@ -244,7 +249,8 @@ my $aliases = {
"char" => "uint8",
"long" => "int32",
"short" => "int16",
- "HYPER_T" => "hyper"
+ "HYPER_T" => "hyper",
+ "HRESULT" => "COMRESULT",
};
sub RegisterAliases()
diff --git a/source4/librpc/idl/orpc.idl b/source4/librpc/idl/orpc.idl
index 1934a3cbed..377f71b34f 100644
--- a/source4/librpc/idl/orpc.idl
+++ b/source4/librpc/idl/orpc.idl
@@ -200,4 +200,18 @@ interface ObjectRpcBaseTypes
uint32 size;
[subcontext(4)] OBJREF obj;
} MInterfacePointer;
+
+ typedef [v1_enum,public] enum
+ {
+ COM_OK = 0x00000000,
+ COM_OUTOFMEMORY = 0x80000002,
+ COM_INVALIDARG = 0x80000003,
+ COM_NOINTERFACE = 0x80000004,
+ COM_ACCESSDENIED = 0x80000005,
+ COM_INVALID_OXID = 0x80070776,
+ COM_INVALID_OID = 0x80070777,
+ COM_INVALID_SET = 0x80070778,
+ COM_UNEXPECTED = 0x8000FFFF,
+ COM_CLSNOTFOUND = 0x80040154
+ } COMRESULT;
}
diff --git a/source4/librpc/ndr/ndr_orpc.h b/source4/librpc/ndr/ndr_orpc.h
index d1817969a4..ab91432aec 100644
--- a/source4/librpc/ndr/ndr_orpc.h
+++ b/source4/librpc/ndr/ndr_orpc.h
@@ -23,6 +23,8 @@
#ifndef __NDR_ORPC_H__
#define __NDR_ORPC_H__
+typedef enum COMRESULT COMRESULT;
+
struct STRINGARRAY
{
struct STRINGBINDING **stringbindings;