466bc555fe
Also add fstat() and lstat(). I don't #define the constants for st_mode or d_type, but I provide enough to get the block size of a file and to list the names in a directory. Some fields of struct stat get truncated, see XXX in plat/osx/include/sys/stat.h. In struct dirent, the inode field might be d_ino or d_fileno. I picked d_ino because Apple's sys/dirent.h uses d_ino (but Apple's manual pages use d_fileno).
10 lines
150 B
ArmAsm
10 lines
150 B
ArmAsm
.sect .text
|
|
.define _lstat
|
|
_lstat:
|
|
addi r0, r0, 190 ! lstat
|
|
lwz r3, 0(sp) ! path
|
|
lwz r4, 4(sp) ! stat pointer
|
|
sc 0
|
|
b .set_errno
|
|
bclr 20, 0, 0
|