linux文件 i节点结构,小弟关于i节点的疑问

小弟在现在实现LS命令

用到啦readdir函数,

这个函数中返回一个结构体是:

struct  dirent

{

ino_t  d_ino;

char   d_name[NAME_MAX+1]

}

针对这个函数的使用倒是没有问题

但是i_ino  d_ino应该是i节点编号数

我在头文件中找却没有找到 i节点结构体的定义

那为高手给小弟说一项i节点的结构提定义在什么地方

这是我在网上查到的i节点结构体

i节点结构如下(参考/usr/include/sys/ino.h):

struct dinode

{

ushort di_mode;  /*文件类型+用户权限*/

short di_nlink;  /*文件链接数*/

ushort di_uid;  /*属主用户id*/

ushort di_gid;  /*属主用户组id*/

off_t di_size;  /*文件大小*/

char di_addr[40]; /*文件数据区起点地址*/

time_t di_atime; /*最后访问时间*/

time_t di_mtime; /*最后修改时间*/

time_t di_ctime; /*创建时间*/

};

但是这个路径下没有这个头文件

还有就是:

我用GDB来ptype  long unsigned int

但是在程序中长整形输出出现段错误

|

[Owner@andlinux include]$ find . -name "*.h" | xargs grep ino_t

./asm/posix_types_32.h:typedef unsigned long    __kernel_ino_t;

./asm/posix_types_64.h:typedef unsigned long    __kernel_ino_t;

……

./linux/coda.h:typedef u_long ino_t;

./linux/coda.h:    ino_t        inode;

./linux/types.h:typedef __kernel_ino_t          ino_t;

./bits/dirent.h:    __ino_t d_ino;

……

[Owner@andlinux include]$

樓主到/usr/include目錄下,執行命令“find . -name "*.h" | xargs grep ino_t”,posix_types_32.h和posix_types_64.h和types.h里有定義。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值