이 름
statfs, fstatfs − 파 일 시 스 템 통 계 를 가 져 온 다 .
사 용 법
#include <sys/vfs.h>
int
statfs(const char *path, struct statfs
*buf);
int fstatfs(int fd, struct statfs
*buf);
설 명
statfs 는 마 운 트 된 파 일 시 스 템 에 관 한 정 보 를 반 환 한 다 . path 는 마 운 트 된 파 일 시 스 템 내 파 일 의 경 로 이 름 이 다 . buf 는 다 음 과 같 이 정 의 된 statfs 구 조 체 에 대 한 포 인 터 이 다 :
struct statfs {
long f_type; /* 파 일 시 스 템
타 입 (아 래 에 서
보 여 준 다 ) */
long f_bsize; /* 최 적 화 된
전 송 블 럭 크 기 */
long f_blocks; /* 파 일 시 스
템 내 총 데 이 터
블 럭 들 */
long f_bfree; /* 파 일 시 스
템 내 여 유 블 럭
들 */
long f_bavail; /* 비 -슈 퍼 유
저 를 위 한 여 유
블 럭 들 */
long f_files; /* 파 일 시 스
템 내 총 파 일 노
드 들 */
long f_ffree; /* 파 일 시 스
템 내 여 유 파 일
노 드 들 */
fsid_t f_fsid; /* 파 일 시 스
템 ID */
long f_namelen; /* 파 일 이 름
의 최 대 길 이 */
long f_spare[6]; /* 나 중 을 위
한 여 유 분 */
};
파 일 시 스 템 타 입 들 :
linux/affs_fs.h:
AFFS_SUPER_MAGIC 0xADFF
linux/ext_fs.h:
EXT_SUPER_MAGIC 0x137D
linux/ext2_fs.h:
EXT2_OLD_SUPER_MAGIC 0xEF51
EXT2_SUPER_MAGIC 0xEF53
linux/hpfs_fs.h:
HPFS_SUPER_MAGIC 0xF995E849
linux/iso_fs.h:
ISOFS_SUPER_MAGIC 0x9660
linux/minix_fs.h:
MINIX_SUPER_MAGIC 0x137F /* orig. minix */
MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */
MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */
MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */
linux/msdos_fs.h:
MSDOS_SUPER_MAGIC 0x4d44
linux/ncp_fs.h:
NCP_SUPER_MAGIC 0x564c
linux/nfs_fs.h:
NFS_SUPER_MAGIC 0x6969
linux/proc_fs.h:
PROC_SUPER_MAGIC 0x9fa0
linux/smb_fs.h:
SMB_SUPER_MAGIC 0x517B
linux/sysv_fs.h:
XENIX_SUPER_MAGIC 0x012FF7B4
SYSV4_SUPER_MAGIC 0x012FF7B5
SYSV2_SUPER_MAGIC 0x012FF7B6
COH_SUPER_MAGIC 0x012FF7B7
linux/ufs_fs.h:
UFS_MAGIC 0x00011954
linux/xia_fs.h:
_XIAFS_SUPER_MAGIC 0x012FD16D
특 별 한 파 일 시 스 템 을 위 해 정 의 되 지 않 은 필 드 들 은 −1로 설 정 된 다 . fstatfs 는 기 술 자 fd에 의 해 참 조 되 는 열 린 파 일 에 관 한 같 은 정 보 를 반 환 한 다 .
반 환 값
성 공 시 , 0이 리 턴 된 다 . 에 러 시 , −1이 리 턴 되 며 , errno 는 적 당 한 값 으 로 설 정 된 다 .
에 러
statfs:
ENOTDIR
path 의 경 로 요 소 가 디 렉 토 리 가 아 니 다 .
ENAMETOOLONG
path 가 너 무 길 다 .
ENOENT |
path 가 가 리 키 는 파 일 이 존 재 하 지 않 는 다 . | ||
EACCES |
탐 색 허 가 권 이 path의 경 로 요 소 에 서 거 부 되 었 다 . | ||
ELOOP |
너 무 많 은 상 징 연 결 들 을 path해 석 시 에 만 났 다 . | ||
EFAULT |
Buf 나 path 가 유 효 하 지 않 는 주 소 를 가 리 키 고 있 다 . | ||
EIO |
파 일 시 스 템 을 읽 거 나 슬 는 동 안 I/O 에 러 가 발 생 했 다 . | ||
ENOMEM |
이 용 할 수 있 는 커 널 메 모 리 가 충 분 하 지 않 다 . | ||
ENOSYS |
파 일 시 스 템 path 는 statfs를 지 원 하 지 않 는 다 . |
fstatfs:
EBADF |
fd 는 유 효 한 열 려 진 파 일 기 술 자 가 아 니 다 . |
|||
EFAULT |
buf 가 유 효 하 지 않 은 주 소 를 가 리 키 고 있 다 . |
|||
EIO |
파 일 시 스 템 을 읽 고 쓰 는 동 안 I/O 에 러 가 발 생 했 다 . |
|||
ENOSYS |
파 일 시 스 템 fd 가 statfs를 지 원 하 지 않 는 다 . |
호 환
4.4BSD.
관 련 항 목
역 자
정 강 훈 <skyeyes [AT] soback.net>, 2000년 9월 16일