summaryrefslogtreecommitdiff
path: root/source3/rpcclient/cmd_eventlog.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-01-20 20:10:16 +0100
committerGünther Deschner <gd@samba.org>2009-01-24 03:33:43 +0100
commitc92ec31d305ee4f8b31f69d576cfbfb90bec8b49 (patch)
tree4746b9e9aa47fb1442509bd691c1d113ad67c160 /source3/rpcclient/cmd_eventlog.c
parentbfc2d3bf0a6fe565a61dbe5f55f2c12d0ebc3967 (diff)
downloadsamba-c92ec31d305ee4f8b31f69d576cfbfb90bec8b49.tar.gz
samba-c92ec31d305ee4f8b31f69d576cfbfb90bec8b49.tar.bz2
samba-c92ec31d305ee4f8b31f69d576cfbfb90bec8b49.zip
s3-rpcclient: add eventlog_registerevsource command.
Guenther
Diffstat (limited to 'source3/rpcclient/cmd_eventlog.c')
-rw-r--r--source3/rpcclient/cmd_eventlog.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/source3/rpcclient/cmd_eventlog.c b/source3/rpcclient/cmd_eventlog.c
index a8b4e6bf8c..0da6d956f7 100644
--- a/source3/rpcclient/cmd_eventlog.c
+++ b/source3/rpcclient/cmd_eventlog.c
@@ -324,6 +324,44 @@ static NTSTATUS cmd_eventlog_reporteventsource(struct rpc_pipe_client *cli,
return status;
}
+static NTSTATUS cmd_eventlog_registerevsource(struct rpc_pipe_client *cli,
+ TALLOC_CTX *mem_ctx,
+ int argc,
+ const char **argv)
+{
+ NTSTATUS status;
+ struct policy_handle log_handle;
+ struct lsa_String module_name, reg_module_name;
+ struct eventlog_OpenUnknown0 unknown0;
+
+ unknown0.unknown0 = 0x005c;
+ unknown0.unknown1 = 0x0001;
+
+ if (argc != 2) {
+ printf("Usage: %s logname\n", argv[0]);
+ return NT_STATUS_OK;
+ }
+
+ init_lsa_String(&module_name, "rpcclient");
+ init_lsa_String(&reg_module_name, NULL);
+
+ status = rpccli_eventlog_RegisterEventSourceW(cli, mem_ctx,
+ &unknown0,
+ &module_name,
+ &reg_module_name,
+ 1, /* major_version */
+ 1, /* minor_version */
+ &log_handle);
+ if (!NT_STATUS_IS_OK(status)) {
+ goto done;
+ }
+
+ done:
+ rpccli_eventlog_DeregisterEventSource(cli, mem_ctx, &log_handle);
+
+ return status;
+}
+
struct cmd_set eventlog_commands[] = {
{ "EVENTLOG" },
@@ -332,5 +370,6 @@ struct cmd_set eventlog_commands[] = {
{ "eventlog_oldestrecord", RPC_RTYPE_NTSTATUS, cmd_eventlog_oldestrecord, NULL, &ndr_table_eventlog.syntax_id, NULL, "Get oldest record", "" },
{ "eventlog_reportevent", RPC_RTYPE_NTSTATUS, cmd_eventlog_reportevent, NULL, &ndr_table_eventlog.syntax_id, NULL, "Report event", "" },
{ "eventlog_reporteventsource", RPC_RTYPE_NTSTATUS, cmd_eventlog_reporteventsource, NULL, &ndr_table_eventlog.syntax_id, NULL, "Report event and source", "" },
+ { "eventlog_registerevsource", RPC_RTYPE_NTSTATUS, cmd_eventlog_registerevsource, NULL, &ndr_table_eventlog.syntax_id, NULL, "Register event source", "" },
{ NULL }
};