免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4604 | 回复: 21
打印 上一主题 下一主题

有人对busybox有研究吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-20 10:04 |只看该作者 |倒序浏览
busybox-1.1.3/util-linux/mount.c文件中

在static int mount_it_now(struct mntent *mp, int vfsflags, char *filteropts)函数中
for( ; ; ) {
        rc = mount(mp->mnt_fsname, mp->mnt_dir, mp->mnt_type, vfsflags, filteropts);
        if(!rc || (vfsflags&MS_RDONLY) || (errno!=EACCES && errno!=EROFS)){
                  break;
         }
         vfsflags |= MS_RDONLY;
}

其中的mount函数我在busybox源码中没有知道!!!!!

而且在mount.c中并没有定义此函数

我在busybox根目录下用grep找了2遍也没有找到mount函数的定义!

按道理说mount函数应该在busybox目录下呀  要不怎么能调用呢? 但确实找不到!!!

[ 本帖最后由 vitoUNIX 于 2008-8-20 10:10 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-08-20 10:08 |只看该作者
mount.c都include了哪些头文件?
会不会是Linux系统函数?

论坛徽章:
0
3 [报告]
发表于 2008-08-20 10:09 |只看该作者
你不是正在研究吗??

论坛徽章:
0
4 [报告]
发表于 2008-08-20 10:13 |只看该作者
#include <limits.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <mntent.h>
#include <ctype.h>
#include <sys/mount.h>
#include <fcntl.h>      // for CONFIG_FEATURE_MOUNT_LOOP
#include <sys/ioctl.h>  // for CONFIG_FEATURE_MOUNT_LOOP
#include "busybox.h"

这是包含的所有头文件
怎么还调用系统函数呢?

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
5 [报告]
发表于 2008-08-20 10:23 |只看该作者
当然是系统调用。 vfs开放出来的最基本接口之一.
#include <sys/mount.h> 不就是要找的原形?

论坛徽章:
0
6 [报告]
发表于 2008-08-20 10:23 |只看该作者
mount定义在/3.4.1/arm-linux/include/sys/mount.h
调用的是交叉编译器的函数

论坛徽章:
0
7 [报告]
发表于 2008-08-20 10:26 |只看该作者
原帖由 sep 于 2008-8-20 10:23 发表
mount定义在/3.4.1/arm-linux/include/sys/mount.h
调用的是交叉编译器的函数

my hero!!!

regards!!!!!!!!!!!!!!!!!

论坛徽章:
0
8 [报告]
发表于 2008-08-20 10:27 |只看该作者
原帖由 vitoUNIX 于 2008-8-20 10:26 发表

my hero!!!

regards!!!!!!!!!!!!!!!!!

在当前代码包找不到的话,那应该是系统调用的啦。从头文件找找就行了

论坛徽章:
0
9 [报告]
发表于 2008-08-20 10:41 |只看该作者
我找到了头文件 但我怎么能找到mount()函数的定义呢?

现在我分析是我板子上用mount挂载给mount函数传参数时可能哪个参数的问题造成了invalid argument错误 我现在想找找到底是哪个参数错了 !!!

论坛徽章:
0
10 [报告]
发表于 2008-08-20 10:47 |只看该作者
原帖由 vitoUNIX 于 2008-8-20 10:41 发表
我找到了头文件 但我怎么能找到mount()函数的定义呢?

现在我分析是我板子上用mount挂载给mount函数传参数时可能哪个参数的问题造成了invalid argument错误 我现在想找找到底是哪个参数错了 !!!

有可能找不到其具体实现的,因为以库的形式提供。真的要了解的话,你可以看编译器的源码
另外我觉得没必要找得那么彻底,对照函数原型来看就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP