| 00h |
(OS hook) installation check
| Data: |
AL |
= |
00h required for DELWATCH 1.x |
|
Return: |
CF |
- |
clear |
| AX |
= |
0000h |
| CX |
= |
0004h (unsupported function) |
|
| 01h |
(DELWATCH 1.x) New Disk
??? |
| 01h |
(DELWATCH 2.0+) disable DELWATCH on drive
| Data: |
AL |
= |
drive number (00h = A:) |
| Return: |
AX |
= |
status
| 0000h |
= |
failed |
| FFFFFh |
= |
successful |
|
|
| 02h |
(OS hook) Delete File
|
Data: |
AL |
= |
drive number (00h = A:) |
| DX |
= |
directory cluster number (0000h for root
directory) |
| CX |
= |
directory entry number |
| DS:BX |
 |
directory entry |
| ES |
- |
must be valid selectors if called in
protected mode |
| DS |
- |
must be valid selectors if called in
protected mode |
|
Return: |
DS:BX |
 |
updated directory entry |
| CF |
- |
set if file is to be deleted by the OS |
| CF |
- |
clear if DELWATCH has placed the file in
its queue |
| Note: |
Deletes the directory entry. |
|
| 03h |
(OS hook) Free Clusters
|
Data: |
AL |
= |
drive number (00h = A:) |
| CX |
= |
number of clusters currently free (do not
free if > 1) |
| DX |
= |
preferred 'search from cluster' (ignored
by DELWATCH 2.0) |
|
Return: |
CF |
- |
clear if clusters freed |
| CF |
- |
set if no clusters freed |
| DX |
= |
new 'search from' cluster (one before
first free) |
|
| 04h |
(OS hook) free root directory entry
| Data: |
AL |
= |
drive number (00h = A:) |
| Return: |
CF |
- |
set if no directory entry freed |
|
| 05h |
(OS hook) return free space
|
Data: |
AL |
= |
drive number (00h = A:) |
| CX |
= |
number of free clusters |
| Return: |
CX |
= |
updated number of free clusters |
| Note: |
Adds space used by "deleted"
files to free space call is chained. |
|
| 06h |
enable DELWATCH on drive
|
Data: |
AL |
= |
drive number with bit 7 set (80h = A:,
etc.)
(DELWATCH 2.0+: set bit 6 for removable drives) |
| BX |
= |
maximum files of same name in one
directory to save |
| CX |
= |
maximum files to save on this disk |
| DS:DX |
 |
MEMDESC??? for drive data (see #04104) |
| DS:SI |
 |
MEMDESC??? for DWLIST (see #04104) |
| ES |
- |
must contain valid selectors if called in
protected mode |
| DS |
- |
must contain valid selectors if called in
protected mode |
|
Return: |
AX |
= |
status
| 0000h |
= |
failed |
| FFFFh |
= |
successful |
|
| CX |
= |
error code on failure (see #04102)
(0004h "wrong version" if AL < 80h on
entry) |
|
| 07h |
(DELWATCH 1.x) disable DELWATCH on drive
??? |
| 07h |
(DELWATCH 2.0+) (OS hook) new disk
|
Data: |
AL |
= |
drive (00h = A:, etc.) |
| ES:BX |
 |
DOS DDSC structure |
| CF |
- |
set if not enabled |
| Return: |
??? |
|
| 08h |
set file extensions list
|
Data: |
AL |
= |
sense
| 00h |
= |
exclude named extensions |
| 01h |
= |
only named ext. |
|
| DS:BX |
 |
31-byte ASCIZ extension list (three
blank-padded bytes per extension) |
| Return: |
AX |
= |
FFFFh (successful) |
|
| 09h |
adjust pending delete space
|
Data: |
AL |
= |
drive number (00h = A:) |
| CX |
= |
number of clusters being freed |
| Return: |
AX |
= |
0000h if drive not enabled |
|
| 0Ah |
remove DELWATCH entry
|
Data: |
AL |
= |
drive number (00h = A:) |
| DX |
= |
directory cluster number (0000h if root
directory) |
| CX |
= |
directory entry number |
| BX:SI |
 |
filename |
| ES |
- |
must contain valid selectors if called in
protected mode |
| DS |
- |
must contain valid selectors if called in
protected mode |
| Return: |
AX |
> |
0000h if entry found in DWLIST |
|
| 0Bh |
enable NEWDISK
| Return: |
AX |
> |
0000h if successful (FFFFh for DELWATCH 2.0) see also
function 0Dh |
|
| 0Ch |
(DELWATCH 1.x) drive status
| Data: |
AL |
= |
drive number (00h = A:, etc.) |
|
Return: |
AX |
= |
drive data segment, 0000h if not enabled |
| CX |
= |
pending delete space, if drive enabled |
|
| 0Ch |
(DELWATCH 2.0+) check if drive enabled
|
Data: |
AL |
= |
drive number with bit 7 set (80h = A:,
etc.) |
| DS:DX |
 |
MEMDESC for drive data (see #04104)
| DX |
= |
0000h if not required |
|
| DS:SI |
 |
MEMDESC for DWLIST (see #04104)
| SI |
= |
0000h if not required |
|
| ES |
- |
must contain valid selectors if called in
protected mode |
| DS |
- |
must contain valid selectors if called in
protected mode |
| Return: |
AX |
= |
drive status (see also #04103)
| 0000h |
= |
disabled or error
|
| 0001h |
= |
drive enabled
| CX |
= |
pending delete space, FFFFh if NEWDISK not
yet called |
|
|
|
| 0Dh |
disable NEWDISK
| Data: |
BX |
= |
segment address of bitmap buffer |
| Return: |
AX |
> |
0000h if successful (FFFFh for DELWATCH
2.0) see also function 0Bh |
|
| 0Eh |
(DELWATCH 2.0+) (OS hook) purge file
|
Data: |
AL |
= |
drive number (00h = A:) |
| DX |
= |
directory cluster number (0000h if root
directory) |
| CX |
= |
directory entry number |
|
Return: |
CF |
- |
set if drive not enabled |
| CF |
- |
clear
| AX |
= |
status
| 0000h |
= |
successfully purged |
| else |
= |
error code (see #04102) |
|
|
|
| 0Fh |
(DELWATCH 2.0+) (OS hook) undelete file
|
Data: |
AL |
= |
drive number (00h = A:) |
| DX |
= |
directory cluster number (0000h if root
directory) |
| CX |
= |
directory entry number |
|
Return: |
CF |
- |
set if drive not enabled |
| CF |
- |
clear
| AX |
= |
status
| 0000h |
= |
successfully undeleted |
| else |
= |
error code (see #04102) |
|
|
|