[SCM] Samba Shared Repository - branch master updated - d6e5204807fcd5a84b8b3b5d3717d352f6852b22

Jelmer Vernooij jelmer at samba.org
Wed Oct 15 00:55:17 GMT 2008


The branch, master has been updated
       via  d6e5204807fcd5a84b8b3b5d3717d352f6852b22 (commit)
       via  aaa3e0425d8394c36a6211ddbd76837b5b3e3e56 (commit)
       via  4695504a6c0929da20bb8c53d7c14d0dca88933f (commit)
       via  f75b46081457cd3801d93c91cce51f3d10976234 (commit)
       via  358e9931bc55e8c645b60da821e88cea4b4a8801 (commit)
       via  4f6a4b55101f9b2c5356eda43b0f56fa61ce5775 (commit)
       via  4999c5b2b95bca8e30653a6ce4e6623e6977102e (commit)
       via  bd8998226cef7bec8bb92a7d31ec7ddcb9d08511 (commit)
       via  daeceff217f3c5214b80a4645bfa0c0e03eeab04 (commit)
       via  45f97c4614e9fe7d4828eb47e32ebe0ba03893b5 (commit)
       via  7f24027e024bc56cb95b76ee0f9838d609e903cb (commit)
      from  16bbfc22629ea9e9aebc6164cae28a6b031cd9e0 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d6e5204807fcd5a84b8b3b5d3717d352f6852b22
Merge: aaa3e0425d8394c36a6211ddbd76837b5b3e3e56 16bbfc22629ea9e9aebc6164cae28a6b031cd9e0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 02:54:39 2008 +0200

    Merge branch 'master' of git://git.samba.org/samba

commit aaa3e0425d8394c36a6211ddbd76837b5b3e3e56
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 02:52:10 2008 +0200

    Fix includes.

commit 4695504a6c0929da20bb8c53d7c14d0dca88933f
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 02:33:16 2008 +0200

    Share security.idl.

commit f75b46081457cd3801d93c91cce51f3d10976234
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 02:08:24 2008 +0200

    Share misc.idl.

commit 358e9931bc55e8c645b60da821e88cea4b4a8801
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 02:06:41 2008 +0200

    Also check include dirs for IDL files.

commit 4f6a4b55101f9b2c5356eda43b0f56fa61ce5775
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 01:53:09 2008 +0200

    Share idl_types.h.

commit 4999c5b2b95bca8e30653a6ce4e6623e6977102e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 01:48:02 2008 +0200

    Regenerated pidl output.

commit bd8998226cef7bec8bb92a7d31ec7ddcb9d08511
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 01:33:47 2008 +0200

    Sync misc.idl with Samba 4.

commit daeceff217f3c5214b80a4645bfa0c0e03eeab04
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 01:30:11 2008 +0200

    Fix typo.

commit 45f97c4614e9fe7d4828eb47e32ebe0ba03893b5
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 01:23:36 2008 +0200

    Move shared DCE/RPC IDL files to root IDL dir.

