NT4/private/utils/aclconv/logfile.hxx

83 lines
1.7 KiB
C++
Raw Normal View History

2001-01-01 00:00:00 +01:00
/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
logfile.hxx
Abstract:
This module contains declarations which describe the file format
of the log file produced by ACLCONV.
Author:
Bill McJohn (billmc) 12-Feb-1992
Revision History:
--*/
#if !defined( _ACLCONV_LOGFILE_DEFN_ )
#define _ACLCONV_LOGFILE_DEFN_
// Conversion codes. Note that these are stored as ULONGs in
// the log file.
typedef enum _ACL_CONVERT_CODE {
ACL_CONVERT_SUCCESS = 0,
ACL_CONVERT_RESOURCE_NOT_FOUND = 1,
ACL_CONVERT_ERROR = 2
};
DEFINE_TYPE( _ACL_CONVERT_CODE, ACL_CONVERT_CODE );
typedef enum _ACE_CONVERT_CODE {
ACE_CONVERT_SUCCESS = 0,
ACE_CONVERT_DROPPED = 1,
ACE_CONVERT_SID_NOT_FOUND = 2,
ACE_CONVERT_ERROR = 3
};
DEFINE_TYPE( _ACE_CONVERT_CODE, ACE_CONVERT_CODE );
// The log file consists of a LOGFILE_HEADER followed by a series
// of log records.
CONST ULONG AclconvLogFileSignature = 0x38ac534d;
typedef struct _ACLCONV_LOGFILE_HEADER {
ULONG Signature;
};
DEFINE_TYPE( _ACLCONV_LOGFILE_HEADER, ACLCONV_LOGFILE_HEADER );
// A log file record has this format:
//
// Log Record Header
// Resource name -- Unicode, NULL-terminated.
// ACE Conversion codes -- One ULONG for each access entry
// Lanman access entries
//
typedef struct _ACLCONV_LOG_RECORD_HEADER {
ULONG ResourceNameLength; // in characters
ULONG ConversionResult; // result for this resource
USHORT LmAuditMask; // Lanman 2.x audit bits for this resource
USHORT AccessEntryCount; // Number of access entries in list.
};
DEFINE_TYPE( _ACLCONV_LOG_RECORD_HEADER, ACLCONV_LOG_RECORD_HEADER );
#endif