blob: e4006ed11b84b8d9681855146a8735ca6fb328ab (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
/**
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
|