commit 7f24027e024bc56cb95b76ee0f9838d609e903cb
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 15 01:15:58 2008 +0200

    Allow specifying the exact IDL files to build.

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/atsvc.idl                     |  119 +++
 librpc/idl/audiosrv.idl                  |   23 +
 librpc/idl/browser.idl                   |   58 ++
 librpc/idl/dbgidl.idl                    |    9 +
 librpc/idl/dcom.idl                      |  302 ++++++
 librpc/idl/dfs.idl                       |  419 ++++++++
 librpc/idl/dnsserver.idl                 |   12 +
 librpc/idl/dsbackup.idl                  |   34 +
 librpc/idl/dssetup.idl                   |  101 ++
 librpc/idl/echo.idl                      |  127 +++
 librpc/idl/efs.idl                       |  108 ++
 librpc/idl/frsapi.idl                    |  121 +++
 librpc/idl/frsrpc.idl                    |  168 ++++
 librpc/idl/idl_types.h                   |   69 ++
 librpc/idl/keysvc.idl                    |   16 +
 librpc/idl/mgmt.idl                      |   75 ++
 librpc/idl/misc.idl                      |   54 +
 librpc/idl/msgsvc.idl                    |   22 +
 librpc/idl/notify.idl                    |   58 ++
 librpc/idl/orpc.idl                      |  230 +++++
 librpc/idl/oxidresolver.idl              |   94 ++
 librpc/idl/policyagent.idl               |   13 +
 librpc/idl/protected_storage.idl         |   14 +
 librpc/idl/remact.idl                    |   46 +
 librpc/idl/rot.idl                       |   44 +
 librpc/idl/security.idl                  |  394 ++++++++
 librpc/idl/spoolss.idl                   | 1571 ++++++++++++++++++++++++++++++
 librpc/idl/trkwks.idl                    |   17 +
 librpc/idl/unixinfo.idl                  |   56 ++
 librpc/idl/w32time.idl                   |   21 +
 librpc/idl/wmi.idl                       |  716 ++++++++++++++
 librpc/idl/wzcsvc.idl                    |   31 +
 pidl/lib/Parse/Pidl/ODL.pm               |   13 +-
 source3/Makefile.in                      |   18 +-
 source3/configure.in                     |    2 +-
 source3/librpc/gen_ndr/ndr_security.c    |   26 +
 source3/librpc/gen_ndr/ndr_security.h    |    3 +
 source3/librpc/gen_ndr/security.h        |   14 +
 source3/librpc/idl/dfs.idl               |  419 --------
 source3/librpc/idl/dssetup.idl           |  101 --
 source3/librpc/idl/echo.idl              |  127 ---
 source3/librpc/idl/idl_types.h           |   69 --
 source3/librpc/idl/misc.idl              |   54 -
 source3/librpc/idl/notify.idl            |   58 --
 source3/librpc/idl/security.idl          |  376 -------
 source3/librpc/idl/spoolss.idl           | 1571 ------------------------------
 source3/script/build_idl.sh              |   12 +-
 source4/cluster/cluster.c                |    1 +
 source4/cluster/ctdb/ctdb_cluster.c      |    2 +-
 source4/cluster/local.c                  |    2 +-
 source4/librpc/config.mk                 |    6 +-
 source4/librpc/idl-deps.pl               |    3 +-
 source4/librpc/idl/atsvc.idl             |  119 ---
 source4/librpc/idl/audiosrv.idl          |   23 -
 source4/librpc/idl/browser.idl           |   58 --
 source4/librpc/idl/dbgidl.idl            |    9 -
 source4/librpc/idl/dcom.idl              |  302 ------
 source4/librpc/idl/dfs.idl               |  419 --------
 source4/librpc/idl/dnsserver.idl         |   12 -
 source4/librpc/idl/dsbackup.idl          |   34 -
 source4/librpc/idl/dssetup.idl           |  101 --
 source4/librpc/idl/echo.idl              |  127 ---
 source4/librpc/idl/efs.idl               |  108 --
 source4/librpc/idl/frsapi.idl            |  121 ---
 source4/librpc/idl/frsrpc.idl            |  168 ----
 source4/librpc/idl/idl_types.h           |   69 --
 source4/librpc/idl/keysvc.idl            |   16 -
 source4/librpc/idl/mgmt.idl              |   75 --
 source4/librpc/idl/misc.idl              |   60 --
 source4/librpc/idl/msgsvc.idl            |   22 -
 source4/librpc/idl/notify.idl            |   58 --
 source4/librpc/idl/opendb.idl            |    2 +-
 source4/librpc/idl/orpc.idl              |  230 -----
 source4/librpc/idl/oxidresolver.idl      |   94 --
 source4/librpc/idl/policyagent.idl       |   13 -
 source4/librpc/idl/protected_storage.idl |   14 -
 source4/librpc/idl/remact.idl            |   46 -
 source4/librpc/idl/rot.idl               |   44 -
 source4/librpc/idl/security.idl          |    7 +
 source4/librpc/idl/spoolss.idl           | 1571 ------------------------------
 source4/librpc/idl/trkwks.idl            |   17 -
 source4/librpc/idl/unixinfo.idl          |   56 --
 source4/librpc/idl/w32time.idl           |   21 -
 source4/librpc/idl/wmi.idl               |  716 --------------
 source4/librpc/idl/wzcsvc.idl            |   31 -
 source4/librpc/scripts/build_idl.sh      |   13 +-
 source4/ntvfs/ntvfs.h                    |    1 +
 source4/rpc_server/dcerpc_server.h       |    2 +-
 source4/smbd/service_stream.h            |    2 +-
 source4/smbd/service_task.h              |    2 +-
 90 files changed, 5238 insertions(+), 7564 deletions(-)
 create mode 100644 librpc/idl/atsvc.idl
 create mode 100644 librpc/idl/audiosrv.idl
 create mode 100644 librpc/idl/browser.idl
 create mode 100644 librpc/idl/dbgidl.idl
 create mode 100644 librpc/idl/dcom.idl
 create mode 100644 librpc/idl/dfs.idl
 create mode 100644 librpc/idl/dnsserver.idl
 create mode 100644 librpc/idl/dsbackup.idl
 create mode 100644 librpc/idl/dssetup.idl
 create mode 100644 librpc/idl/echo.idl
 create mode 100644 librpc/idl/efs.idl
 create mode 100644 librpc/idl/frsapi.idl
 create mode 100644 librpc/idl/frsrpc.idl
 create mode 100644 librpc/idl/idl_types.h
 create mode 100644 librpc/idl/keysvc.idl
 create mode 100644 librpc/idl/mgmt.idl
 create mode 100644 librpc/idl/misc.idl
 create mode 100644 librpc/idl/msgsvc.idl
 create mode 100644 librpc/idl/notify.idl
 create mode 100644 librpc/idl/orpc.idl
 create mode 100644 librpc/idl/oxidresolver.idl
 create mode 100644 librpc/idl/policyagent.idl
 create mode 100644 librpc/idl/protected_storage.idl
 create mode 100644 librpc/idl/remact.idl
 create mode 100644 librpc/idl/rot.idl
 create mode 100644 librpc/idl/security.idl
 create mode 100644 librpc/idl/spoolss.idl
 create mode 100644 librpc/idl/trkwks.idl
 create mode 100644 librpc/idl/unixinfo.idl
 create mode 100644 librpc/idl/w32time.idl
 create mode 100644 librpc/idl/wmi.idl
 create mode 100644 librpc/idl/wzcsvc.idl
 delete mode 100644 source3/librpc/idl/dfs.idl
 delete mode 100644 source3/librpc/idl/dssetup.idl
 delete mode 100644 source3/librpc/idl/echo.idl
 delete mode 100644 source3/librpc/idl/idl_types.h
 delete mode 100644 source3/librpc/idl/misc.idl
 delete mode 100644 source3/librpc/idl/notify.idl
 delete mode 100644 source3/librpc/idl/security.idl
 delete mode 100644 source3/librpc/idl/spoolss.idl
 delete mode 100644 source4/librpc/idl/atsvc.idl
 delete mode 100644 source4/librpc/idl/audiosrv.idl
 delete mode 100644 source4/librpc/idl/browser.idl
 delete mode 100644 source4/librpc/idl/dbgidl.idl
 delete mode 100644 source4/librpc/idl/dcom.idl
 delete mode 100644 source4/librpc/idl/dfs.idl
 delete mode 100644 source4/librpc/idl/dnsserver.idl
 delete mode 100644 source4/librpc/idl/dsbackup.idl
 delete mode 100644 source4/librpc/idl/dssetup.idl
 delete mode 100644 source4/librpc/idl/echo.idl
 delete mode 100644 source4/librpc/idl/efs.idl
 delete mode 100644 source4/librpc/idl/frsapi.idl
 delete mode 100644 source4/librpc/idl/frsrpc.idl
 delete mode 100644 source4/librpc/idl/idl_types.h
 delete mode 100644 source4/librpc/idl/keysvc.idl
 delete mode 100644 source4/librpc/idl/mgmt.idl
 delete mode 100644 source4/librpc/idl/misc.idl
 delete mode 100644 source4/librpc/idl/msgsvc.idl
 delete mode 100644 source4/librpc/idl/notify.idl
 delete mode 100644 source4/librpc/idl/orpc.idl
 delete mode 100644 source4/librpc/idl/oxidresolver.idl
 delete mode 100644 source4/librpc/idl/policyagent.idl
 delete mode 100644 source4/librpc/idl/protected_storage.idl
 delete mode 100644 source4/librpc/idl/remact.idl
 delete mode 100644 source4/librpc/idl/rot.idl
 delete mode 100644 source4/librpc/idl/spoolss.idl
 delete mode 100644 source4/librpc/idl/trkwks.idl
 delete mode 100644 source4/librpc/idl/unixinfo.idl
 delete mode 100644 source4/librpc/idl/w32time.idl
 delete mode 100644 source4/librpc/idl/wmi.idl
 delete mode 100644 source4/librpc/idl/wzcsvc.idl


