Module I-7410 Advanced Linux Kernel Data Structures
Module I-7410 Advanced Linux Kernel Data Structures
Module I-7410 Advanced Linux Kernel Data Structures
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Berne University of Applied Sciences<br />
School of Information Technology HTI<br />
Course: <strong>Advanced</strong> <strong>Linux</strong><br />
FS-2012<br />
Example: <strong>Module</strong> Representation in the <strong>Kernel</strong> (1)<br />
A module is represented by a struct module<br />
struct module {<br />
enum module_state state; /*LIVE,COMING,GOING*/<br />
struct list_head list; /*member list,head:modules*/<br />
char name[MODULE_NAME_LEN]; /* unique module name */<br />
...<br />
const struct kernel_symbol *syms; /*exported symbols*/<br />
unsigned int num_syms;<br />
const unsigned long *crcs; /*check sums on names*/<br />
/* GPLonly exported symbols. */<br />
const struct kernel_symbol *gpl_syms;<br />
unsigned int num_gpl_syms;<br />
const unsigned long *gpl_crcs;<br />
unsigned int num_exentries; /* Exception table */<br />
const struct exception_table_entry *extable;<br />
Introduction to <strong>Module</strong>s<br />
V1.5 © 2012 by franz.meyer@bfh.ch Slide-12