From 60c211a3abd5eadb359db5f02941f32e2d881e52 Mon Sep 17 00:00:00 2001 From: Jean-François Micouleau Date: Mon, 3 May 1999 21:52:29 +0000 Subject: Added a new command to rpcclient: eventlog where is System, Security or Application. That's a crude equivalent to the eventviewer. Jean Francois (This used to be commit 66b4b896fbcabb964a427d0c0aa2f57997e0f6bb) --- source3/rpcclient/cmd_eventlog.c | 94 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 source3/rpcclient/cmd_eventlog.c (limited to 'source3/rpcclient/cmd_eventlog.c') diff --git a/source3/rpcclient/cmd_eventlog.c b/source3/rpcclient/cmd_eventlog.c new file mode 100644 index 0000000000..e6e10c44eb --- /dev/null +++ b/source3/rpcclient/cmd_eventlog.c @@ -0,0 +1,94 @@ +/* + Unix SMB/Netbios implementation. + Version 2.1. + Copyright (C) Luke Kenneth Casson Leighton 1996-1999, + Copyright (C) Andrew Tridgell 1994-1999, + Copyright (C) Jean Francois Micouleau 1998-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. +*/ + + +#ifdef SYSLOG +#undef SYSLOG +#endif + +#include "includes.h" +#include "nterr.h" + +extern int DEBUGLEVEL; + +#define DEBUG_TESTING + +extern struct cli_state *smb_cli; +extern FILE* out_hnd; + + +/**************************************************************************** +****************************************************************************/ +void cmd_eventlog(struct client_info *info) +{ + uint16 nt_pipe_fnum; + BOOL res = True; + POLICY_HND hnd; + uint32 number; + uint32 flags; + uint32 offset; + uint32 num_of_bytes; + EVENTLOGRECORD ev; + + fstring journal; + fstring temp; + + flags=EVENTLOG_READ_SEQUENTIAL|EVENTLOG_READ_BACKWARD; + + while (next_token(NULL, temp, NULL, sizeof(temp))) + { + fstrcpy(journal, temp); + } + + /* open scheduler session. */ + res = res ? cli_nt_session_open(smb_cli, PIPE_EVENTLOG, &nt_pipe_fnum) : False; + + res = res ? do_event_open(smb_cli, nt_pipe_fnum, journal, &hnd) : False; + + res = res ? do_event_numofeventlogrec(smb_cli, nt_pipe_fnum, &hnd, &number) : False; + + fprintf(out_hnd, "Number of events: %d\n", number); + + display_eventlog_eventrecord(out_hnd, ACTION_HEADER, &ev); + + for (offset=0; offset