码迷,mamicode.com
首页 > Web开发 > 详细

linux c statfs系统调用

时间:2015-07-17 00:30:53      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

statfs 系统调用原型:

int statfs(const char *path, struct statfs *buf);

参数说明:

path : 位于需要查询信息的文件系统的路径名(不是设备名,是挂载点名称)
buf : statfs结构体的指针变量,用于储存文件系统相关的信息。

statfs结构体说明

结构体原型:
#if __WORDSIZE == 32          /* System word size */
# define __SWORD_TYPE           int
#else /* __WORDSIZE == 64 */
# define __SWORD_TYPE         long int
#endif

struct statfs {
    __SWORD_TYPE f_type;    /* 文件系统类型 (see below) */
    __SWORD_TYPE f_bsize;   /* 经过优化的传输块大小 */
    fsblkcnt_t   f_blocks;  /* 文件系统数据块总数 */
    fsblkcnt_t   f_bfree;   /* 可用块数 */
    fsblkcnt_t   f_bavail;  /* 非超级用户可获取的块数 */
    fsfilcnt_t   f_files;   /* 文件节点总数 */
    fsfilcnt_t   f_ffree;   /* 可用文件节点总数 */
    fsid_t       f_fsid;    /* 文件系统标识 */
    __SWORD_TYPE f_namelen; /* 文件名的最大长度 */
    __SWORD_TYPE f_frsize;  /* 碎片大小 (since Linux 2.6) */
    __SWORD_TYPE f_spare[5];
};

f_type所描述的文件类型如下:
ADFS_SUPER_MAGIC      0xadf5
AFFS_SUPER_MAGIC      0xADFF
BEFS_SUPER_MAGIC      0x42465331
BFS_MAGIC             0x1BADFACE
CIFS_MAGIC_NUMBER     0xFF534D42
CODA_SUPER_MAGIC      0x73757245
COH_SUPER_MAGIC       0x012FF7B7
CRAMFS_MAGIC          0x28cd3d45
DEVFS_SUPER_MAGIC     0x1373
EFS_SUPER_MAGIC       0x00414A53
EXT_SUPER_MAGIC       0x137D
EXT2_OLD_SUPER_MAGIC  0xEF51
EXT2_SUPER_MAGIC      0xEF53
EXT3_SUPER_MAGIC      0xEF53
EXT4_SUPER_MAGIC      0xEF53
HFS_SUPER_MAGIC       0x4244
HPFS_SUPER_MAGIC      0xF995E849
HUGETLBFS_MAGIC       0x958458f6
ISOFS_SUPER_MAGIC     0x9660
JFFS2_SUPER_MAGIC     0x72b6
JFS_SUPER_MAGIC       0x3153464a
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 */
MSDOS_SUPER_MAGIC     0x4d44
NCP_SUPER_MAGIC       0x564c
NFS_SUPER_MAGIC       0x6969
NTFS_SB_MAGIC         0x5346544e
OPENPROM_SUPER_MAGIC  0x9fa1
PROC_SUPER_MAGIC      0x9fa0
QNX4_SUPER_MAGIC      0x002f
REISERFS_SUPER_MAGIC  0x52654973
ROMFS_MAGIC           0x7275
SMB_SUPER_MAGIC       0x517B
SYSV2_SUPER_MAGIC     0x012FF7B6
SYSV4_SUPER_MAGIC     0x012FF7B5
TMPFS_MAGIC           0x01021994
UDF_SUPER_MAGIC       0x15013346
UFS_MAGIC             0x00011954
USBDEVICE_SUPER_MAGIC 0x9fa2
VXFS_SUPER_MAGIC      0xa501FCF5
XENIX_SUPER_MAGIC     0x012FF7B4
XFS_SUPER_MAGIC       0x58465342
_XIAFS_SUPER_MAGIC    0x012FD16D

版权声明:本文为博主原创文章,未经博主允许不得转载。

linux c statfs系统调用

标签:

原文地址:http://blog.csdn.net/u011641885/article/details/46919027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!