mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
s3: re-run make samba3-idl.
Guenther
This commit is contained in:
parent
b57c37d6ae
commit
4cac1da142
@ -47,12 +47,16 @@ NTSTATUS rpccli_eventlog_ClearEventLogW(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_BackupEventLogW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
struct lsa_String *backup_filename /* [in] [ref] */)
|
||||
{
|
||||
struct eventlog_BackupEventLogW r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
r.in.backup_filename = backup_filename;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_BackupEventLogW, &r);
|
||||
@ -122,12 +126,14 @@ NTSTATUS rpccli_eventlog_CloseEventLog(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_DeregisterEventSource(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in,out] [ref] */)
|
||||
{
|
||||
struct eventlog_DeregisterEventSource r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_DeregisterEventSource, &r);
|
||||
@ -152,6 +158,7 @@ NTSTATUS rpccli_eventlog_DeregisterEventSource(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
/* Return variables */
|
||||
*handle = *r.out.handle;
|
||||
|
||||
/* Return result */
|
||||
return r.out.result;
|
||||
@ -322,12 +329,23 @@ NTSTATUS rpccli_eventlog_OpenEventLogW(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_RegisterEventSourceW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */,
|
||||
struct lsa_String *module_name /* [in] [ref] */,
|
||||
struct lsa_String *reg_module_name /* [in] [ref] */,
|
||||
uint32_t major_version /* [in] */,
|
||||
uint32_t minor_version /* [in] */,
|
||||
struct policy_handle *log_handle /* [out] [ref] */)
|
||||
{
|
||||
struct eventlog_RegisterEventSourceW r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.unknown0 = unknown0;
|
||||
r.in.module_name = module_name;
|
||||
r.in.reg_module_name = reg_module_name;
|
||||
r.in.major_version = major_version;
|
||||
r.in.minor_version = minor_version;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_RegisterEventSourceW, &r);
|
||||
@ -352,18 +370,28 @@ NTSTATUS rpccli_eventlog_RegisterEventSourceW(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
/* Return variables */
|
||||
*log_handle = *r.out.log_handle;
|
||||
|
||||
/* Return result */
|
||||
return r.out.result;
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_OpenBackupEventLogW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */,
|
||||
struct lsa_String *backup_logname /* [in] [ref] */,
|
||||
uint32_t major_version /* [in] */,
|
||||
uint32_t minor_version /* [in] */,
|
||||
struct policy_handle *handle /* [out] [ref] */)
|
||||
{
|
||||
struct eventlog_OpenBackupEventLogW r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.unknown0 = unknown0;
|
||||
r.in.backup_logname = backup_logname;
|
||||
r.in.major_version = major_version;
|
||||
r.in.minor_version = minor_version;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_OpenBackupEventLogW, &r);
|
||||
@ -388,6 +416,7 @@ NTSTATUS rpccli_eventlog_OpenBackupEventLogW(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
/* Return variables */
|
||||
*handle = *r.out.handle;
|
||||
|
||||
/* Return result */
|
||||
return r.out.result;
|
||||
@ -444,12 +473,40 @@ NTSTATUS rpccli_eventlog_ReadEventLogW(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_ReportEventW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
time_t timestamp /* [in] */,
|
||||
enum eventlogEventTypes event_type /* [in] */,
|
||||
uint16_t event_category /* [in] */,
|
||||
uint32_t event_id /* [in] */,
|
||||
uint16_t num_of_strings /* [in] [range(0,256)] */,
|
||||
uint32_t data_size /* [in] [range(0,0x3FFFF)] */,
|
||||
struct lsa_String *servername /* [in] [ref] */,
|
||||
struct dom_sid *user_sid /* [in] [unique] */,
|
||||
struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */,
|
||||
uint8_t *data /* [in] [unique,size_is(data_size)] */,
|
||||
uint16_t flags /* [in] */,
|
||||
uint32_t *record_number /* [in,out] [unique] */,
|
||||
time_t *time_written /* [in,out] [unique] */)
|
||||
{
|
||||
struct eventlog_ReportEventW r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
r.in.timestamp = timestamp;
|
||||
r.in.event_type = event_type;
|
||||
r.in.event_category = event_category;
|
||||
r.in.event_id = event_id;
|
||||
r.in.num_of_strings = num_of_strings;
|
||||
r.in.data_size = data_size;
|
||||
r.in.servername = servername;
|
||||
r.in.user_sid = user_sid;
|
||||
r.in.strings = strings;
|
||||
r.in.data = data;
|
||||
r.in.flags = flags;
|
||||
r.in.record_number = record_number;
|
||||
r.in.time_written = time_written;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_ReportEventW, &r);
|
||||
@ -474,6 +531,12 @@ NTSTATUS rpccli_eventlog_ReportEventW(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
/* Return variables */
|
||||
if (record_number && r.out.record_number) {
|
||||
*record_number = *r.out.record_number;
|
||||
}
|
||||
if (time_written && r.out.time_written) {
|
||||
*time_written = *r.out.time_written;
|
||||
}
|
||||
|
||||
/* Return result */
|
||||
return r.out.result;
|
||||
@ -840,12 +903,20 @@ NTSTATUS rpccli_eventlog_WriteClusterEvents(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_GetLogIntormation(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx)
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t level /* [in] */,
|
||||
uint8_t *buffer /* [out] [ref,size_is(buf_size)] */,
|
||||
uint32_t buf_size /* [in] [range(0,1024)] */,
|
||||
uint32_t *bytes_needed /* [out] [ref] */)
|
||||
{
|
||||
struct eventlog_GetLogIntormation r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
r.in.level = level;
|
||||
r.in.buf_size = buf_size;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_GetLogIntormation, &r);
|
||||
@ -870,6 +941,8 @@ NTSTATUS rpccli_eventlog_GetLogIntormation(struct rpc_pipe_client *cli,
|
||||
}
|
||||
|
||||
/* Return variables */
|
||||
memcpy(buffer, r.out.buffer, r.in.buf_size * sizeof(*buffer));
|
||||
*bytes_needed = *r.out.bytes_needed;
|
||||
|
||||
/* Return result */
|
||||
return r.out.result;
|
||||
@ -913,3 +986,75 @@ NTSTATUS rpccli_eventlog_FlushEventLog(struct rpc_pipe_client *cli,
|
||||
return r.out.result;
|
||||
}
|
||||
|
||||
NTSTATUS rpccli_eventlog_ReportEventAndSourceW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
time_t timestamp /* [in] */,
|
||||
enum eventlogEventTypes event_type /* [in] */,
|
||||
uint16_t event_category /* [in] */,
|
||||
uint32_t event_id /* [in] */,
|
||||
struct lsa_String *sourcename /* [in] [ref] */,
|
||||
uint16_t num_of_strings /* [in] [range(0,256)] */,
|
||||
uint32_t data_size /* [in] [range(0,0x3FFFF)] */,
|
||||
struct lsa_String *servername /* [in] [ref] */,
|
||||
struct dom_sid *user_sid /* [in] [unique] */,
|
||||
struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */,
|
||||
uint8_t *data /* [in] [unique,size_is(data_size)] */,
|
||||
uint16_t flags /* [in] */,
|
||||
uint32_t *record_number /* [in,out] [unique] */,
|
||||
time_t *time_written /* [in,out] [unique] */)
|
||||
{
|
||||
struct eventlog_ReportEventAndSourceW r;
|
||||
NTSTATUS status;
|
||||
|
||||
/* In parameters */
|
||||
r.in.handle = handle;
|
||||
r.in.timestamp = timestamp;
|
||||
r.in.event_type = event_type;
|
||||
r.in.event_category = event_category;
|
||||
r.in.event_id = event_id;
|
||||
r.in.sourcename = sourcename;
|
||||
r.in.num_of_strings = num_of_strings;
|
||||
r.in.data_size = data_size;
|
||||
r.in.servername = servername;
|
||||
r.in.user_sid = user_sid;
|
||||
r.in.strings = strings;
|
||||
r.in.data = data;
|
||||
r.in.flags = flags;
|
||||
r.in.record_number = record_number;
|
||||
r.in.time_written = time_written;
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_ReportEventAndSourceW, &r);
|
||||
}
|
||||
|
||||
status = cli->dispatch(cli,
|
||||
mem_ctx,
|
||||
&ndr_table_eventlog,
|
||||
NDR_EVENTLOG_REPORTEVENTANDSOURCEW,
|
||||
&r);
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_OUT_DEBUG(eventlog_ReportEventAndSourceW, &r);
|
||||
}
|
||||
|
||||
if (NT_STATUS_IS_ERR(status)) {
|
||||
return status;
|
||||
}
|
||||
|
||||
/* Return variables */
|
||||
if (record_number && r.out.record_number) {
|
||||
*record_number = *r.out.record_number;
|
||||
}
|
||||
if (time_written && r.out.time_written) {
|
||||
*time_written = *r.out.time_written;
|
||||
}
|
||||
|
||||
/* Return result */
|
||||
return r.out.result;
|
||||
}
|
||||
|
||||
|
@ -6,12 +6,15 @@ NTSTATUS rpccli_eventlog_ClearEventLogW(struct rpc_pipe_client *cli,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
struct lsa_String *backupfile /* [in] [unique] */);
|
||||
NTSTATUS rpccli_eventlog_BackupEventLogW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
struct lsa_String *backup_filename /* [in] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_CloseEventLog(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in,out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_DeregisterEventSource(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in,out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_GetNumRecords(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
@ -31,9 +34,20 @@ NTSTATUS rpccli_eventlog_OpenEventLogW(struct rpc_pipe_client *cli,
|
||||
uint32_t minor_version /* [in] */,
|
||||
struct policy_handle *handle /* [out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_RegisterEventSourceW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */,
|
||||
struct lsa_String *module_name /* [in] [ref] */,
|
||||
struct lsa_String *reg_module_name /* [in] [ref] */,
|
||||
uint32_t major_version /* [in] */,
|
||||
uint32_t minor_version /* [in] */,
|
||||
struct policy_handle *log_handle /* [out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_OpenBackupEventLogW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct eventlog_OpenUnknown0 *unknown0 /* [in] [unique] */,
|
||||
struct lsa_String *backup_logname /* [in] [ref] */,
|
||||
uint32_t major_version /* [in] */,
|
||||
uint32_t minor_version /* [in] */,
|
||||
struct policy_handle *handle /* [out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_ReadEventLogW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
@ -44,7 +58,21 @@ NTSTATUS rpccli_eventlog_ReadEventLogW(struct rpc_pipe_client *cli,
|
||||
uint32_t *sent_size /* [out] [ref] */,
|
||||
uint32_t *real_size /* [out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_ReportEventW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
time_t timestamp /* [in] */,
|
||||
enum eventlogEventTypes event_type /* [in] */,
|
||||
uint16_t event_category /* [in] */,
|
||||
uint32_t event_id /* [in] */,
|
||||
uint16_t num_of_strings /* [in] [range(0,256)] */,
|
||||
uint32_t data_size /* [in] [range(0,0x3FFFF)] */,
|
||||
struct lsa_String *servername /* [in] [ref] */,
|
||||
struct dom_sid *user_sid /* [in] [unique] */,
|
||||
struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */,
|
||||
uint8_t *data /* [in] [unique,size_is(data_size)] */,
|
||||
uint16_t flags /* [in] */,
|
||||
uint32_t *record_number /* [in,out] [unique] */,
|
||||
time_t *time_written /* [in,out] [unique] */);
|
||||
NTSTATUS rpccli_eventlog_ClearEventLogA(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
NTSTATUS rpccli_eventlog_BackupEventLogA(struct rpc_pipe_client *cli,
|
||||
@ -66,8 +94,30 @@ NTSTATUS rpccli_eventlog_DeregisterClusterSvc(struct rpc_pipe_client *cli,
|
||||
NTSTATUS rpccli_eventlog_WriteClusterEvents(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
NTSTATUS rpccli_eventlog_GetLogIntormation(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
uint32_t level /* [in] */,
|
||||
uint8_t *buffer /* [out] [ref,size_is(buf_size)] */,
|
||||
uint32_t buf_size /* [in] [range(0,1024)] */,
|
||||
uint32_t *bytes_needed /* [out] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_FlushEventLog(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */);
|
||||
NTSTATUS rpccli_eventlog_ReportEventAndSourceW(struct rpc_pipe_client *cli,
|
||||
TALLOC_CTX *mem_ctx,
|
||||
struct policy_handle *handle /* [in] [ref] */,
|
||||
time_t timestamp /* [in] */,
|
||||
enum eventlogEventTypes event_type /* [in] */,
|
||||
uint16_t event_category /* [in] */,
|
||||
uint32_t event_id /* [in] */,
|
||||
struct lsa_String *sourcename /* [in] [ref] */,
|
||||
uint16_t num_of_strings /* [in] [range(0,256)] */,
|
||||
uint32_t data_size /* [in] [range(0,0x3FFFF)] */,
|
||||
struct lsa_String *servername /* [in] [ref] */,
|
||||
struct dom_sid *user_sid /* [in] [unique] */,
|
||||
struct lsa_String **strings /* [in] [unique,size_is(num_of_strings)] */,
|
||||
uint8_t *data /* [in] [unique,size_is(data_size)] */,
|
||||
uint16_t flags /* [in] */,
|
||||
uint32_t *record_number /* [in,out] [unique] */,
|
||||
time_t *time_written /* [in,out] [unique] */);
|
||||
#endif /* __CLI_EVENTLOG__ */
|
||||
|
@ -65,6 +65,10 @@ struct eventlog_Record {
|
||||
uint32_t size2;/* [value(size)] */
|
||||
}/* [public,flag(LIBNDR_FLAG_NOALIGN)] */;
|
||||
|
||||
struct EVENTLOG_FULL_INFORMATION {
|
||||
uint32_t full;
|
||||
};
|
||||
|
||||
|
||||
struct eventlog_ClearEventLogW {
|
||||
struct {
|
||||
@ -80,6 +84,11 @@ struct eventlog_ClearEventLogW {
|
||||
|
||||
|
||||
struct eventlog_BackupEventLogW {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
struct lsa_String *backup_filename;/* [ref] */
|
||||
} in;
|
||||
|
||||
struct {
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
@ -102,6 +111,11 @@ struct eventlog_CloseEventLog {
|
||||
|
||||
struct eventlog_DeregisterEventSource {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
} in;
|
||||
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
|
||||
@ -161,6 +175,15 @@ struct eventlog_OpenEventLogW {
|
||||
|
||||
struct eventlog_RegisterEventSourceW {
|
||||
struct {
|
||||
struct eventlog_OpenUnknown0 *unknown0;/* [unique] */
|
||||
struct lsa_String *module_name;/* [ref] */
|
||||
struct lsa_String *reg_module_name;/* [ref] */
|
||||
uint32_t major_version;
|
||||
uint32_t minor_version;
|
||||
} in;
|
||||
|
||||
struct {
|
||||
struct policy_handle *log_handle;/* [ref] */
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
|
||||
@ -169,6 +192,14 @@ struct eventlog_RegisterEventSourceW {
|
||||
|
||||
struct eventlog_OpenBackupEventLogW {
|
||||
struct {
|
||||
struct eventlog_OpenUnknown0 *unknown0;/* [unique] */
|
||||
struct lsa_String *backup_logname;/* [ref] */
|
||||
uint32_t major_version;
|
||||
uint32_t minor_version;
|
||||
} in;
|
||||
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
|
||||
@ -195,6 +226,25 @@ struct eventlog_ReadEventLogW {
|
||||
|
||||
struct eventlog_ReportEventW {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
time_t timestamp;
|
||||
enum eventlogEventTypes event_type;
|
||||
uint16_t event_category;
|
||||
uint32_t event_id;
|
||||
uint16_t num_of_strings;/* [range(0,256)] */
|
||||
uint32_t data_size;/* [range(0,0x3FFFF)] */
|
||||
struct lsa_String *servername;/* [ref] */
|
||||
struct dom_sid *user_sid;/* [unique] */
|
||||
struct lsa_String **strings;/* [unique,size_is(num_of_strings)] */
|
||||
uint8_t *data;/* [unique,size_is(data_size)] */
|
||||
uint16_t flags;
|
||||
uint32_t *record_number;/* [unique] */
|
||||
time_t *time_written;/* [unique] */
|
||||
} in;
|
||||
|
||||
struct {
|
||||
uint32_t *record_number;/* [unique] */
|
||||
time_t *time_written;/* [unique] */
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
|
||||
@ -283,6 +333,14 @@ struct eventlog_WriteClusterEvents {
|
||||
|
||||
struct eventlog_GetLogIntormation {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
uint32_t level;
|
||||
uint32_t buf_size;/* [range(0,1024)] */
|
||||
} in;
|
||||
|
||||
struct {
|
||||
uint8_t *buffer;/* [ref,size_is(buf_size)] */
|
||||
uint32_t *bytes_needed;/* [ref] */
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
|
||||
@ -300,4 +358,32 @@ struct eventlog_FlushEventLog {
|
||||
|
||||
};
|
||||
|
||||
|
||||
struct eventlog_ReportEventAndSourceW {
|
||||
struct {
|
||||
struct policy_handle *handle;/* [ref] */
|
||||
time_t timestamp;
|
||||
enum eventlogEventTypes event_type;
|
||||
uint16_t event_category;
|
||||
uint32_t event_id;
|
||||
struct lsa_String *sourcename;/* [ref] */
|
||||
uint16_t num_of_strings;/* [range(0,256)] */
|
||||
uint32_t data_size;/* [range(0,0x3FFFF)] */
|
||||
struct lsa_String *servername;/* [ref] */
|
||||
struct dom_sid *user_sid;/* [unique] */
|
||||
struct lsa_String **strings;/* [unique,size_is(num_of_strings)] */
|
||||
uint8_t *data;/* [unique,size_is(data_size)] */
|
||||
uint16_t flags;
|
||||
uint32_t *record_number;/* [unique] */
|
||||
time_t *time_written;/* [unique] */
|
||||
} in;
|
||||
|
||||
struct {
|
||||
uint32_t *record_number;/* [unique] */
|
||||
time_t *time_written;/* [unique] */
|
||||
NTSTATUS result;
|
||||
} out;
|
||||
|
||||
};
|
||||
|
||||
#endif /* _HEADER_eventlog */
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -59,7 +59,9 @@ extern const struct ndr_interface_table ndr_table_eventlog;
|
||||
|
||||
#define NDR_EVENTLOG_FLUSHEVENTLOG (0x17)
|
||||
|
||||
#define NDR_EVENTLOG_CALL_COUNT (24)
|
||||
#define NDR_EVENTLOG_REPORTEVENTANDSOURCEW (0x18)
|
||||
|
||||
#define NDR_EVENTLOG_CALL_COUNT (25)
|
||||
void ndr_print_eventlogReadFlags(struct ndr_print *ndr, const char *name, uint32_t r);
|
||||
enum ndr_err_code ndr_push_eventlogEventTypes(struct ndr_push *ndr, int ndr_flags, enum eventlogEventTypes r);
|
||||
enum ndr_err_code ndr_pull_eventlogEventTypes(struct ndr_pull *ndr, int ndr_flags, enum eventlogEventTypes *r);
|
||||
@ -92,4 +94,5 @@ void ndr_print_eventlog_DeregisterClusterSvc(struct ndr_print *ndr, const char *
|
||||
void ndr_print_eventlog_WriteClusterEvents(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_WriteClusterEvents *r);
|
||||
void ndr_print_eventlog_GetLogIntormation(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_GetLogIntormation *r);
|
||||
void ndr_print_eventlog_FlushEventLog(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_FlushEventLog *r);
|
||||
void ndr_print_eventlog_ReportEventAndSourceW(struct ndr_print *ndr, const char *name, int flags, const struct eventlog_ReportEventAndSourceW *r);
|
||||
#endif /* _HEADER_NDR_eventlog */
|
||||
|
@ -265,6 +265,8 @@ static bool api_eventlog_DeregisterEventSource(pipes_struct *p)
|
||||
NDR_PRINT_IN_DEBUG(eventlog_DeregisterEventSource, r);
|
||||
}
|
||||
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.handle = r->in.handle;
|
||||
r->out.result = _eventlog_DeregisterEventSource(p, r);
|
||||
|
||||
if (p->rng_fault_state) {
|
||||
@ -651,6 +653,13 @@ static bool api_eventlog_RegisterEventSourceW(pipes_struct *p)
|
||||
NDR_PRINT_IN_DEBUG(eventlog_RegisterEventSourceW, r);
|
||||
}
|
||||
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.log_handle = talloc_zero(r, struct policy_handle);
|
||||
if (r->out.log_handle == NULL) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
r->out.result = _eventlog_RegisterEventSourceW(p, r);
|
||||
|
||||
if (p->rng_fault_state) {
|
||||
@ -724,6 +733,13 @@ static bool api_eventlog_OpenBackupEventLogW(pipes_struct *p)
|
||||
NDR_PRINT_IN_DEBUG(eventlog_OpenBackupEventLogW, r);
|
||||
}
|
||||
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.handle = talloc_zero(r, struct policy_handle);
|
||||
if (r->out.handle == NULL) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
r->out.result = _eventlog_OpenBackupEventLogW(p, r);
|
||||
|
||||
if (p->rng_fault_state) {
|
||||
@ -889,6 +905,9 @@ static bool api_eventlog_ReportEventW(pipes_struct *p)
|
||||
NDR_PRINT_IN_DEBUG(eventlog_ReportEventW, r);
|
||||
}
|
||||
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.record_number = r->in.record_number;
|
||||
r->out.time_written = r->in.time_written;
|
||||
r->out.result = _eventlog_ReportEventW(p, r);
|
||||
|
||||
if (p->rng_fault_state) {
|
||||
@ -1692,6 +1711,19 @@ static bool api_eventlog_GetLogIntormation(pipes_struct *p)
|
||||
NDR_PRINT_IN_DEBUG(eventlog_GetLogIntormation, r);
|
||||
}
|
||||
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.buffer = talloc_zero_array(r, uint8_t, r->in.buf_size);
|
||||
if (r->out.buffer == NULL) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
r->out.bytes_needed = talloc_zero(r, uint32_t);
|
||||
if (r->out.bytes_needed == NULL) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
r->out.result = _eventlog_GetLogIntormation(p, r);
|
||||
|
||||
if (p->rng_fault_state) {
|
||||
@ -1800,6 +1832,82 @@ static bool api_eventlog_FlushEventLog(pipes_struct *p)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool api_eventlog_ReportEventAndSourceW(pipes_struct *p)
|
||||
{
|
||||
const struct ndr_interface_call *call;
|
||||
struct ndr_pull *pull;
|
||||
struct ndr_push *push;
|
||||
enum ndr_err_code ndr_err;
|
||||
DATA_BLOB blob;
|
||||
struct eventlog_ReportEventAndSourceW *r;
|
||||
|
||||
call = &ndr_table_eventlog.calls[NDR_EVENTLOG_REPORTEVENTANDSOURCEW];
|
||||
|
||||
r = talloc(talloc_tos(), struct eventlog_ReportEventAndSourceW);
|
||||
if (r == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!prs_data_blob(&p->in_data.data, &blob, r)) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
pull = ndr_pull_init_blob(&blob, r, NULL);
|
||||
if (pull == NULL) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
pull->flags |= LIBNDR_FLAG_REF_ALLOC;
|
||||
ndr_err = call->ndr_pull(pull, NDR_IN, r);
|
||||
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_IN_DEBUG(eventlog_ReportEventAndSourceW, r);
|
||||
}
|
||||
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.record_number = r->in.record_number;
|
||||
r->out.time_written = r->in.time_written;
|
||||
r->out.result = _eventlog_ReportEventAndSourceW(p, r);
|
||||
|
||||
if (p->rng_fault_state) {
|
||||
talloc_free(r);
|
||||
/* Return true here, srv_pipe_hnd.c will take care */
|
||||
return true;
|
||||
}
|
||||
|
||||
if (DEBUGLEVEL >= 10) {
|
||||
NDR_PRINT_OUT_DEBUG(eventlog_ReportEventAndSourceW, r);
|
||||
}
|
||||
|
||||
push = ndr_push_init_ctx(r, NULL);
|
||||
if (push == NULL) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
ndr_err = call->ndr_push(push, NDR_OUT, r);
|
||||
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
blob = ndr_push_blob(push);
|
||||
if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
|
||||
talloc_free(r);
|
||||
return false;
|
||||
}
|
||||
|
||||
talloc_free(r);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* Tables */
|
||||
static struct api_struct api_eventlog_cmds[] =
|
||||
@ -1828,6 +1936,7 @@ static struct api_struct api_eventlog_cmds[] =
|
||||
{"EVENTLOG_WRITECLUSTEREVENTS", NDR_EVENTLOG_WRITECLUSTEREVENTS, api_eventlog_WriteClusterEvents},
|
||||
{"EVENTLOG_GETLOGINTORMATION", NDR_EVENTLOG_GETLOGINTORMATION, api_eventlog_GetLogIntormation},
|
||||
{"EVENTLOG_FLUSHEVENTLOG", NDR_EVENTLOG_FLUSHEVENTLOG, api_eventlog_FlushEventLog},
|
||||
{"EVENTLOG_REPORTEVENTANDSOURCEW", NDR_EVENTLOG_REPORTEVENTANDSOURCEW, api_eventlog_ReportEventAndSourceW},
|
||||
};
|
||||
|
||||
void eventlog_get_pipe_fns(struct api_struct **fns, int *n_fns)
|
||||
@ -1866,6 +1975,8 @@ NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
|
||||
|
||||
case NDR_EVENTLOG_DEREGISTEREVENTSOURCE: {
|
||||
struct eventlog_DeregisterEventSource *r = (struct eventlog_DeregisterEventSource *)_r;
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.handle = r->in.handle;
|
||||
r->out.result = _eventlog_DeregisterEventSource(cli->pipes_struct, r);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
@ -1914,12 +2025,24 @@ NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
|
||||
|
||||
case NDR_EVENTLOG_REGISTEREVENTSOURCEW: {
|
||||
struct eventlog_RegisterEventSourceW *r = (struct eventlog_RegisterEventSourceW *)_r;
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.log_handle = talloc_zero(mem_ctx, struct policy_handle);
|
||||
if (r->out.log_handle == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
r->out.result = _eventlog_RegisterEventSourceW(cli->pipes_struct, r);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
case NDR_EVENTLOG_OPENBACKUPEVENTLOGW: {
|
||||
struct eventlog_OpenBackupEventLogW *r = (struct eventlog_OpenBackupEventLogW *)_r;
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.handle = talloc_zero(mem_ctx, struct policy_handle);
|
||||
if (r->out.handle == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
r->out.result = _eventlog_OpenBackupEventLogW(cli->pipes_struct, r);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
@ -1948,6 +2071,9 @@ NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
|
||||
|
||||
case NDR_EVENTLOG_REPORTEVENTW: {
|
||||
struct eventlog_ReportEventW *r = (struct eventlog_ReportEventW *)_r;
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.record_number = r->in.record_number;
|
||||
r->out.time_written = r->in.time_written;
|
||||
r->out.result = _eventlog_ReportEventW(cli->pipes_struct, r);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
@ -2014,6 +2140,17 @@ NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
|
||||
|
||||
case NDR_EVENTLOG_GETLOGINTORMATION: {
|
||||
struct eventlog_GetLogIntormation *r = (struct eventlog_GetLogIntormation *)_r;
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.buffer = talloc_zero_array(mem_ctx, uint8_t, r->in.buf_size);
|
||||
if (r->out.buffer == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
r->out.bytes_needed = talloc_zero(mem_ctx, uint32_t);
|
||||
if (r->out.bytes_needed == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
r->out.result = _eventlog_GetLogIntormation(cli->pipes_struct, r);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
@ -2024,6 +2161,15 @@ NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
case NDR_EVENTLOG_REPORTEVENTANDSOURCEW: {
|
||||
struct eventlog_ReportEventAndSourceW *r = (struct eventlog_ReportEventAndSourceW *)_r;
|
||||
ZERO_STRUCT(r->out);
|
||||
r->out.record_number = r->in.record_number;
|
||||
r->out.time_written = r->in.time_written;
|
||||
r->out.result = _eventlog_ReportEventAndSourceW(cli->pipes_struct, r);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
default:
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ NTSTATUS _eventlog_DeregisterClusterSvc(pipes_struct *p, struct eventlog_Deregis
|
||||
NTSTATUS _eventlog_WriteClusterEvents(pipes_struct *p, struct eventlog_WriteClusterEvents *r);
|
||||
NTSTATUS _eventlog_GetLogIntormation(pipes_struct *p, struct eventlog_GetLogIntormation *r);
|
||||
NTSTATUS _eventlog_FlushEventLog(pipes_struct *p, struct eventlog_FlushEventLog *r);
|
||||
NTSTATUS _eventlog_ReportEventAndSourceW(pipes_struct *p, struct eventlog_ReportEventAndSourceW *r);
|
||||
void eventlog_get_pipe_fns(struct api_struct **fns, int *n_fns);
|
||||
NTSTATUS rpc_eventlog_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r);
|
||||
NTSTATUS _eventlog_ClearEventLogW(pipes_struct *p, struct eventlog_ClearEventLogW *r);
|
||||
@ -51,5 +52,6 @@ NTSTATUS _eventlog_DeregisterClusterSvc(pipes_struct *p, struct eventlog_Deregis
|
||||
NTSTATUS _eventlog_WriteClusterEvents(pipes_struct *p, struct eventlog_WriteClusterEvents *r);
|
||||
NTSTATUS _eventlog_GetLogIntormation(pipes_struct *p, struct eventlog_GetLogIntormation *r);
|
||||
NTSTATUS _eventlog_FlushEventLog(pipes_struct *p, struct eventlog_FlushEventLog *r);
|
||||
NTSTATUS _eventlog_ReportEventAndSourceW(pipes_struct *p, struct eventlog_ReportEventAndSourceW *r);
|
||||
NTSTATUS rpc_eventlog_init(void);
|
||||
#endif /* __SRV_EVENTLOG__ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user