2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
8 #include <exec/memory.h>
9 #include <proto/exec.h>
10 #include <dos/filesystem.h>
11 #include <dos/dosextens.h>
12 #include <dos/exall.h>
13 #include "dos_intern.h"
15 /*****************************************************************************
18 #include <proto/dos.h>
20 AROS_LH5(void, ExAllEnd
,
23 AROS_LHA(BPTR
, lock
, D1
),
24 AROS_LHA(struct ExAllData
*, buffer
, D2
),
25 AROS_LHA(LONG
, size
, D3
),
26 AROS_LHA(LONG
, data
, D4
),
27 AROS_LHA(struct ExAllControl
*, control
, D5
),
30 struct DosLibrary
*, DOSBase
, 165, Dos
)
34 Stop an ExAll() operation before returning ERROR_NO_MORE_ENTRIES.
38 The inputs should correspond to the inputs for the ExAll() function.
40 lock -- lock on the directory that is being examined
41 buffer -- buffer for data returned
42 size -- size of 'buffer' in bytes
43 type -- type of data to be returned
44 control -- control data structure
50 The control data structure must have been allocated with AllocDosObject().
58 ExAll(), AllocDosObject()
62 *****************************************************************************/
66 if (((struct InternalExAllControl
*)control
)->fib
== NULL
)
68 /* Get pointer to filehandle */
69 struct FileHandle
*fh
= (struct FileHandle
*)BADDR(lock
);
71 /* Get pointer to I/O request. Use stackspace for now. */
72 struct IOFileSys iofs
;
74 /* Prepare I/O request. */
75 InitIOFS(&iofs
, FSA_EXAMINE_ALL_END
, DOSBase
);
77 iofs
.IOFS
.io_Device
= fh
->fh_Device
;
78 iofs
.IOFS
.io_Unit
= fh
->fh_Unit
;
80 /* Send the request. May not fail. */
85 control
->eac_LastKey
= 0;