Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

149 lines
4.3 KiB

/**
Copyright(c) Maynard Electronics, Inc. 1984-89
Name: fsstream.h
Date Updated: $./FDT$ $./FTM$
Description: This file contains stream info structure and related
definitions for the file system internals.
Location: BE_PUBLIC
$Log: M:/LOGFILES/FSSTREAM.H_V $
Rev 1.14 06 Dec 1993 11:44:30 BARRY
Corrected stream headers for path/file names
Rev 1.13 09 Jun 1993 15:35:50 MIKEP
enable c++
Rev 1.12 31 Mar 1993 08:51:00 MARILYN
changed the CRCD checksum stream it to CSUM
Rev 1.11 01 Mar 1993 17:33:12 MARILYN
added a CRCD stream header id for checksum streams
Rev 1.10 17 Nov 1992 16:04:34 BARRY
Changed ULNK to LINK.
Rev 1.9 17 Nov 1992 14:15:26 GREGG
Added PAD stream type.
Rev 1.8 13 Nov 1992 16:46:00 DON
Added SMS Stream Header IDs
Rev 1.7 11 Nov 1992 10:33:02 TIMN
Changed macro names due to OS2 compiler confusion
Rev 1.6 26 Oct 1992 17:58:46 BARRY
Changed NTFS link id.
Rev 1.5 21 Oct 1992 19:37:54 BARRY
Added LINK stream header type for NTFS linked files.
Rev 1.4 16 Oct 1992 15:42:04 STEVEN
fix stream size problem
Rev 1.3 16 Oct 1992 10:49:50 STEVEN
make stream header with uint64 instead of two 32
Rev 1.2 14 Oct 1992 12:38:10 TIMN
Moved macros for stream infos from fsys_prv.h
Rev 1.1 06 Oct 1992 13:33:08 TIMN
Added fs stream attrib normal
**/
#ifndef _fsstream_h_
#define _fsstream_h_
/* begin include list */
/** are the tf_attrib defines included **/
#ifndef STREAM_VARIABLE
# include "tfldefs.h"
#endif
/* $end$ include list */
typedef struct STREAM_INFO *STREAM_INFO_PTR;
typedef struct STREAM_INFO {
UINT32 id ;
UINT16 fs_attrib ;
UINT16 tf_attrib ;
UINT64 size ;
} STREAM_INFO;
/** stream id values **/
#define STRM_INVALID 0
#define STRM_GENERIC_DATA 0x4e415453 /* 'STAN' */
#define STRM_PAD 0x44415053 /* 'SPAD' */
#define STRM_PATH_NAME 0x4d414e50 /* 'PNAM' */
#define STRM_FILE_NAME 0x4d414e46 /* 'FNAM' */
#define STRM_OTC_SM 0x504d5354 /* 'TSMP' On Tape Catalog Set Map */
#define STRM_OTC_FDD 0x44444654 /* 'TFDD' On Tape Catalog File/Directory Detail */
#define STRM_OS2_EA 0x4145324f /* 'O2EA' */
#define STRM_OS2_ACL 0x4c43414f /* 'OACL' */
#define STRM_NT_EA 0x4145544e /* 'NTEA' */
#define STRM_NT_ACL 0x4c43414e /* 'NACL' */
#define STRM_MAC_RESOURCE 0x4353524d /* 'MRSC' */
#define STRM_NOV_TRUST_286 0x3638324e /* 'N286' */
#define STRM_NOV_TRUST_386 0x3638334e /* 'N386' */
#define STRM_NTFS_ALT_DATA 0x54414441 /* 'ADAT' */
#define STRM_NTFS_LINK 0x4b4e494c /* 'LINK' */
#define STRM_SMS_DATA 0x44534d53 /* 'SMSD' */
#define STRM_CHECKSUM_DATA 0x4d555343 /* 'CSUM' */
#define STRM_EMS_MONO_DB 0x42444d58 /* 'XMDB' */
#define STRM_EMS_MONO_LOG 0x474c4f58 /* 'XLOG' */
#define STRM_EMS_MONO_PATHS 0x48545058 /* 'XPTH' */
/** stream attrib values (fs) **/
#define STRM_ATTRIB_NORMAL 0x0000
#define STRM_ATTRIB_MODIFIED_ON_READ 0x0001
#define STRM_ATTRIB_CONTAINS_SECURITY 0x0002
/** stream macros **/
#define FS_InvalidateStrmId(s_info) ( (s_info)->id = STRM_INVALID )
#define FS_IsStrmGeneric(s_info) ( (s_info)->id == STRM_GENERIC_DATA )
#define FS_IsStrmIdInvalid(s_info) ( (s_info)->id == STRM_INVALID )
#define FS_IsStrmVariableLength(s_info) \
( (s_info)->tf_attrib & STREAM_VARIABLE )
#define FS_IsStrmModifiedDuringRead(s_info) \
( (s_info)->fs_attrib & STRM_ATTRIB_MODIFIED_ON_READ )
#define FS_IsStreamChecksumed(s_info) \
( (s_info)->tf_attrib & STREAM_CHECKSUMED )
#define FS_GetStrmId(s_info) ( (s_info)->id )
#define FS_GetStrmAttrib(s_info) ( (s_info)->fs_attrib )
#define FS_GetStrmSizeLo(s_info) ( (s_info)->size.lsw )
#define FS_GetStrmSizeHi(s_info) ( (s_info)->size.msw )
#define FS_SetStrmId(s_info,Id) ( (s_info)->id = Id )
#define FS_SetStrmAttrib(s_info,fsAttrib) ( (s_info)->fs_attrib = fsAttrib )
#define FS_SetStrmSizeLo(s_info,sizelo) ( (s_info)->size.lsw = sizelo )
#define FS_SetStrmSizeHi(s_info,sizehi) ( (s_info)->size.msw = sizehi )
#endif