summaryrefslogtreecommitdiff
path: root/v4.0/src/INC/FASTOPEN.INC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/INC/FASTOPEN.INC')
-rw-r--r--v4.0/src/INC/FASTOPEN.INC148
1 files changed, 148 insertions, 0 deletions
diff --git a/v4.0/src/INC/FASTOPEN.INC b/v4.0/src/INC/FASTOPEN.INC
new file mode 100644
index 0000000..a01c6da
--- /dev/null
+++ b/v4.0/src/INC/FASTOPEN.INC
@@ -0,0 +1,148 @@
1;
2; EXPORT DATE: 9/11
3;Equates for FASTOPEN.
4
5;FASTOPEN NAME CACHING Subfunctions
6FONC_Look_up equ 1
7FONC_insert equ 2
8FONC_delete equ 3
9FONC_update equ 4
10FONC_purge equ 5 ;reserved for the future use.
11
12;FASTOPEN EXTENT CACHING Subfunctions
13FSK_Open equ 11 ;AN000;
14FSK_Close equ 12 ;AN000;
15FSK_Delete equ 13 ;AN000;
16FSK_Lookup equ 14 ;AN000;
17FSK_Insert equ 15 ;AN000;
18FSK_Trunc equ 16 ;AN000;
19
20HeaderSize equ 8 ; size of file header (8 bytes) ;AN000;
21ExtendSize equ 8 ; size of extend (8 bytes) ;AN000;
22Num_Of_Pages equ 1 ; number of pages ;AN000;
23Num_Of_Segs equ 2 ; number of frame segments ;AN000;
24Stayresident equ 04ch ; terminate and stay resident function code
25
26
27;Equates used in DOS.
28FastOpen_Set equ 00000001B
29FastOpen_Reset equ 11111110B
30Lookup_Success equ 00000010B
31Lookup_Reset equ 11111101B
32Special_Fill_Set equ 00000100B
33Special_Fill_Reset equ 11111011B
34No_Lookup equ 00001000B
35Set_For_Search equ 00010000B ;DCR 167
36
37
38;============= FastOpen Data Structures =====================
39
40Fastopen_Entry STRUC ;Fastopen Entry pointer in DOS
41Fastopen_Entry_size dw 4 ;size of the following
42Fastopen_Name_Caching dd ?
43;Fastopen_FatChain_Caching dd ? ;reserved for future use
44Fastopen_Entry ENDS
45;
46
47
48CMPCT_DIR_INFO STRUC ;compact version of Dir Info.
49CDI_file_name db 11 dup (' ')
50CDI_file_attr db ?
51CDI_codepage dw ?
52CDI_extcluster dw ?
53CDI_attr2 db ?
54CDI_time dw ?
55CDI_date dw ?
56CDI_cluster dw ?
57CDI_filesize dd ?
58CMPCT_DIR_INFO ENDS
59;
60
61ORIG_DIR_INFO STRUC
62ODI_head db 17 dup (?)
63ODI_skip db 5 dup (0) ;reserved for DOS. FASTOPEN does not
64ODI_tail db 10 dup (?) ; use ODI_skip part.
65ORIG_DIR_INFO ENDS
66;
67
68ODI_head_leng equ 17
69ODI_skip_leng equ 5
70ODI_tail_leng equ 10
71;
72
73FASTOPEN_EXTENDED_INFO STRUC
74FEI_dirpos db 0
75FEI_dirsec dd 0
76FEI_clusnum dw 0
77FEI_lastent dw 0 ; for search first
78FEI_dirstart dw 0 ; for search first
79FASTOPEN_EXTENDED_INFO ENDS
80;
81
82NAME_RECORD STRUC
83nLRU_ptr dw -1
84nMRU_ptr dw -1 ;reverse of nLRU_ptr
85nChild_ptr dw -1
86nSibling_ptr dw -1
87nBackward_ptr dw -1 ;points to preceding node
88nCmpct_Dir_Info db size Cmpct_Dir_Info dup (' ')
89nExtended_Info db size Fastopen_Extended_Info dup (?)
90NAME_RECORD ENDS
91;
92
93DRIVE_CACHE_HEADER STRUC ;drive cache header
94DCH_LRU_ROOT dw 0 ;Header of the LRU chain of this drive
95DCH_MRU_ROOT dw 0 ;offset to the last entry of LRU chain
96DCH_Child_ptr dw -1 ;the first child in Name cache seg.
97DCH_Sibling_ptr dw -1 ;points to the next drive cache header
98DCH_Drive_letter db 'C' ;drive letter
99DCH_Num_Entries dw 0 ;Number of entries in the Name cache.
100DCH_Name_Buff dw 0 ;pointer to name cahe buffer
101DRIVE_CACHE_HEADER ENDS
102;
103
104
105
106
107
108;======== FAST SEEK FUNCTION DATA STRUCTURES =======================
109
110DRIVE_HEADER STRUC ; Drive header structure ;AN000;
111Drive_Number dw 0 ; drive number ;AN000;
112Extent_Count dw 0 ; reserved for debugging
113MRU_Hdr_Ptr dw 0 ; pointer to OPEN Queue
114Free_ptr dw 0 ; pointer to FREE buffer ;AN000;
115Close_Ptr dw 0 ; pointer to CLOSE Queue ;AN000;
116Buff_Size dw 0 ; cache buffer size including header ;AN000;
117Free_Size dw 0 ; size of Free area in bytes
118Next_Drv_Hdr_Ptr dw 0 ; pointer to next drive header
119DRIVE_HEADER ENDS
120
121
122
123FILE_HEADER STRUC ; File header structure ;AN000;
124FH_Phys_Clus_Num dw 0 ; starting physcial clustnum of file ;AN000;
125FH_Refer_Count dw 0 ; reference count ;AN000;
126FH_Next_Extn_Ptr dw 0 ; pointer to first extent of the file;AN000;
127FH_Next_Hdr_Ptr dw 0 ; pointer to next file header ;AN000;
128FH_MRU_Extn_Ptr dw 0 ; pointer to MRU extent
129 dw 0
130 dw 0
131 dw 0
132FILE_HEADER ENDS ;AN000;
133
134
135
136EXTENT_HEADER STRUC ; extend header structure ;AN000;
137EH_Logic_Clus_Num dw 0 ; starting logical clus num of extent;AN000;
138EH_Phys_Clus_Num dw 0 ; starting physical clus numof extnt;AN000;
139EH_Count dw 0 ; range of logical clusnum in the extnt
140EH_Next_Extn_Ptr dw 0 ; pointer to next extent ;AN000;
141EH_Prev_Extn_Ptr dw 0 ; pointer to previous extent ;AN000;
142EH_Next_LRU_Ptr dw 0 ; pointer to next LRU extent
143EH_Prev_LRU_Ptr dw 0 ; pointer tp previous LRU extent
144 dw 0
145EXTENT_HEADER ENDS
146
147
148