svn commit: samba r8575 - in branches/SAMBA_4_0/source/scripting: . bin libjs

tridge at samba.org tridge at samba.org
Tue Jul 19 03:59:25 GMT 2005


Author: tridge
Date: 2005-07-19 03:59:25 +0000 (Tue, 19 Jul 2005)
New Revision: 8575

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

Log:
the beginnings of a smbstatus command


Added:
   branches/SAMBA_4_0/source/scripting/bin/
   branches/SAMBA_4_0/source/scripting/bin/smbstatus
   branches/SAMBA_4_0/source/scripting/libjs/management.js


Changeset:
Added: branches/SAMBA_4_0/source/scripting/bin/smbstatus
===================================================================
--- branches/SAMBA_4_0/source/scripting/bin/smbstatus	2005-07-19 03:58:44 UTC (rev 8574)
+++ branches/SAMBA_4_0/source/scripting/bin/smbstatus	2005-07-19 03:59:25 UTC (rev 8575)
@@ -0,0 +1,26 @@
+#!/bin/sh
+exec smbscript "$0" ${1+"$@"}
+/*
+  provide information on connected users and open files
+  Copyright Andrew Tridgell 2005
+  Released under the GNU GPL v2 or later
+*/	
+
+libinclude("base.js");
+libinclude("management.js");
+
+var options = new Object();
+
+ok = GetOptions(ARGV, options,
+		"POPT_AUTOHELP",
+		"POPT_COMMON_SAMBA");
+if (ok == false) {
+   println("Failed to parse options: " + options.ERROR);
+   return -1;
+}
+
+
+var sessions = smbsrv_sessions();
+printVars(sessions);
+
+return 0;


Property changes on: branches/SAMBA_4_0/source/scripting/bin/smbstatus
___________________________________________________________________
Name: svn:executable
   + *

Added: branches/SAMBA_4_0/source/scripting/libjs/management.js
===================================================================
--- branches/SAMBA_4_0/source/scripting/libjs/management.js	2005-07-19 03:58:44 UTC (rev 8574)
+++ branches/SAMBA_4_0/source/scripting/libjs/management.js	2005-07-19 03:59:25 UTC (rev 8575)
@@ -0,0 +1,33 @@
+/*
+	backend code for Samba4 management
+	Copyright Andrew Tridgell 2005
+	Released under the GNU GPL v2 or later
+*/
+
+/*
+  return a list of current sessions 
+*/
+function smbsrv_sessions()
+{
+	var conn = new Object();
+	var irpc = irpc_init();
+	status = irpc_connect(conn, "smb_server");
+	assert(status.is_ok == true);
+
+	var io = irpcObj();
+	io.input.level = irpc.SMBSRV_INFO_SESSIONS;
+	status = irpc.smbsrv_information(conn, io);
+
+	/* gather the results into a single array */
+	var i, count=0, ret = new Object();
+	for (i=0;i<io.results.length;i++) {
+		var sessions = io.results[i].info.sessions.sessions;
+		var j;
+		for (j=0;j<sessions.length;j++) {
+			ret[count] = sessions[j];
+			count++;
+		}
+	}
+	ret.length = count;
+	return ret;
+}



More information about the samba-cvs mailing list