������ �������� ����(!) ������������� ����������
|
CIT Forum CD-ROM
|
|
STAT(2)
��������
stat, fstat - ��������� ������� �����
���������
#include <sys/types.h>
#include <sys/stat.h>
int stat (path, buf)
char *path;
struct stat *buf;
int fstat (fildes, buf)
int fildes;
struct stat *buf;
��������
�������� path ��������� �� ���������� ��� �����. ��
��������� ������� ���� ������� �� ������, ������ � ���������� ��������� �����, �� ��� ��������, ������������� ����� ������ ����� � ���������� �����, ������ ����
�������� �� �����. ��������� ����� stat �������������
���������� � ������������� �����.
��������� ����� fstat ������������� ���������� �� �������� �����, ���������� � ������� ����������� �����
fildes, ������� ������������ ������� ������������ ���������� �������� open, creat, dup, fcntl ��� pipe.
�������� buf �������� ���������� �� �������� ���� stat,
� ������� ���������� ���������� � �����.
���������, �� ������� ��������� buf, �������� ���������
����:
ushort st_mode; /* ����� ����� [��. mknod(2)] */
ino_t st_ino; /* ����� ��������� ����� */
dev_t st_dev; /* �����. ����������, �����������
������� � ������ � ���� ���� */
dev_t st_rdev; /* �����. ����������. ���� ����������
������ ��� ����������� ���������� �
������� ������ */
short st_nlink; /* ���������� ������ */
ushort st_uid; /* �����. ��������� ����� */
ushort st_gid; /* �����. ������ ��������� ����� */
off_t st_size; /* ������ ����� � ������ */
time_t st_atime; /* ����� ���������� ������� � ����� */
time_t st_mtime; /* ����� ��������� ������ � ���� */
time_t st_ctime; /* ����� ���������� ��������� �������
����� */
/* ����� ���������� � �������� �� 00:00:00
1 ������ 1970�. �� �������� */
- st_mode
- ����� ����� �������� �����������, ������� ��� �������� ���������� ������ mknod(2).
- st_ino
- ��� ���� ���������� ���������� ���� � ������ �������� �������. ���� (st_ino, st_dev) ����������
���������� ������� �����.
- st_dev
- ��� ���� ���������� ���������� �������� �������,
���������� ����. �������� ���� ����� �������������� � �������� �������� ��������� ���������� ������
ustat(2) ��� ��������� �������������� ����������
�� ���� �������� �������. �������� ������� ������
��� ���� �� �����.
- st_rdev
- ��� ���� ������� ������������ ������ ��� ������
��������������. ��� ����� ����� ���� ��� ����������� ������� � ���������� ������ � ������ � ���
�������, ��� ���� ��� ���������������.
- st_nlink
- ��� ���� ������� ������������ ������ ��� ������
��������������.
- st_uid
- ������������� ��������� �����.
- st_gid
- ������������� ������ ��������� �����.
- st_size
- ��� ������� ������ ��� ����� ����� �����. ��� ������� ��� ������� ���������� ������ � �����. ���
����������� ������� � ���������� ������ ��������
���� �� ����������.
- st_atime
- ����� ���������� ������� � ������. ��� ���� ���������� ���������� ���������� ��������: creat(2),
mknod(2), pipe(2), utime(2) � read(2).
- st_mtime
- ����� ��������� ����������� ������. ��� ���� ���������� ���������� ���������� ��������: creat(2),
mknod(2), pipe(2), utime(2) � write(2).
- st_ctime
- ����� ���������� ��������� ������� �����. ��� ����
���������� ���������� ���������� ��������:
chmod(2), chown(2), creat(2), link(2), mknod(2),
pipe(2), unlink(2), utime(2) � write(2).
��������� ����� stat ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:
- [ENOTDIR]
- ��������� �������� �� �������� ���������.
- [ENOENT]
- �������� ���� �� ����������.
- [EACCES]
- ��� ����� �� ����� ��� ���������� ��������.
- [EFAULT]
- ��������� buf ��� path ��������� �� �������
����������� �������� ��������� ������������.
- [EINTR]
- �� ����� ���������� ���������� ������ ���������� ������.
- [ENOLINK]
- ���������� ��� path ��������� �� ���������
���������, ����� � ������� � ������ ������
���.
- [EMULTIHOP] ���������� path ������� ������������� ��������� � ��������� �����������.
��������� ����� fstat ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:
- [EBADF]
- �������� fildes �� �������� ����������
������������ ��������� �����.
- [EFAULT]
- ��������� buf ��� path ��������� �� �������
����������� �������� ��������� ������������.
- [ENOLINK]
- ���������� ����� fildes ��������� �� ��������� ���������, ����� � ������� � ������
������ ���.
��. �����
chmod(2), chown(2), creat(2), link(2), mknod(2),
pipe(2), read(2), time(2), unlink(2), utime(2),
write(2).
�����������
��� �������� ���������� ��������� ����� 0; � ������
������ ������������ -1, � ���������� errno ������������� ��� ������.