=> R0 = handle of the task Filer_Action just started.
R1 = reason code:
0 Copy
1 Move (rename)
2 Delete
3 Set access
4 Set type
5 Count
6 Move (by copying/deleting)
7 Copy local (within directory)
8 Stamp files
9 Find file
R2 = options
R3 = *pointer* to reason dependent data
R4 = length of data (including terminating "\0" for strings)
This SWI sends any remaining leafnames with Message_FilerAddSelection, then starts the selected operation by constructing and sending Message_FilerAction. Reason dependent data is always a pointer, even for word sized data. Usually the data is a destination pathname.
See PRM 2, page 506.
FilerAction 0 (Copy)
=> R0 = handle of the task Filer_Action just started.
R1 = 0 (Copy)
R2 = options
R3 = null terminated destination directory
R4 = length (including terminating null)
FilerAction 1 (Rename)
=> R0 = handle of the task Filer_Action just started.
R1 = 1 (Rename)
R2 = options
R3 = null terminated destination directory
R4 = length (including terminating null)
FilerAction 2 (Delete)
=> R0 = handle of the task Filer_Action just started.
R1 = 2 (Delete)
R2 = options
R3 = unused
R4 = 0
FilerAction 3 (Set access)
=> R0 = handle of the task Filer_Action just started.
R1 = 3 (Set access)
R2 = options
R3 = *pointer* to word giving access
R4 = 4
The high 2 bytes of the word give the mask, the low 2 bytes the value.
New access = (Old access BIC mask) ORR (Value AND mask)
FilerAction 4 (Set type)
=> R0 = handle of the task Filer_Action just started.
R1 = 4 (Set type)
R2 = options
R3 = *pointer* to word giving numeric filetype
R4 = 4
FilerAction 5 (Count)
=> R0 = handle of the task Filer_Action just started.
R1 = 5 (Count)
R2 = options
R3 = unused
R4 = 0
FilerAction 6 (Move)
=> R0 = handle of the task Filer_Action just started.
R1 = 6 (Move)
R2 = options
R3 = null terminated destination directory
R4 = length (including terminating null)
FilerAction 7 (Copy local)
=> R0 = handle of the task Filer_Action just started.
R1 = 7 (Copy local)
R2 = options
R3 = null terminated destination object name
R4 = length (including terminating null)
FilerAction 8 (Stamp)
=> R0 = handle of the task Filer_Action just started.
R1 = 8 (Stamp)
R2 = options
R3 = unused
R4 = 0
FilerAction 9 (Find)
=> R0 = handle of the task Filer_Action just started.
R1 = 9 (Find)
R2 = options
R3 = null terminated name to find
R4 = length (including terminating null)
|
|
|