Changeset truncated at 500 lines:

diff --git a/librpc/idl/atsvc.idl b/librpc/idl/atsvc.idl
new file mode 100644
index 0000000..75e1daa
--- /dev/null
+++ b/librpc/idl/atsvc.idl
@@ -0,0 +1,119 @@
+/*
+  atsvc interface definition
+*/
+
+[ uuid("1ff70682-0a51-30e8-076d-740be8cee98b"),
+  version(1.0),
+  pointer_default(unique),
+  helpstring("Microsoft AT-Scheduler Service"),
+  endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:")
+] interface atsvc
+{
+	typedef [bitmap32bit] bitmap {
+                First           =       0x00000001,
+                Second          =       0x00000002,
+                Third           =       0x00000004,
+                Fourth          =       0x00000008,
+                Fifth           =       0x00000010,
+                Sixth           =       0x00000020,
+                Seventh         =       0x00000040,
+                Eight           =       0x00000080,
+                Ninth           =       0x00000100,
+                Tenth           =       0x00000200,
+                Eleventh        =       0x00000400,
+                Twelfth         =       0x00000800,
+                Thitteenth      =       0x00001000,
+                Fourteenth      =       0x00002000,
+                Fifteenth       =       0x00004000,
+                Sixteenth       =       0x00008000,
+                Seventeenth     =       0x00010000,
+                Eighteenth      =       0x00020000,
+                Ninteenth       =       0x00040000,
+                Twentyth        =       0x00080000,
+                Twentyfirst     =       0x00100000,
+                Twentysecond    =       0x00200000,
+                Twentythird     =       0x00400000,
+                Twentyfourth    =       0x00800000,
+                Twentyfifth     =       0x01000000,
+                Twentysixth     =       0x02000000,
+                Twentyseventh   =       0x04000000,
+                Twentyeighth    =       0x08000000,
+                Twentyninth     =       0x10000000,
+                Thirtieth       =       0x20000000,
+                Thirtyfirst     =       0x40000000
+        } atsvc_DaysOfMonth;
+
+        typedef [bitmap8bit] bitmap {
+                JOB_RUN_PERIODICALLY    = 0x01,
+                JOB_EXEC_ERROR          = 0x02,
+                JOB_RUNS_TODAY          = 0x04,
+                JOB_ADD_CURRENT_DATE    = 0x08,
+                JOB_NONINTERACTIVE      = 0x10
+        } atsvc_Flags;
+
+	typedef [bitmap8bit] bitmap {
+		DAYSOFWEEK_MONDAY    = 0x01,
+		DAYSOFWEEK_TUESDAY   = 0x02,
+		DAYSOFWEEK_WEDNESDAY = 0x04,
+		DAYSOFWEEK_THURSDAY  = 0x08,
+		DAYSOFWEEK_FRIDAY    = 0x10,
+		DAYSOFWEEK_SATURDAY  = 0x20,
+		DAYSOFWEEK_SUNDAY    = 0x40
+	} atsvc_DaysOfWeek;
+	
+	typedef struct {
+		uint32 job_time;
+		atsvc_DaysOfMonth days_of_month;
+		atsvc_DaysOfWeek days_of_week;
+		atsvc_Flags flags;
+		[string,charset(UTF16)] uint16 *command;
+	} atsvc_JobInfo;
+
+	/******************/
+	/* Function: 0x00 */
+	[public] NTSTATUS atsvc_JobAdd(
+		[in,unique,string,charset(UTF16)] uint16 *servername,
+		[in] atsvc_JobInfo *job_info,
+		[out,ref]	 uint32 *job_id
+	);
+
+	/******************/
+	/* Function: 0x01 */
+	[public] NTSTATUS atsvc_JobDel(
+		[in,unique,string,charset(UTF16)] uint16 *servername,
+		[in]	uint32 min_job_id,
+		[in]	uint32 max_job_id
+	);
+
+	typedef struct {
+		uint32 job_id;
+		uint32 job_time;
+		atsvc_DaysOfMonth days_of_month;
+		atsvc_DaysOfWeek days_of_week;
+		atsvc_Flags flags;
+		[string,charset(UTF16)] uint16 *command;
+	} atsvc_JobEnumInfo;
+
+	typedef struct {
+		uint32 entries_read;
+		[size_is(entries_read)] atsvc_JobEnumInfo *first_entry;
+	} atsvc_enum_ctr;
+
+	/******************/
+	/* Function: 0x02 */
+	[public] NTSTATUS atsvc_JobEnum(
+		[in,unique,string,charset(UTF16)] uint16 *servername,
+		[in,out] 	 atsvc_enum_ctr *ctr,
+		[in]	     uint32 preferred_max_len,
+		[out,ref]	     uint32 *total_entries,
+		[in,out,unique]     uint32 *resume_handle
+	);
+
+	/******************/
+	/* Function: 0x03 */
+	[public] NTSTATUS atsvc_JobGetInfo(
+		[in,unique,string,charset(UTF16)]	uint16 *servername,
+		[in]	uint32 job_id,
+		[out]	atsvc_JobInfo **job_info
+	);
+}
diff --git a/librpc/idl/audiosrv.idl b/librpc/idl/audiosrv.idl
new file mode 100644
index 0000000..1b05986
--- /dev/null
+++ b/librpc/idl/audiosrv.idl
@@ -0,0 +1,23 @@
+[
+	uuid("0a74ef1c-41a4-4e06-83ae-dc74fb1cdd53"),
+	version(1.0),
+	pointer_default(unique),
+	helpstring("Audio Server")
+] interface audiosrv
+{
+	[todo] void audiosrv_CreatezoneFactoriesList();
+	[todo] void audiosrv_CreateGfxFactoriesList();
+	[todo] void audiosrv_CreateGfxList();
+	[todo] void audiosrv_RemoveGfx();
+	[todo] void audiosrv_AddGfx();
+	[todo] void audiosrv_ModifyGfx();
+	[todo] void audiosrv_OpenGfx();
+	[todo] void audiosrv_Logon();
+	[todo] void audiosrv_Logoff();
+	[todo] void audiosrv_RegisterSessionNotificationEvent();
+	[todo] void audiosrv_UnregisterSessionNotificationEvent();
+	[todo] void audiosrv_SessionConnectState();
+	[todo] void audiosrv_DriverOpenDrvRegKey();
+	[todo] void audiosrv_AdvisePreferredDeviceChange();
+	[todo] void audiosrv_GetPnpInfo();
+}
diff --git a/librpc/idl/browser.idl b/librpc/idl/browser.idl
new file mode 100644
index 0000000..5b05be9
--- /dev/null
+++ b/librpc/idl/browser.idl
@@ -0,0 +1,58 @@
+[ 
+  uuid("6bffd098-a112-3610-9833-012892020162"),
+  version(0.0), 
+  helpstring("Browsing"),
+  pointer_default(unique),
+  endpoint("ncacn_np:[\\pipe\\browser]", "ncacn_ip_tcp:", "ncalrpc:")
+] 
+interface browser
+{
+	/******************/
+	/* Function  0x00 */
+	[todo] NTSTATUS BrowserrServerEnum();
+
+	/******************/
+	/* Function  0x01 */
+	[todo] NTSTATUS BrowserrDebugCall();
+
+	/******************/
+	/* Function  0x02 */
+	[todo] NTSTATUS BrowserrQueryOtherDomains();
+
+	/******************/
+	/* Function  0x03 */
+	[todo] NTSTATUS BrowserrResetNetlogonState();
+
+	/******************/
+	/* Function  0x04 */
+	[todo] NTSTATUS BrowserrDebugTrace();
+
+	/******************/
+	/* Function  0x05 */
+	[todo] NTSTATUS BrowserrQueryStatistics();
+
+	/******************/
+	/* Function  0x06 */
+	[todo] NTSTATUS BrowserResetStatistics();
+
+	/******************/
+	/* Function  0x07 */
+	[todo] NTSTATUS NetrBrowserStatisticsClear();
+
+	/******************/
+	/* Function  0x08 */
+	[todo] NTSTATUS NetrBrowserStatisticsGet();
+
+	/******************/
+	/* Function  0x09 */
+	[todo] NTSTATUS BrowserrSetNetlogonState();
+
+	/******************/
+	/* Function  0x0a */
+	[todo] NTSTATUS BrowserrQueryEmulatedDomains();
+
+	/******************/
+	/* Function  0x0b */
+	[todo] NTSTATUS BrowserrServerEnumEx();
+
+}
diff --git a/librpc/idl/dbgidl.idl b/librpc/idl/dbgidl.idl
new file mode 100644
index 0000000..0712392
--- /dev/null
+++ b/librpc/idl/dbgidl.idl
@@ -0,0 +1,9 @@
+[
+	uuid("1d55b526-c137-46c5-ab79-638f2a68e869"),
+	version(1.0),
+   	pointer_default(unique),
+	helpstring("Remote IDL debugger")
+] interface dbgidl 
+{
+	void dummy_dbgidl();
+}
diff --git a/librpc/idl/dcom.idl b/librpc/idl/dcom.idl
new file mode 100644
index 0000000..977c7ed
--- /dev/null
+++ b/librpc/idl/dcom.idl
@@ -0,0 +1,302 @@
+/**
+  DCOM interfaces
+  http://www.ietf.org/internet-drafts/draft-brown-dcom-v1-spec-04.txt
+ */
+
+import "misc.idl";
+
+[
+	uuid("18f70770-8e64-11cf-9af1-0020af6e72f4"),
+	pointer_default(unique),
+	version(0.0)
+] interface dcom_Unknown
+{
+	void UseProtSeq();
+	void GetCustomProtseqInfo();
+	void UpdateResolverBindings();
+}
+
+[
+	object,
+	uuid("00000000-0000-0000-C000-000000000046"),
+	pointer_default(unique),
+	helpstring("Base interface for all COM interfaces")
+]
+interface IUnknown
+{
+	/*****************/
+	/* Function 0x00 */
+	/* Returns the interface with the specified IID 
+	   if implemented by this object */
+	[local] WERROR QueryInterface([in,unique] GUID *iid,
+	   [out,iid_is(riid)] IUnknown **data);
+
+	/*****************/
+	/* Function 0x01 */
+	[local] uint32 AddRef();
+
+	/*****************/
+	/* Function 0x02 */
+	[local] uint32 Release();
+}
+
+
+[
+	object,
+	uuid("00000001-0000-0000-C000-000000000046"),
+	pointer_default(unique)
+] interface IClassFactory : IUnknown
+{
+	[local] WERROR CreateInstance([in,unique] MInterfacePointer *pUnknown, 
+			       [in,unique] GUID *iid,
+			       [out, iid_is(riid),unique] MInterfacePointer *ppv);
+
+	[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 */
+	[local] WERROR LockServer([in] uint8 lock);
+
+	[call_as(LockServer)] WERROR RemoteLockServer();
+}
+
+/* The remote version of IUnknown. This interface exists on every */
+/* OXID (whether an OXID represents either a thread or a process is */
+/* implementation specific). It is used by clients to query for new */
+/* interfaces, get additional references (for marshaling), and release */
+/* outstanding references. */
+/* This interface is passed along during OXID resolution. */
+/* */
+[
+	uuid("00000131-0000-0000-C000-000000000046"),
+	object,
+	pointer_default(unique),
+	helpstring("Remote version of IUnknown")
+]
+interface IRemUnknown : IUnknown
+{
+	typedef [public] struct 
+	{
+		WERROR hResult; /* result of call */
+		STDOBJREF std; /* data for returned interface */
+	}
+	REMQIRESULT;
+
+	[call_as(QueryInterface)] WERROR RemQueryInterface (
+		[in,unique] GUID *ripid, /* interface to QI on */
+		[in] uint32 cRefs, /* count of AddRefs requested */
+		[in] uint16 cIids, /* count of IIDs that follow */
+		[in, unique, size_is(cIids)] GUID *iids, /* IIDs to QI for */
+		[out, size_is(cIids), unique] MInterfacePointer *ip
+		);
+
+	typedef struct 
+	{
+		GUID ipid; /* ipid to AddRef/Release */
+		uint32 cPublicRefs;
+		uint32 cPrivateRefs;
+	} REMINTERFACEREF;
+
+	[call_as(AddRef)] WERROR RemAddRef (
+		 [in] uint16 cInterfaceRefs,
+		 [in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[],
+		 [out, size_is(cInterfaceRefs), unique] WERROR *pResults
+		);
+
+	[call_as(Release)] WERROR RemRelease (
+		 [in] uint16 cInterfaceRefs,
+		 [in, size_is(cInterfaceRefs)] REMINTERFACEREF InterfaceRefs[]
+		);
+}
+
+[
+	uuid("00000140-0000-0000-c000-000000000046"),
+	pointer_default(unique),
+	object
+] interface IClassActivator : IUnknown
+{
+	void GetClassObject([in] GUID clsid, 
+		                [in] uint32 context,
+						[in] uint32 locale,
+						[in] GUID iid,
+						[out, iid_is(iid)] MInterfacePointer data);
+}
+
+[
+	uuid("00000136-0000-0000-c000-000000000046"),
+	pointer_default(unique),
+	object
+] interface ISCMLocalActivator : IClassActivator
+{
+	WERROR ISCMLocalActivator_CreateInstance( );
+}
+
+[
+	pointer_default(unique),
+	uuid("c6f3ee72-ce7e-11d1-b71e-00c04fc3111a")
+] interface IMachineLocalActivator 
+{
+	WERROR IMachineLocalActivator_foo();
+}
+
+[
+	pointer_default(unique),
+	uuid("e60c73e6-88f9-11cf-9af1-0020af6e72f4")
+] interface ILocalObjectExporter
+{
+	WERROR ILocalObjectExporter_Foo();
+}
+
+/* Looks like this is the equivalent of .NET's 
+   System.Activator class */
+[
+	uuid("000001a0-0000-0000-c000-000000000046"),
+	pointer_default(unique),
+	object
+]
+	interface ISystemActivator : IClassActivator
+{
+	WERROR ISystemActivatorRemoteCreateInstance([in] hyper unknown1,  /* OXID ? */
+											  [in] MInterfacePointer iface1,
+											  [in] hyper unknown2,
+											  [out] uint32 unknown3, 
+											  [out] MInterfacePointer iface2);
+}
+
+
+
+/* Derived from IRemUnknown, this interface supports Remote Query interface */
+/* for objects that supply additional data beyond the STDOBJREF in their */
+/* marshaled interface packets. */
+[
+	object,
+	pointer_default(unique),
+	uuid("00000143-0000-0000-C000-000000000046")
+]
+
+interface IRemUnknown2 : IRemUnknown
+{
+	[call_as(QueryInterface2)] WERROR RemQueryInterface2 (
+		 [in, unique] GUID *ripid,
+		 [in] uint16 cIids,
+		 [in, size_is(cIids), unique] GUID *iids,
+		 [out, size_is(cIids), unique] WERROR *phr,
+		 [out, size_is(cIids), unique] MInterfacePointer *ppMIF
+		);
+}
+
+[
+	object,
+	pointer_default(unique),
+	uuid("00020400-0000-0000-C000-000000000046")
+] interface IDispatch : IUnknown
+{
+	/*****************/
+	/* Function 0x03 */
+	WERROR GetTypeInfoCount(
+			[out, unique] uint16 *pctinfo);
+
+	typedef struct {
+	} REF_ITypeInfo;
+
+	/*****************/
+	/* Function 0x04 */
+	WERROR GetTypeInfo (
+			[in] uint16 iTInfo,
+			[in] uint32 lcid,
+			[out, unique] REF_ITypeInfo *ppTInfo);
+
+	/*****************/
+	/* Function 0x05 */
+	WERROR GetIDsOfNames(
+			[in, unique] GUID *riid,
+			/*FIXME[in,size_is(cNames)] OLESTR *rgszNames[], */
+			[in] uint16 cNames,
+			[in] uint32 lcid,
+			[out,size_is(cNames), unique] uint32 *rgDispId);
+
+	typedef struct {
+		uint16 vartype;
+		uint16 FIXME;
+	} VARIANT;
+
+	typedef struct {
+		uint16 FIXME;
+	} DISPPARAMS;
+
+	/* Exception ? */
+	typedef struct {
+		uint16 FIXME;
+	} EXCEPINFO;
+
+	/*****************/
+	/* Function 0x06 */
+	WERROR Invoke(
+			[in] uint32 dispIdMember,
+			[in, unique] GUID *riid,
+			[in] uint32 lcid,
+			[in] uint16 wFlags,
+			[out,in, unique] DISPPARAMS *pDispParams,
+			[out, unique] VARIANT *pVarResult,
+			[out, unique] EXCEPINFO *pExcepInfo,
+			[out, unique] uint16 *puArgErr);
+}
+
+[
+	object,
+	local,
+	uuid("00000003-0000-0000-C000-000000000046")
+] interface IMarshal : IUnknown
+{
+	WERROR MarshalInterface();
+	WERROR UnMarshalInterface();
+}
+
+[
+	uuid(DA23F6DB-6F45-466C-9EED-0B65286F2D78),
+	helpstring("ICoffeeMachine Interface"),
+	pointer_default(unique),
+	object
+] interface ICoffeeMachine : IUnknown
+{


-- 
Samba Shared Repository


More information about the samba-cvs mailing list