svn commit: samba r4175 - in branches/SAMBA_4_0/source: librpc/idl torture/rpc

jelmer at samba.org jelmer at samba.org
Mon Dec 13 11:00:25 GMT 2004


Author: jelmer
Date: 2004-12-13 11:00:24 +0000 (Mon, 13 Dec 2004)
New Revision: 4175

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4175

Log:
InitiateSystemShutdownEx IDL and torture test

Modified:
   branches/SAMBA_4_0/source/librpc/idl/winreg.idl
   branches/SAMBA_4_0/source/torture/rpc/winreg.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/winreg.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/winreg.idl	2004-12-13 10:48:35 UTC (rev 4174)
+++ branches/SAMBA_4_0/source/librpc/idl/winreg.idl	2004-12-13 11:00:24 UTC (rev 4175)
@@ -324,7 +324,13 @@
 	/******************/
 	/* Function: 0x1e */
 	WERROR winreg_InitiateSystemShutdownEx(
-		);
+		[in] uint16 *hostname,
+		[in] winreg_String *message,
+		[in] uint32 timeout,
+		[in] uint8 force_apps,
+		[in] uint8 reboot,
+		[in] uint32 reason
+	);
 
 	/******************/
 	/* Function: 0x1f */

Modified: branches/SAMBA_4_0/source/torture/rpc/winreg.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/winreg.c	2004-12-13 10:48:35 UTC (rev 4174)
+++ branches/SAMBA_4_0/source/torture/rpc/winreg.c	2004-12-13 11:00:24 UTC (rev 4175)
@@ -578,6 +578,35 @@
 	return True;
 }
 
+static BOOL test_InitiateSystemShutdownEx(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+			const char *msg, uint32_t timeout)
+{
+	struct winreg_InitiateSystemShutdownEx r;
+	NTSTATUS status;
+	
+	r.in.hostname = NULL;
+	r.in.message = talloc_p(mem_ctx, struct winreg_String);
+	init_winreg_String(r.in.message, msg);
+	r.in.force_apps = 1;
+	r.in.timeout = timeout;
+	r.in.reboot = 1;
+	r.in.reason = 0;
+
+	status = dcerpc_winreg_InitiateSystemShutdownEx(p, mem_ctx, &r);
+
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("InitiateSystemShutdownEx failed - %s\n", nt_errstr(status));
+		return False;
+	}
+
+	if (!W_ERROR_IS_OK(r.out.result)) {
+		printf("InitiateSystemShutdownEx failed - %s\n", win_errstr(r.out.result));
+		return False;
+	}
+
+	return True;
+}
+
 static BOOL test_AbortSystemShutdown(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
 {
 	struct winreg_AbortSystemShutdown r;
@@ -746,6 +775,8 @@
 	} else {
 		ret &= test_InitiateSystemShutdown(p, mem_ctx, "spottyfood", 30);
 		ret &= test_AbortSystemShutdown(p, mem_ctx);
+		ret &= test_InitiateSystemShutdownEx(p, mem_ctx, "spottyfood", 30);
+		ret &= test_AbortSystemShutdown(p, mem_ctx);
 	}
 
 	for (i = 0; i < ARRAY_SIZE(open_fns); i++) {



More information about the samba-cvs mailing list