summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatoliy Atanasov <anatoliy.atanasov@postpath.com>2010-09-23 11:31:32 -0700
committerAnatoliy Atanasov <anatoliy.atanasov@postpath.com>2010-09-23 13:34:08 -0700
commit55fe86bccc4c579e77fab8a20a53e4bbb2a55bc8 (patch)
treecda6d19160ef52f73dfe75539f7f5fb4b2621df8
parentbea4948acb4bbee2fbf886adeb53edbc84de96da (diff)
downloadsamba-55fe86bccc4c579e77fab8a20a53e4bbb2a55bc8.tar.gz
samba-55fe86bccc4c579e77fab8a20a53e4bbb2a55bc8.tar.bz2
samba-55fe86bccc4c579e77fab8a20a53e4bbb2a55bc8.zip
s4/eventlog6: Add idl for EventLog6 RPC
The idl is translated from [MS-EVEN6].pdf.
-rw-r--r--librpc/idl/eventlog6.idl343
1 files changed, 343 insertions, 0 deletions
diff --git a/librpc/idl/eventlog6.idl b/librpc/idl/eventlog6.idl
new file mode 100644
index 0000000000..0cda95b62a
--- /dev/null
+++ b/librpc/idl/eventlog6.idl
@@ -0,0 +1,343 @@
+#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);
+}
+