博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制文件格式装载支持
阅读量:4153 次
发布时间:2019-05-25

本文共 1348 字,大约阅读时间需要 4 分钟。

 
/* * This structure defines the functions that are used to load the binary formats that * linux accepts. */struct linux_binfmt { struct list_head lh; struct module *module; int (*load_binary)(struct linux_binprm *); int (*load_shlib)(struct file *); int (*core_dump)(struct coredump_params *cprm); unsigned long min_coredump; /* minimal dump size */};
 
static LIST_HEAD(formats);static DEFINE_RWLOCK(binfmt_lock); void __register_binfmt(struct linux_binfmt * fmt, int insert){ BUG_ON(!fmt); if (WARN_ON(!fmt->load_binary))  return; write_lock(&binfmt_lock); insert ? list_add(&fmt->lh, &formats) :   list_add_tail(&fmt->lh, &formats); write_unlock(&binfmt_lock);} EXPORT_SYMBOL(__register_binfmt); void unregister_binfmt(struct linux_binfmt * fmt){ write_lock(&binfmt_lock); list_del(&fmt->lh); write_unlock(&binfmt_lock);} EXPORT_SYMBOL(unregister_binfmt);
static struct linux_binfmt aout_format = { .module  = THIS_MODULE, .load_binary = load_aout_binary, .load_shlib = load_aout_library, .core_dump = aout_core_dump, .min_coredump = PAGE_SIZE};
static struct linux_binfmt elf_format = { .module  = THIS_MODULE, .load_binary = load_elf_binary, .load_shlib = load_elf_library, .core_dump = elf_core_dump, .min_coredump = ELF_EXEC_PAGESIZE,};
static struct linux_binfmt script_format = { .module  = THIS_MODULE, .load_binary = load_script,};
 
 

转载地址:http://tzhti.baihongyu.com/

你可能感兴趣的文章
51nod 分类
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>