summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>1999-05-03 22:00:33 +0000
committerJean-François Micouleau <jfm@samba.org>1999-05-03 22:00:33 +0000
commit9ac038817ea75db29ccf7d6d149483eeaa88ecb6 (patch)
tree19684c1ba12207b645287190b2e69a2ec345b7e0
parent60c211a3abd5eadb359db5f02941f32e2d881e52 (diff)
downloadsamba-9ac038817ea75db29ccf7d6d149483eeaa88ecb6.tar.gz
samba-9ac038817ea75db29ccf7d6d149483eeaa88ecb6.tar.bz2
samba-9ac038817ea75db29ccf7d6d149483eeaa88ecb6.zip
Changed the RPC api definition now first arg is a pipe_struct
found some memory leak in the spoolss code. Jean Francois (This used to be commit 958591abd1645aaa459540a232231d380d879219)
-rw-r--r--source3/Makefile.in6
-rw-r--r--source3/include/ntdomain.h3
-rw-r--r--source3/include/proto.h32
-rwxr-xr-xsource3/include/rpc_spoolss.h4
-rw-r--r--source3/include/smb.h2
5 files changed, 40 insertions, 7 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 51539f4302..51558de749 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -142,7 +142,7 @@ RPC_PARSE_OBJ = rpc_parse/parse_lsa.o rpc_parse/parse_misc.o \
rpc_parse/parse_samr.o rpc_parse/parse_srv.o \
rpc_parse/parse_wks.o rpc_parse/parse_sec.o \
rpc_parse/parse_svc.o rpc_parse/parse_at.o \
- rpc_parse/parse_spoolss.o
+ rpc_parse/parse_spoolss.o rpc_parse/parse_eventlog.o
RPC_CLIENT_OBJ = \
rpc_client/cli_login.o \
@@ -154,7 +154,8 @@ RPC_CLIENT_OBJ = \
rpc_client/cli_srvsvc.o \
rpc_client/cli_svcctl.o \
rpc_client/cli_samr.o \
- rpc_client/cli_atsvc.o
+ rpc_client/cli_atsvc.o \
+ rpc_client/cli_eventlog.o
LOCKING_OBJ = locking/locking.o locking/locking_shm.o locking/locking_slow.o \
@@ -248,6 +249,7 @@ RPCCLIENT_OBJ = rpcclient/rpcclient.o \
rpcclient/cmd_svcctl.o \
rpcclient/cmd_netlogon.o \
rpcclient/cmd_atsvc.o \
+ rpcclient/cmd_eventlog.o \
$(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
$(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ)
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index cfd1cc37b3..ce4d1ed148 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -44,6 +44,7 @@
#include "rpc_wkssvc.h"
#include "rpc_atsvc.h"
#include "rpc_spoolss.h"
+#include "rpc_eventlog.h"
/*
* A bunch of stuff that was put into smb.h
@@ -110,7 +111,7 @@ struct api_struct
{
char *name;
uint8 opnum;
- void (*fn) (uint16 vuid, prs_struct*, prs_struct*);
+ void (*fn) (pipes_struct*, prs_struct*, prs_struct*);
};
struct mem_desc
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 13e75421c3..b12787fecb 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1580,7 +1580,7 @@ struct passgrp_ops *unix_initialise_password_grp(void);
/*The following definitions come from printing/nt_printing.c */
int get_ntforms(nt_forms_struct **list);
-int get_ntdrivers(fstring **list, char *architecture);
+int get_ntdrivers(connection_struct *conn, fstring **list, char *architecture);
void get_short_archi(char *short_archi, char *long_archi);
void dump_a_param(NT_PRINTER_PARAM *param);
BOOL add_a_specific_param(NT_PRINTER_INFO_LEVEL_2 *info_2, NT_PRINTER_PARAM *param);
@@ -1639,6 +1639,15 @@ BOOL at_enum_jobs(struct cli_state *cli, uint16 fnum,
BOOL at_query_job(struct cli_state *cli, uint16 fnum, char *server_name,
uint32 jobid, AT_JOB_INFO *job, fstring command);
+/*The following definitions come from rpc_client/cli_eventlog.c */
+
+BOOL do_event_open(struct cli_state *cli, uint16 fnum, char *log, POLICY_HND *hnd);
+BOOL do_event_close(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd);
+BOOL do_event_numofeventlogrec(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, uint32 *number);
+BOOL do_event_readeventlog(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd,
+ uint32 number, uint32 flags, uint32 offset,
+ uint32 *number_of_bytes, EVENTLOGRECORD *ev);
+
/*The following definitions come from rpc_client/cli_login.c */
BOOL cli_nt_setup_creds(struct cli_state *cli, uint16 fnum,
@@ -1964,6 +1973,22 @@ void make_at_q_query_job(AT_Q_QUERY_JOB *q_q, char *server, uint32 jobid);
void at_io_q_query_job(char *desc, AT_Q_QUERY_JOB *q_q, prs_struct *ps, int depth);
void at_io_r_query_job(char *desc, AT_R_QUERY_JOB *r_q, prs_struct *ps, int depth);
+/*The following definitions come from rpc_parse/parse_eventlog.c */
+
+void make_eventlog_q_open(EVENTLOG_Q_OPEN *q_u, char *journal);
+void eventlog_io_q_open(char *desc, EVENTLOG_Q_OPEN *q_u, prs_struct *ps, int depth);
+void eventlog_io_r_open(char *desc, EVENTLOG_R_OPEN *r_u, prs_struct *ps, int depth);
+void make_eventlog_q_close(EVENTLOG_Q_CLOSE *q_u, POLICY_HND *pol);
+void eventlog_io_q_close(char *desc, EVENTLOG_Q_CLOSE *q_u, prs_struct *ps, int depth);
+void eventlog_io_r_close(char *desc, EVENTLOG_R_CLOSE *r_u, prs_struct *ps, int depth);
+void make_eventlog_q_numofeventlogrec(EVENTLOG_Q_NUMOFEVENTLOGREC *q_u, POLICY_HND *pol);
+void eventlog_io_q_numofeventlogrec(char *desc,EVENTLOG_Q_NUMOFEVENTLOGREC *q_u, prs_struct *ps, int depth);
+void eventlog_io_r_numofeventlogrec(char *desc, EVENTLOG_R_NUMOFEVENTLOGREC *r_u, prs_struct *ps, int depth);
+void make_eventlog_q_readeventlog(EVENTLOG_Q_READEVENTLOG *q_u, POLICY_HND *pol,
+ uint32 flags, uint32 offset, uint32 number_of_bytes);
+void eventlog_io_q_readeventlog(char *desc, EVENTLOG_Q_READEVENTLOG *q_u, prs_struct *ps, int depth);
+void eventlog_io_r_readeventlog(char *desc, EVENTLOG_R_READEVENTLOG *r_u, prs_struct *ps, int depth);
+
/*The following definitions come from rpc_parse/parse_lsa.c */
void make_lsa_trans_name(LSA_TRANS_NAME *trn, UNISTR2 *uni_name,
@@ -3027,6 +3052,10 @@ BOOL api_wkssvc_rpc(pipes_struct *p, prs_struct *data);
void cmd_at(struct client_info *info);
+/*The following definitions come from rpcclient/cmd_eventlog.c */
+
+void cmd_eventlog(struct client_info *info);
+
/*The following definitions come from rpcclient/cmd_lsarpc.c */
void cmd_lsa_query_info(struct client_info *info);
@@ -3167,6 +3196,7 @@ void display_at_enum_info(FILE *out_hnd, enum action_type action,
uint32 num_jobs, AT_ENUM_INFO *jobs, fstring *commands);
void display_at_job_info(FILE *out_hnd, enum action_type action,
AT_JOB_INFO *job, fstring command);
+void display_eventlog_eventrecord(FILE *out_hnd, enum action_type action, EVENTLOGRECORD *ev);
/*The following definitions come from rpcclient/rpcclient.c */
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 91c018a669..f8e7efe81b 100755
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -4,7 +4,7 @@
SMB parameters and setup
Copyright (C) Andrew Tridgell 1992-1998
Copyright (C) Luke Kenneth Casson Leighton 1996-1998
- Copyright (C) Jean Francois Micouleau 1998
+ 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
@@ -854,7 +854,7 @@ struct s_notify_info_data_table
uint16 field;
char *name;
uint32 size;
- void (*fn) (int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer);
+ void (*fn) (connection_struct *conn, int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer);
};
typedef struct spool_q_getprinterdriver2
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 24f95baaa5..e69051304a 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -364,7 +364,7 @@ typedef char fstring[FSTRING_LEN];
#define PIPE_LSARPC "\\PIPE\\lsarpc"
#define PIPE_ATSVC "\\PIPE\\atsvc"
#define PIPE_SPOOLSS "\\pipe\\spoolss"
-
+#define PIPE_EVENTLOG "\\PIPE\\EVENTLOG"
/* 64 bit time (100usec) since ????? - cifs6.txt, section 3.5, page 30 */
typedef struct nttime_info