1da6c28aaSamw/* 2da6c28aaSamw * CDDL HEADER START 3da6c28aaSamw * 4da6c28aaSamw * The contents of this file are subject to the terms of the 5da6c28aaSamw * Common Development and Distribution License (the "License"). 6da6c28aaSamw * You may not use this file except in compliance with the License. 7da6c28aaSamw * 8da6c28aaSamw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9da6c28aaSamw * or http://www.opensolaris.org/os/licensing. 10da6c28aaSamw * See the License for the specific language governing permissions 11da6c28aaSamw * and limitations under the License. 12da6c28aaSamw * 13da6c28aaSamw * When distributing Covered Code, include this CDDL HEADER in each 14da6c28aaSamw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15da6c28aaSamw * If applicable, add the following below this CDDL HEADER, with the 16da6c28aaSamw * fields enclosed by brackets "[]" replaced with your own identifying 17da6c28aaSamw * information: Portions Copyright [yyyy] [name of copyright owner] 18da6c28aaSamw * 19da6c28aaSamw * CDDL HEADER END 20da6c28aaSamw */ 21da6c28aaSamw/* 2289dc44ceSjose borrego * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23da6c28aaSamw * Use is subject to license terms. 24*3299f39fSGordon Ross * 25*3299f39fSGordon Ross * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 26da6c28aaSamw */ 27da6c28aaSamw 28da6c28aaSamw#ifndef _MLSVC_LOGR_NDL_ 29da6c28aaSamw#define _MLSVC_LOGR_NDL_ 30da6c28aaSamw 31da6c28aaSamw/* 32da6c28aaSamw *********************************************************************** 33da6c28aaSamw * 34da6c28aaSamw * Event log RPC (EVENTLOG) interface definition. 35da6c28aaSamw * 36da6c28aaSamw *********************************************************************** 37da6c28aaSamw */ 38da6c28aaSamw 39*3299f39fSGordon Ross#include <libmlrpc/ndrtypes.ndl> 40da6c28aaSamw 41da6c28aaSamw#define LOGR_OPNUM_EventLogClose 0x02 42da6c28aaSamw#define LOGR_OPNUM_EventLogQueryCount 0x04 43da6c28aaSamw#define LOGR_OPNUM_EventLogGetOldestRec 0x05 44da6c28aaSamw#define LOGR_OPNUM_EventLogOpen 0x07 45da6c28aaSamw#define LOGR_OPNUM_EventLogRead 0x0A 46da6c28aaSamw 4789dc44ceSjose borrego#define LOGR_MAXENTRYLEN 800 48da6c28aaSamw 49da6c28aaSamw 508d7e4166Sjose borregoCONTEXT_HANDLE(logr_handle) logr_handle_t; 51da6c28aaSamw 52da6c28aaSamwstruct logr_string { 5389dc44ceSjose borrego WORD length; 5489dc44ceSjose borrego WORD allosize; 5589dc44ceSjose borrego LPTSTR str; 56da6c28aaSamw}; 57da6c28aaSamwtypedef struct logr_string logr_string_t; 58da6c28aaSamw 59da6c28aaSamwstruct logr_record { 6089dc44ceSjose borrego DWORD Length1; 6189dc44ceSjose borrego DWORD Reserved; 6289dc44ceSjose borrego DWORD RecordNumber; 6389dc44ceSjose borrego DWORD TimeGenerated; 6489dc44ceSjose borrego DWORD TimeWritten; 65da6c28aaSamw DWORD EventID; 66da6c28aaSamw WORD EventType; 67da6c28aaSamw WORD NumStrings; 68da6c28aaSamw WORD EventCategory; 6989dc44ceSjose borrego WORD ReservedFlags; 7089dc44ceSjose borrego DWORD ClosingRecordNumber; 7189dc44ceSjose borrego DWORD StringOffset; 72da6c28aaSamw DWORD UserSidLength; 73da6c28aaSamw DWORD UserSidOffset; 74da6c28aaSamw DWORD DataLength; 75da6c28aaSamw DWORD DataOffset; 7689dc44ceSjose borrego BYTE info[LOGR_MAXENTRYLEN]; 77da6c28aaSamw DWORD Length2; 78da6c28aaSamw}; 79da6c28aaSamwtypedef struct logr_record logr_record_t; 80da6c28aaSamw 81da6c28aaSamw/* 82da6c28aaSamw *********************************************************************** 83da6c28aaSamw * LOGR_OPNUM_EventLogClose 84da6c28aaSamw *********************************************************************** 85da6c28aaSamw */ 86da6c28aaSamwOPERATION(LOGR_OPNUM_EventLogClose) 87da6c28aaSamwstruct logr_EventLogClose { 8889dc44ceSjose borrego IN logr_handle_t handle; 8989dc44ceSjose borrego OUT logr_handle_t result_handle; 90da6c28aaSamw OUT DWORD status; 91da6c28aaSamw}; 92da6c28aaSamw 93da6c28aaSamw/* 94da6c28aaSamw *********************************************************************** 95da6c28aaSamw * LOGR_OPNUM_EventLogQueryCount 96da6c28aaSamw *********************************************************************** 97da6c28aaSamw */ 98da6c28aaSamwOPERATION(LOGR_OPNUM_EventLogQueryCount) 99da6c28aaSamwstruct logr_EventLogQueryCount { 10089dc44ceSjose borrego IN logr_handle_t handle; 10189dc44ceSjose borrego OUT DWORD rec_num; 10289dc44ceSjose borrego OUT DWORD status; 103da6c28aaSamw}; 104da6c28aaSamw 105da6c28aaSamw/* 106da6c28aaSamw *********************************************************************** 107da6c28aaSamw * LOGR_OPNUM_EventLogGetOldestRec 108da6c28aaSamw *********************************************************************** 109da6c28aaSamw */ 110da6c28aaSamwOPERATION(LOGR_OPNUM_EventLogGetOldestRec) 111da6c28aaSamwstruct logr_EventLogGetOldestRec { 11289dc44ceSjose borrego IN logr_handle_t handle; 11389dc44ceSjose borrego OUT DWORD oldest_rec; 11489dc44ceSjose borrego OUT DWORD status; 115da6c28aaSamw}; 116da6c28aaSamw 117da6c28aaSamw/* 118da6c28aaSamw *********************************************************************** 119da6c28aaSamw * LOGR_OPNUM_EventLogOpen 120da6c28aaSamw *********************************************************************** 121da6c28aaSamw */ 122da6c28aaSamwOPERATION(LOGR_OPNUM_EventLogOpen) 123da6c28aaSamwstruct logr_EventLogOpen { 12489dc44ceSjose borrego IN DWORD *server_name; 12589dc44ceSjose borrego IN logr_string_t log_name; 12689dc44ceSjose borrego IN DWORD reg_module_name; 12789dc44ceSjose borrego IN DWORD major_version; 12889dc44ceSjose borrego IN DWORD minor_version; 12989dc44ceSjose borrego OUT logr_handle_t handle; 13089dc44ceSjose borrego OUT DWORD status; 131da6c28aaSamw}; 132da6c28aaSamw 133da6c28aaSamwOPERATION(LOGR_OPNUM_EventLogRead) 134da6c28aaSamwstruct logr_EventLogRead { 13589dc44ceSjose borrego IN logr_handle_t handle; 13689dc44ceSjose borrego IN DWORD read_flags; 13789dc44ceSjose borrego IN DWORD rec_offset; 13889dc44ceSjose borrego IN DWORD nbytes_to_read; 13989dc44ceSjose borrego SIZE_IS(nbytes_to_read) 14089dc44ceSjose borrego OUT REFERENCE LPBYTE buf; 14189dc44ceSjose borrego OUT DWORD sent_size; 14289dc44ceSjose borrego OUT DWORD min_bytes_needed; 14389dc44ceSjose borrego OUT DWORD status; 144da6c28aaSamw}; 145da6c28aaSamw 146da6c28aaSamw/* 147da6c28aaSamw *********************************************************************** 148da6c28aaSamw * The EVENTLOG interface definition. 149da6c28aaSamw *********************************************************************** 150da6c28aaSamw */ 151da6c28aaSamwINTERFACE(0) 152da6c28aaSamwunion logr_interface { 153da6c28aaSamw CASE(LOGR_OPNUM_EventLogClose) 154da6c28aaSamw struct logr_EventLogClose EventLogClose; 155da6c28aaSamw CASE(LOGR_OPNUM_EventLogQueryCount) 156da6c28aaSamw struct logr_EventLogQueryCount EventLogQueryCount; 157da6c28aaSamw CASE(LOGR_OPNUM_EventLogGetOldestRec) 158da6c28aaSamw struct logr_EventLogGetOldestRec EventLogGetOldestRec; 159da6c28aaSamw CASE(LOGR_OPNUM_EventLogOpen) 160da6c28aaSamw struct logr_EventLogOpen EventLogOpen; 161da6c28aaSamw CASE(LOGR_OPNUM_EventLogRead) 162da6c28aaSamw struct logr_EventLogRead EventLogRead; 163da6c28aaSamw}; 164da6c28aaSamwtypedef union logr_interface logr_interface_t; 165da6c28aaSamwEXTERNTYPEINFO(logr_interface) 166da6c28aaSamw 167da6c28aaSamw#endif /* _MLSVC_LOGR_NDL_ */ 168