Beispiel #1
0
/* Get information about the file NAME in BUF.  */
int
__fxstatat (int vers, int fd, const char *file, struct stat *buf, int flag)
{
  if (vers == _STAT_VER_KERNEL)
    {
      int rc = INLINE_SYSCALL (fstatat64, 4, fd, file, buf, flag);
      return rc ?: stat_overflow (buf);
    }
Beispiel #2
0
/* Get information about the file NAME in BUF.  */
int
__xstat (int vers, const char *name, struct stat *buf)
{
  if (vers == _STAT_VER_KERNEL)
    {
      int rc = INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf, 0);
      return rc ?: stat_overflow (buf);
    }
Beispiel #3
0
/* Get information about the file FD in BUF.  */
int
__fxstat (int vers, int fd, struct stat *buf)
{
  if (vers == _STAT_VER_KERNEL)
    {
      int rc = INLINE_SYSCALL (fstat64, 2, fd, buf);
      return rc ?: stat_overflow (buf);
    }
Beispiel #4
0
/* Get information about the file NAME in BUF.  */
int
__lxstat (int vers, const char *name, struct stat *buf)
{
  if (vers == _STAT_VER_KERNEL)
    {
#ifdef __NR_fstatat64
      int rc = INLINE_SYSCALL (fstatat64, 4, AT_FDCWD, name, buf,
                               AT_SYMLINK_NOFOLLOW);
#else
      struct statx tmp;
      int rc = INLINE_SYSCALL (statx, 5, AT_FDCWD, name,
                               AT_NO_AUTOMOUNT | AT_SYMLINK_NOFOLLOW,
                               STATX_BASIC_STATS, &tmp);
      if (rc == 0)
        __cp_stat64_statx ((struct stat64 *)buf, &tmp);
#endif
      return rc ?: stat_overflow (buf);
    }