### Dxreaddir()

LONG Dxreaddir( len, handle, buf, xattr, xret )

WORD len;
LONG handle;
char *buf;
XATTR *xattr;
LONG *xret;

| Dxreaddir() is the same as Dreaddir() except that it also returns (extended) attributes for a particular directory entry.
Opcode | 322 (0x0142)
Availability | Available when a 'MiNT' cookie with a version of at least 1.11 exists.
Parameters | len, handle and buf arguments are identical to Dreaddir() call. xattr is a pointer to a structure containing extended attributes identical as for Fxattr(). xret is a pointer to a memory location which will be filled with an additional return value.
Binding |
    pea	xret
    pea	xattr
    pea	buf
    move.l	handle,-(sp)
    move.w	len,-(sp)
    move.w	#$0142,-(sp)
    trap	#1
    lea	$12(sp),sp
Return Value | Dxreaddir() returns the same error codes as Dreaddir() or E_OK on success.
Comments | In fact, the Dxreaddir() just combines two separate XFS functions into one system call. Thus, because two separate functions are performed, two separate return values are returned. The one from Dreaddir() stage is returned in the GEMDOS return value, the other, from the Fxattr() stage, is returned at *xret. If the Dreaddir() fails, the call returns immediately, so the *xret is worth examinating only, if the GEMDOS return value is equal to E_OK.
See Also | Dreaddir(), Fxattr()