struct stat {
int dummy;
};
struct kernel_stat {
int dummy;
};
extern int xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf);
extern int *__errno_location (void) __attribute__ ((__const__));
int
__fxstat (int vers, int fd, struct stat *buf)
{
struct kernel_stat kbuf;
int result;
if (vers == 0)
return
({
long _sc_ret, _sc_err;
{
register long _sc_0 __asm__("$0");
register long _sc_16 __asm__("$16");
register long _sc_17 __asm__("$17");
register long _sc_19 __asm__("$19");
_sc_0 = 91;
_sc_16 = (long) (fd);
_sc_17 = (long) (((struct kernel_stat *) buf));
__asm__("callsys1 %0 %1 %2 %3 %4"
: "=r"(_sc_0), "=r"(_sc_19)
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17)
: "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
"$22", "$23", "$24", "$25", "$27", "$28", "memory");
_sc_ret = _sc_0, _sc_err = _sc_19;
}
if (_sc_err)
{
(*__errno_location ()) = (_sc_ret);
_sc_ret = -1L;
}
_sc_ret;
});
result =
({
long _sc_ret, _sc_err;
{
register long _sc_0 __asm__("$0");
register long _sc_16 __asm__("$16");
register long _sc_17 __asm__("$17");
register long _sc_19 __asm__("$19");
_sc_0 = 91;
_sc_16 = (long) (fd);
_sc_17 = (long) ((&kbuf));
__asm__("callsys2 %0 %1 %2 %3 %4"
: "=r"(_sc_0), "=r"(_sc_19)
: "0"(_sc_0), "r"(_sc_16), "r"(_sc_17)
: "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
"$22", "$23", "$24", "$25", "$27", "$28", "memory");
_sc_ret = _sc_0, _sc_err = _sc_19;
}
if (_sc_err)
{
(*__errno_location ()) = (_sc_ret);
_sc_ret = -1L;
}
_sc_ret;
});
if (result == 0)
result = xstat_conv (vers, &kbuf, buf);
return result;
}