summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Chapman <matty@samba.org>1999-04-23 23:49:46 +0000
committerMatthew Chapman <matty@samba.org>1999-04-23 23:49:46 +0000
commitefd4ae27a6da1ae869bc93f93ce0e65cb2401f79 (patch)
tree51b1c981c26b837f37f9edc769bf61fe56ae705e
parent16758a425265afaf6d4ba2636fdafbdb5b26b708 (diff)
downloadsamba-efd4ae27a6da1ae869bc93f93ce0e65cb2401f79.tar.gz
samba-efd4ae27a6da1ae869bc93f93ce0e65cb2401f79.tar.bz2
samba-efd4ae27a6da1ae869bc93f93ce0e65cb2401f79.zip
Adding scheduler control pipe (\atsvc), client-side routines, and rpcclient
command "at" (compatible with NT's "at" command - see rpcclient commit) - useful for remote NT administration. (This used to be commit 568c40cc65e46590ba1e9850662934f1a28bd83d)
-rw-r--r--source3/include/rpc_atsvc.h155
1 files changed, 155 insertions, 0 deletions
diff --git a/source3/include/rpc_atsvc.h b/source3/include/rpc_atsvc.h
new file mode 100644
index 0000000000..2b983f438e
--- /dev/null
+++ b/source3/include/rpc_atsvc.h
@@ -0,0 +1,155 @@
+/*
+ Unix SMB/Netbios implementation.
+ Version 1.9.
+ Interface header: Scheduler service
+ Copyright (C) Matthew Chapman 1999
+ Copyright (C) Luke Kenneth Casson Leighton 1996-1999
+ Copyright (C) Andrew Tridgell 1992-1999
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef _RPC_ATSVC_H
+#define _RPC_ATSVC_H
+
+#define AT_ADD_JOB 0x00
+#define AT_DEL_JOB 0x01
+#define AT_ENUM_JOBS 0x02
+#define AT_QUERY_JOB 0x03
+
+
+#define JOB_PERIODIC 0x01
+#define JOB_EXEC_ERR 0x02
+#define JOB_RUNS_TODAY 0x04
+#define JOB_INCLUDE_TODAY 0x08
+#define JOB_NONINTERACTIVE 0x10
+
+/* AT_JOB_INFO */
+typedef struct at_job_info_info
+{
+ uint32 time; /* milliseconds after midnight */
+ uint32 monthdays; /* bitmask of days of month */
+ uint8 weekdays; /* bitmask of days of week */
+ uint8 flags; /* JOB_xx */
+
+ uint32 ptr_command;
+
+} AT_JOB_INFO;
+
+/* AT_Q_ADD_JOB */
+typedef struct q_at_add_job_info
+{
+ uint32 ptr_srv_name;
+ UNISTR2 uni_srv_name;
+
+ AT_JOB_INFO info;
+ UNISTR2 command;
+
+} AT_Q_ADD_JOB;
+
+/* AT_R_ADD_JOB */
+typedef struct r_at_add_job_info
+{
+ uint32 jobid;
+ uint32 status;
+
+} AT_R_ADD_JOB;
+
+
+/* AT_Q_DEL_JOB */
+typedef struct q_at_del_job_info
+{
+ uint32 ptr_srv_name;
+ UNISTR2 uni_srv_name;
+
+ uint32 min_jobid;
+ uint32 max_jobid;
+
+} AT_Q_DEL_JOB;
+
+/* AT_R_DEL_JOB */
+typedef struct r_at_del_job_info
+{
+ uint32 status;
+
+} AT_R_DEL_JOB;
+
+
+/* AT_Q_ENUM_JOBS */
+typedef struct q_at_enum_jobs_info
+{
+ uint32 ptr_srv_name;
+ UNISTR2 uni_srv_name;
+
+ uint32 unknown0; /* 0 */
+ uint32 unknown1; /* 0 */
+ uint32 max_len; /* preferred max length */
+
+ uint32 ptr_resume;
+ uint32 hnd_resume; /* resume handle */
+
+} AT_Q_ENUM_JOBS;
+
+/* AT_ENUM_INFO */
+typedef struct q_at_enum_info_info
+{
+ uint32 jobid;
+ AT_JOB_INFO info;
+
+} AT_ENUM_INFO;
+
+#define AT_MAX_JOBS 256
+
+/* AT_R_ENUM_JOBS */
+typedef struct r_at_enum_jobs_info
+{
+ uint32 num_entries; /* entries returned */
+ uint32 ptr_entries;
+ uint32 num_entries2;
+
+ AT_ENUM_INFO info[AT_MAX_JOBS];
+ UNISTR2 command[AT_MAX_JOBS];
+
+ uint32 total_entries; /* total entries */
+ uint32 ptr_resume;
+ uint32 hnd_resume; /* resume handle */
+
+ uint32 status;
+
+} AT_R_ENUM_JOBS;
+
+
+/* AT_Q_QUERY_JOB */
+typedef struct q_at_query_job_info
+{
+ uint32 ptr_srv_name;
+ UNISTR2 uni_srv_name;
+
+ uint32 jobid;
+
+} AT_Q_QUERY_JOB;
+
+/* AT_R_QUERY_JOB */
+typedef struct r_at_query_job_info
+{
+ uint32 ptr_info;
+ AT_JOB_INFO info;
+ UNISTR2 command;
+
+ uint32 status;
+
+} AT_R_QUERY_JOB;
+
+#endif /* _RPC_ATSVC_H */