mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
eb9aa9b9f4
This is an array of string, not an array of characters. metze
344 lines
13 KiB
Plaintext
344 lines
13 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
|
|
import "misc.idl";
|
|
|
|
cpp_quote("#define MAX_RPC_GUID_ARRAY_COUNT (MAX_PAYLOAD / sizeof(struct GUID))")
|
|
cpp_quote("#define eventlog6_EvtRpcSubscribePull 0x10000000")
|
|
cpp_quote("#define eventlog6_EvtRpcVarFlagsModified 0x00000001")
|
|
|
|
[
|
|
uuid (f6beaff7-1e19-4fbb-9f8f-b89e2018337c),
|
|
version(1.0),
|
|
endpoint("ncacn_ip_tcp:"),
|
|
helpstring("Eventlog6"),
|
|
pointer_default(unique)
|
|
]
|
|
interface eventlog6
|
|
{
|
|
const int MAX_PAYLOAD = 2 * 1024 * 1024;
|
|
const int MAX_RPC_QUERY_LENGTH = MAX_PAYLOAD / sizeof(uint16_t);
|
|
const int MAX_RPC_CHANNEL_NAME_LENGTH = 512;
|
|
const int MAX_RPC_QUERY_CHANNEL_SIZE = 512;
|
|
const int MAX_RPC_EVENT_ID_SIZE = 256;
|
|
const int MAX_RPC_FILE_PATH_LENGTH = 32768;
|
|
const int MAX_RPC_CHANNEL_PATH_LENGTH = 32768;
|
|
const int MAX_RPC_BOOKMARK_LENGTH = MAX_PAYLOAD / sizeof(uint16_t);
|
|
const int MAX_RPC_PUBLISHER_ID_LENGTH = 2048;
|
|
const int MAX_RPC_PROPERTY_BUFFER_SIZE = MAX_PAYLOAD;
|
|
const int MAX_RPC_FILTER_LENGTH = MAX_RPC_QUERY_LENGTH;
|
|
const int MAX_RPC_RECORD_COUNT = 1024;
|
|
const int MAX_RPC_EVENT_SIZE = MAX_PAYLOAD;
|
|
const int MAX_RPC_BATCH_SIZE = MAX_PAYLOAD;
|
|
const int MAX_RPC_RENDERED_STRING_SIZE = MAX_PAYLOAD;
|
|
const int MAX_RPC_CHANNEL_COUNT = 8192;
|
|
const int MAX_RPC_PUBLISHER_COUNT = 8192;
|
|
const int MAX_RPC_EVENT_METADATA_COUNT = 256;
|
|
const int MAX_RPC_VARIANT_LIST_COUNT = 256;
|
|
const int MAX_RPC_BOOLEAN8_ARRAY_COUNT = MAX_PAYLOAD / sizeof(uint8_t);
|
|
const int MAX_RPC_UINT32_ARRAY_COUNT = MAX_PAYLOAD / sizeof(uint32_t);
|
|
const int MAX_RPC_UINT64_ARRAY_COUNT = MAX_PAYLOAD / sizeof(uint64_t);
|
|
const int MAX_RPC_STRING_ARRAY_COUNT = MAX_PAYLOAD / 512;
|
|
const int MAX_RPC_STRING_LENGTH = MAX_PAYLOAD / sizeof(uint16_t);
|
|
|
|
typedef struct {
|
|
uint32 error;
|
|
uint32 sub_err;
|
|
uint32 sub_err_param;
|
|
} eventlog6_RpcInfo;
|
|
|
|
typedef struct {
|
|
[range(0, MAX_RPC_BOOLEAN8_ARRAY_COUNT)] uint32 count;
|
|
[size_is(count)] boolean8* ptr;
|
|
} eventlog6_boolean8Array;
|
|
|
|
typedef struct {
|
|
[range(0, MAX_RPC_UINT32_ARRAY_COUNT)] uint32 count;
|
|
[size_is(count)] uint32* ptr;
|
|
} eventlog6_UInt32Array;
|
|
|
|
typedef struct {
|
|
[range(0, MAX_RPC_UINT64_ARRAY_COUNT)] uint32 count;
|
|
[size_is(count)] hyper* ptr;
|
|
} eventlog6_UInt64Array;
|
|
|
|
typedef struct {
|
|
[range(0, MAX_RPC_STRING_ARRAY_COUNT)] uint32 count;
|
|
[size_is(count),charset(UTF16),string] uint16 **ptr;
|
|
} eventlog6_StringArray;
|
|
|
|
typedef struct {
|
|
[range(0, MAX_RPC_GUID_ARRAY_COUNT)] uint32 count;
|
|
[size_is(count)] GUID* ptr;
|
|
} eventlog6_GuidArray;
|
|
|
|
typedef [v1_enum] enum {
|
|
EvtRpcVarTypeNull = 0,
|
|
EvtRpcVarTypeboolean8 = 1,
|
|
EvtRpcVarTypeUInt32 = 2,
|
|
EvtRpcVarTypeUInt64 = 3,
|
|
EvtRpcVarTypeString = 4,
|
|
EvtRpcVarTypeGuid = 5,
|
|
EvtRpcVarTypeboolean8Array = 6,
|
|
EvtRpcVarTypeUInt32Array = 7,
|
|
EvtRpcVarTypeUInt64Array = 8,
|
|
EvtRpcVarTypeStringArray = 9,
|
|
EvtRpcVarTypeGuidArray = 10
|
|
} eventlog6_EvtRpcVariantType;
|
|
|
|
typedef [v1_enum] enum {
|
|
EvtRpcChannelPath = 0,
|
|
EvtRpcPublisherName = 1
|
|
} eventlog6_EvtRpcAssertConfigFlags;
|
|
|
|
typedef [switch_type(eventlog6_EvtRpcVariantType)] union {
|
|
[case(EvtRpcVarTypeNull)] int nullVal;
|
|
[case(EvtRpcVarTypeboolean8)] boolean8 boolean8Val;
|
|
[case(EvtRpcVarTypeUInt32)] uint32 uint32Val;
|
|
[case(EvtRpcVarTypeUInt64)] hyper uint64Val;
|
|
[case(EvtRpcVarTypeString)] [charset(UTF16),string] uint16 *stringVal;
|
|
[case(EvtRpcVarTypeGuid)] GUID *guidVal;
|
|
[case(EvtRpcVarTypeboolean8Array)] eventlog6_boolean8Array boolean8Array;
|
|
[case(EvtRpcVarTypeUInt32Array)] eventlog6_UInt32Array uint32Array;
|
|
[case(EvtRpcVarTypeUInt64Array)] eventlog6_UInt64Array uint64Array;
|
|
[case(EvtRpcVarTypeStringArray)] eventlog6_StringArray stringArray;
|
|
[case(EvtRpcVarTypeGuidArray)] eventlog6_GuidArray guidArray;
|
|
} eventlog6_EvtRpcVariantUnion;
|
|
|
|
typedef struct {
|
|
eventlog6_EvtRpcVariantType type;
|
|
uint32 flags;
|
|
[in,ref,switch_is(type)] eventlog6_EvtRpcVariantUnion *var;
|
|
} eventlog6_EvtRpcVariant;
|
|
|
|
typedef struct {
|
|
[range(0, MAX_RPC_VARIANT_LIST_COUNT)] uint32 count;
|
|
[size_is(count)] eventlog6_EvtRpcVariant* props;
|
|
} eventlog6_EvtRpcVariantList;
|
|
|
|
typedef struct {
|
|
[charset(UTF16),string] uint16 *name;
|
|
uint32 status;
|
|
} eventlog6_EvtRpcQueryChannelInfo;
|
|
|
|
WERROR eventlog6_EvtRpcRegisterRemoteSubscription(
|
|
[in, unique, range(0, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *channelPath,
|
|
[in, range(1, MAX_RPC_QUERY_LENGTH),charset(UTF16),string] uint16 *query,
|
|
[in, unique, range(0, MAX_RPC_BOOKMARK_LENGTH),charset(UTF16),string] uint16 *bookmarkXml,
|
|
[in] uint32 flags,
|
|
[out, ref] policy_handle *handle,
|
|
[out, ref] policy_handle *control,
|
|
[out, ref] uint32 *queryChannelInfoSize,
|
|
[out, size_is(,*queryChannelInfoSize), range(0, MAX_RPC_QUERY_CHANNEL_SIZE)]
|
|
eventlog6_EvtRpcQueryChannelInfo **queryChannelInfo,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcRemoteSubscriptionNextAsync(
|
|
[in, ref] policy_handle *handle,
|
|
[in] uint32 numRequestedRecords,
|
|
[in] uint32 flags,
|
|
[out, ref] uint32 *numActualRecords,
|
|
[out, size_is(,*numActualRecords), range(0, MAX_RPC_RECORD_COUNT)]
|
|
uint32 **eventDataIndices,
|
|
[out, size_is(,*numActualRecords), range(0, MAX_RPC_RECORD_COUNT)]
|
|
uint32 **eventDataSizes,
|
|
[out, ref] uint32* resultBufferSize,
|
|
[out, size_is(,*resultBufferSize), range(0, MAX_RPC_BATCH_SIZE)]
|
|
uint8 **resultBuffer);
|
|
|
|
WERROR eventlog6_EvtRpcRemoteSubscriptionNext(
|
|
[in, ref] policy_handle *handle,
|
|
[in] uint32 numRequestedRecords,
|
|
[in] uint32 timeOut,
|
|
[in] uint32 flags,
|
|
[out, ref] uint32 *numActualRecords,
|
|
[out, size_is(,*numActualRecords), range(0, MAX_RPC_RECORD_COUNT)]
|
|
uint32 **eventDataIndices,
|
|
[out, size_is(,*numActualRecords), range(0, MAX_RPC_RECORD_COUNT)]
|
|
uint32 **eventDataSizes,
|
|
[out, ref] uint32 *resultBufferSize,
|
|
[out, size_is(,*resultBufferSize), range(0, MAX_RPC_BATCH_SIZE)]
|
|
uint8 **resultBuffer);
|
|
|
|
WERROR eventlog6_EvtRpcRemoteSubscriptionWaitAsync(
|
|
[in, ref] policy_handle *handle);
|
|
|
|
WERROR eventlog6_EvtRpcRegisterControllableOperation(
|
|
[out, ref] policy_handle *handle);
|
|
|
|
WERROR eventlog6_EvtRpcRegisterLogQuery(
|
|
[in, unique, range(0, MAX_RPC_CHANNEL_PATH_LENGTH),charset(UTF16),string] uint16 *path,
|
|
[in, range(1, MAX_RPC_QUERY_LENGTH),charset(UTF16),string] uint16 *query,
|
|
[in] uint32 flags,
|
|
[out, ref] policy_handle *handle,
|
|
[out, ref] policy_handle *opControl,
|
|
[out, ref] uint32 *queryChannelInfoSize,
|
|
[out, size_is(,*queryChannelInfoSize), range(0, MAX_RPC_QUERY_CHANNEL_SIZE)]
|
|
eventlog6_EvtRpcQueryChannelInfo **queryChannelInfo,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcClearLog(
|
|
[in, ref] policy_handle *control,
|
|
[in, range(0, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *channelPath,
|
|
[in, unique, range(0, MAX_RPC_FILE_PATH_LENGTH),charset(UTF16),string] uint16 *backupPath,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcExportLog(
|
|
[in, ref] policy_handle *control,
|
|
[in, unique, range(0, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *channelPath,
|
|
[in, range(1, MAX_RPC_QUERY_LENGTH),charset(UTF16),string] uint16 *query,
|
|
[in, range(1, MAX_RPC_FILE_PATH_LENGTH),charset(UTF16),string] uint16 *backupPath,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcLocalizeExportLog(
|
|
[in, ref] policy_handle *control,
|
|
[in, range(1, MAX_RPC_FILE_PATH_LENGTH),charset(UTF16),string] uint16 *logFilePath,
|
|
[in] uint32 locale,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcMessageRender(
|
|
[in, ref] policy_handle *pubCfgObj,
|
|
[in, range(1, MAX_RPC_EVENT_ID_SIZE)] uint32 sizeEventId,
|
|
[in, size_is(sizeEventId)] uint8 *eventId,
|
|
[in] uint32 messageId,
|
|
[in] eventlog6_EvtRpcVariantList *values,
|
|
[in] uint32 flags,
|
|
[in] uint32 maxSizeString,
|
|
[out, ref] uint32 *actualSizeString,
|
|
[out, ref] uint32 *neededSizeString,
|
|
[out, size_is(,*actualSizeString), range(0, MAX_RPC_RENDERED_STRING_SIZE)]
|
|
uint8 **string,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcMessageRenderDefault(
|
|
[in, range(1, MAX_RPC_EVENT_ID_SIZE)] uint32 sizeEventId,
|
|
[in, size_is(sizeEventId)] uint8 *eventId,
|
|
[in] uint32 messageId,
|
|
[in] eventlog6_EvtRpcVariantList *values,
|
|
[in] uint32 flags,
|
|
[in] uint32 maxSizeString,
|
|
[out, ref] uint32 *actualSizeString,
|
|
[out, ref] uint32 *neededSizeString,
|
|
[out, size_is(,*actualSizeString), range(0, MAX_RPC_RENDERED_STRING_SIZE)]
|
|
uint8 **string,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcQueryNext(
|
|
[in, ref] policy_handle *logQuery,
|
|
[in] uint32 numRequestedRecords,
|
|
[in] uint32 timeOutEnd,
|
|
[in] uint32 flags,
|
|
[out, ref] uint32 *numActualRecords,
|
|
[out, size_is(,*numActualRecords), range(0, MAX_RPC_RECORD_COUNT)]
|
|
uint32 **eventDataIndices,
|
|
[out, size_is(,*numActualRecords), range(0, MAX_RPC_RECORD_COUNT)]
|
|
uint32 **eventDataSizes,
|
|
[out, ref] uint32 *resultBufferSize,
|
|
[out, size_is(,*resultBufferSize), range(0, MAX_RPC_BATCH_SIZE)]
|
|
uint8 **resultBuffer);
|
|
|
|
WERROR eventlog6_EvtRpcQuerySeek(
|
|
[in, ref] policy_handle *logQuery,
|
|
[in] hyper pos,
|
|
[in, unique, range(0, MAX_RPC_BOOKMARK_LENGTH),charset(UTF16),string] uint16 *bookmarkXml,
|
|
[in] uint32 timeOut,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcClose(
|
|
[in, out, ref] policy_handle **handle);
|
|
|
|
WERROR eventlog6_EvtRpcCancel(
|
|
[in, ref] policy_handle *handle);
|
|
|
|
WERROR eventlog6_EvtRpcAssertConfig(
|
|
[in, range(1, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *path,
|
|
[in] uint32 flags);
|
|
|
|
WERROR eventlog6_EvtRpcRetractConfig(
|
|
[in, range(1, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *path,
|
|
[in] uint32 flags );
|
|
|
|
WERROR eventlog6_EvtRpcOpenLogHandle(
|
|
[in, range(1, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *channel,
|
|
[in] uint32 flags,
|
|
[out, ref] policy_handle *handle,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcGetLogFileInfo(
|
|
[in, ref] policy_handle *logHandle,
|
|
[in] uint32 propertyId,
|
|
[in, range(0, MAX_RPC_PROPERTY_BUFFER_SIZE)]
|
|
uint32 propertyValueBufferSize,
|
|
[out, size_is(propertyValueBufferSize)] uint8 *propertyValueBuffer,
|
|
[out, ref] uint32 *propertyValueBufferLength);
|
|
|
|
WERROR eventlog6_EvtRpcGetChannelList(
|
|
[in] uint32 flags,
|
|
[out, ref] uint32 *numChannelPaths,
|
|
[out, size_is(,*numChannelPaths), range(0, MAX_RPC_CHANNEL_COUNT),charset(UTF16),string]
|
|
uint16 ***channelPaths);
|
|
|
|
WERROR eventlog6_EvtRpcGetChannelConfig(
|
|
[in, range(1, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *channelPath,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_EvtRpcVariantList* props);
|
|
|
|
WERROR eventlog6_EvtRpcPutChannelConfig(
|
|
[in, range(1, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *channelPath,
|
|
[in] uint32 flags,
|
|
[in] eventlog6_EvtRpcVariantList* props,
|
|
[out, ref] eventlog6_RpcInfo *error);
|
|
|
|
WERROR eventlog6_EvtRpcGetPublisherList(
|
|
[in] uint32 flags,
|
|
[out, ref] uint32 *numPublisherIds,
|
|
[out, size_is(,*numPublisherIds), range(0, MAX_RPC_PUBLISHER_COUNT),charset(UTF16),string]
|
|
uint16 ***publisherIds);
|
|
|
|
WERROR eventlog6_EvtRpcGetPublisherListForChannel(
|
|
[in] uint16 *channelName,
|
|
[in] uint32 flags,
|
|
[out, ref] uint32* numPublisherIds,
|
|
[out, size_is(,*numPublisherIds), range(0, MAX_RPC_PUBLISHER_COUNT),charset(UTF16),string]
|
|
uint16 ***publisherIds);
|
|
|
|
WERROR eventlog6_EvtRpcGetPublisherMetadata(
|
|
[in, unique, range(0, MAX_RPC_PUBLISHER_ID_LENGTH),charset(UTF16),string] uint16 *publisherId,
|
|
[in, unique, range(0, MAX_RPC_FILE_PATH_LENGTH),charset(UTF16),string] uint16 *logFilePath,
|
|
[in] uint32 locale,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_EvtRpcVariantList* pubMetadataProps,
|
|
[out, ref] policy_handle *pubMetadata);
|
|
|
|
WERROR eventlog6_EvtRpcGetPublisherResourceMetadata(
|
|
[in, ref] policy_handle *handle,
|
|
[in] uint32 propertyId,
|
|
[in] uint32 flags,
|
|
[out, ref] eventlog6_EvtRpcVariantList *pubMetadataProps);
|
|
|
|
WERROR eventlog6_EvtRpcGetEventMetadataEnum(
|
|
[in, ref] policy_handle *pubMetadata,
|
|
[in] uint32 flags,
|
|
[in, unique, range(0, MAX_RPC_FILTER_LENGTH),charset(UTF16),string] uint16 *reservedForFilter,
|
|
[out, ref] policy_handle *eventMetaDataEnum);
|
|
|
|
WERROR eventlog6_EvtRpcGetNextEventMetadata(
|
|
[in, ref] policy_handle *eventMetaDataEnum,
|
|
[in] uint32 flags,
|
|
[in] uint32 numRequested,
|
|
[out, ref] uint32 *numReturned,
|
|
[out, size_is(,*numReturned), range(0, MAX_RPC_EVENT_METADATA_COUNT)]
|
|
eventlog6_EvtRpcVariantList **eventMetadataInstances);
|
|
|
|
WERROR eventlog6_EvtRpcGetClassicLogDisplayName(
|
|
[in, range(1, MAX_RPC_CHANNEL_NAME_LENGTH),charset(UTF16),string] uint16 *logName,
|
|
[in] uint32 locale,
|
|
[in] uint32 flags,
|
|
[out] uint16 **displayName);
|
|
}
|
|
|