mirror of https://github.com/tLDP/LDP
1120 lines
29 KiB
Plaintext
1120 lines
29 KiB
Plaintext
<index id='doc-index'>
|
|
|
|
<!-- This file was produced by collateindex.pl. -->
|
|
<!-- Remove this comment if you edit this file by hand! -->
|
|
<!-- ULINK is abused here.
|
|
|
|
The URL attribute holds the URL that points from the index entry
|
|
back to the appropriate place in the output produced by the HTML
|
|
stylesheet. (It's much easier to calculate this URL in the first
|
|
pass.)
|
|
|
|
The Role attribute holds the ID (either real or manufactured) of
|
|
the corresponding INDEXTERM. This is used by the print backends
|
|
to produce page numbers.
|
|
|
|
The entries below are sorted and collated into the correct order.
|
|
Duplicates may be removed in the HTML backend, but in the print
|
|
backends, it is impossible to suppress duplicate pages or coalesce
|
|
sequences of pages into a range.
|
|
-->
|
|
|
|
<title>Index</title>
|
|
|
|
<indexdiv><title>Symbols</title>
|
|
|
|
<indexentry>
|
|
<primaryie>/etc/conf.modules,
|
|
<ulink url="x44.htm" role="AEN55">How Do Modules Get Into The Kernel?</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>/etc/modules.conf,
|
|
<ulink url="x44.htm" role="AEN52">How Do Modules Get Into The Kernel?</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>/proc filesystem,
|
|
<ulink url="c708.htm#AEN710" role="AEN712">The /proc File System</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>/proc/interrupts,
|
|
<ulink url="c1254.htm#AEN1263" role="AEN1281">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>/proc/kallsyms,
|
|
<ulink url="c425.htm#AEN441" role="AEN447">Functions available to modules</ulink>,
|
|
<ulink url="c425.htm#AEN483" role="AEN489">Name Space</ulink>,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1362">Common Pitfalls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>/proc/meminfo,
|
|
<ulink url="c708.htm#AEN710" role="AEN726">The /proc File System</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>/proc/modules,
|
|
<ulink url="x44.htm" role="AEN46">How Do Modules Get Into The Kernel?</ulink>,
|
|
<ulink url="c708.htm#AEN710" role="AEN723">The /proc File System</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>2.6 changes,
|
|
<ulink url="a1387.htm#AEN1389" role="AEN1391">Changes between 2.4 and 2.6</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>_IO,
|
|
<ulink url="c890.htm#AEN892" role="AEN930">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>_IOR,
|
|
<ulink url="c890.htm#AEN892" role="AEN932">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>_IOW,
|
|
<ulink url="c890.htm#AEN892" role="AEN934">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>_IOWR,
|
|
<ulink url="c890.htm#AEN892" role="AEN936">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>__exit,
|
|
<ulink url="x245.htm" role="AEN255">Hello World (part 3): The __init and __exit Macros</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>__init,
|
|
<ulink url="x245.htm" role="AEN249">Hello World (part 3): The __init and __exit Macros</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>__initdata,
|
|
<ulink url="x245.htm" role="AEN252">Hello World (part 3): The __init and __exit Macros</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>__initfunction(),
|
|
<ulink url="x245.htm" role="AEN258">Hello World (part 3): The __init and __exit Macros</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>B</title>
|
|
|
|
<indexentry>
|
|
<primaryie>blocking processes,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1054">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>blocking, how to avoid,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1140">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>bottom half,
|
|
<ulink url="c1254.htm#AEN1263" role="AEN1275">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>busy,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1064">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>C</title>
|
|
|
|
<indexentry>
|
|
<primaryie>carnivore
|
|
</primaryie>
|
|
<secondaryie>large,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1370">Common Pitfalls</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>cleanup_module(),
|
|
<ulink url="c119.htm#AEN121" role="AEN135">Hello, World (part 1): The Simplest Module</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>code space,
|
|
<ulink url="c425.htm#AEN500" role="AEN502">Code space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>coffee,
|
|
<ulink url="c425.htm#AEN530" role="AEN547">Major and Minor Numbers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>copy_from_user,
|
|
<ulink url="x769.htm" role="AEN781">Read and Write a /proc File</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>copy_to_user,
|
|
<ulink url="x769.htm" role="AEN784">Read and Write a /proc File</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>CPU
|
|
</primaryie>
|
|
<secondaryie>multiple,
|
|
<ulink url="c1324.htm#AEN1326" role="AEN1337">Symmetrical Multi-Processing</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>crontab,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1220">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>ctrl-c,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1113">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>current task,
|
|
<ulink url="c1159.htm#AEN1161" role="AEN1173">Replacing printk</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>D</title>
|
|
|
|
<indexentry>
|
|
<primaryie>DEFAULT_MESSAGE_LOGLEVEL,
|
|
<ulink url="c119.htm#INTRODUCINGPRINTK" role="AEN160">Introducing printk()</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>defining ioctls,
|
|
<ulink url="c890.htm#AEN892" role="AEN963">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>device file
|
|
</primaryie>
|
|
<secondaryie>character,
|
|
<ulink url="c567.htm#AEN569" role="AEN571">Character Device Drivers</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>device files
|
|
</primaryie>
|
|
<secondaryie>input to,
|
|
<ulink url="c890.htm#AEN892" role="AEN896">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
<secondaryie>write to,
|
|
<ulink url="c890.htm#AEN892" role="AEN899">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>E</title>
|
|
|
|
<indexentry>
|
|
<primaryie>EAGAIN,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1138">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>EINTR,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1129">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>ENTRY(system call),
|
|
<ulink url="c976.htm#AEN978" role="AEN1015">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>entry.S,
|
|
<ulink url="c976.htm#AEN978" role="AEN1019">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>F</title>
|
|
|
|
<indexentry>
|
|
<primaryie>file,
|
|
<ulink url="c567.htm#AEN599" role="AEN602">The file structure</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>filesystem
|
|
</primaryie>
|
|
<secondaryie>/proc,
|
|
<ulink url="c708.htm#AEN710" role="AEN715">The /proc File System</ulink>
|
|
</secondaryie>
|
|
<secondaryie>registration,
|
|
<ulink url="x810.htm" role="AEN823">Manage /proc file with standard filesystem</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>filesystem registration,
|
|
<ulink url="x810.htm" role="AEN826">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>file_operations,
|
|
<ulink url="c567.htm#AEN574" role="AEN577">The file_operations Structure</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>file_operations structure,
|
|
<ulink url="x810.htm" role="AEN837">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>G</title>
|
|
|
|
<indexentry>
|
|
<primaryie>get_user,
|
|
<ulink url="x769.htm" role="AEN775">Read and Write a /proc File</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>H</title>
|
|
|
|
<indexentry>
|
|
<primaryie>handlers
|
|
</primaryie>
|
|
<secondaryie>interrupt,
|
|
<ulink url="c1254.htm#AEN1256" role="AEN1260">Interrupt Handlers</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>housekeeping,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1218">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>Hurd,
|
|
<ulink url="c425.htm#AEN500" role="AEN506">Code space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>I</title>
|
|
|
|
<indexentry>
|
|
<primaryie>inb,
|
|
<ulink url="c1254.htm#KEYBOARD" role="AEN1311">Keyboards on the Intel Architecture</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>init_module(),
|
|
<ulink url="c119.htm#AEN121" role="AEN132">Hello, World (part 1): The Simplest Module</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>inode,
|
|
<ulink url="c567.htm#AEN599" role="AEN604">The file structure</ulink>,
|
|
<ulink url="c708.htm#AEN710" role="AEN745">The /proc File System</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>inode_operations structure,
|
|
<ulink url="x810.htm" role="AEN831">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>insmod,
|
|
<ulink url="x181.htm" role="AEN183">Compiling Kernel Modules</ulink>,
|
|
<ulink url="c976.htm#AEN978" role="AEN992">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>Intel architecture
|
|
</primaryie>
|
|
<secondaryie>keyboard,
|
|
<ulink url="c1254.htm#KEYBOARD" role="AEN1303">Keyboards on the Intel Architecture</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>interrupt 0x80,
|
|
<ulink url="c976.htm#AEN978" role="AEN1005">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>interrupt handlers,
|
|
<ulink url="c1254.htm#AEN1256" role="AEN1258">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>interruptible_sleep_on,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1068">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>interrupts
|
|
</primaryie>
|
|
<secondaryie>disabling,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1367">Common Pitfalls</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>ioctl,
|
|
<ulink url="c890.htm#AEN892" role="AEN894">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
<secondaryie>defining,
|
|
<ulink url="c890.htm#AEN892" role="AEN965">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
<secondaryie>official assignment,
|
|
<ulink url="c890.htm#AEN892" role="AEN945">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>K</title>
|
|
|
|
<indexentry>
|
|
<primaryie>kernel
|
|
</primaryie>
|
|
<secondaryie>versions,
|
|
<ulink url="a1387.htm#AEN1389" role="AEN1393">Changes between 2.4 and 2.6</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>kernel versions,
|
|
<ulink url="c567.htm#AEN691" role="AEN693">Writing Modules for Multiple Kernel Versions</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>kerneld,
|
|
<ulink url="x44.htm" role="AEN50">How Do Modules Get Into The Kernel?</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>KERNEL_VERSION,
|
|
<ulink url="c567.htm#AEN691" role="AEN697">Writing Modules for Multiple Kernel Versions</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>keyboard,
|
|
<ulink url="c1254.htm#KEYBOARD" role="AEN1301">Keyboards on the Intel Architecture</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>keyboard LEDs
|
|
</primaryie>
|
|
<secondaryie>flashing,
|
|
<ulink url="x1194.htm" role="AEN1196">Flashing keyboard LEDs</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>kmod,
|
|
<ulink url="x44.htm" role="AEN48">How Do Modules Get Into The Kernel?</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>L</title>
|
|
|
|
<indexentry>
|
|
<primaryie>libraries
|
|
</primaryie>
|
|
<secondaryie>standard,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1359">Common Pitfalls</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>library function,
|
|
<ulink url="c425.htm#AEN441" role="AEN443">Functions available to modules</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>LINUX_VERSION_CODE,
|
|
<ulink url="c567.htm#AEN691" role="AEN695">Writing Modules for Multiple Kernel Versions</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>M</title>
|
|
|
|
<indexentry>
|
|
<primaryie>major number,
|
|
<ulink url="c425.htm#AEN530" role="AEN532">Major and Minor Numbers</ulink>
|
|
</primaryie>
|
|
<secondaryie>dynamic allocation,
|
|
<ulink url="c567.htm#AEN621" role="AEN625">Registering A Device</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>memory segments,
|
|
<ulink url="x769.htm" role="AEN787">Read and Write a /proc File</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>microkernel,
|
|
<ulink url="c425.htm#AEN500" role="AEN510">Code space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>minor number,
|
|
<ulink url="c425.htm#AEN530" role="AEN534">Major and Minor Numbers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>mknod,
|
|
<ulink url="c425.htm#AEN530" role="AEN545">Major and Minor Numbers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>modem,
|
|
<ulink url="c890.htm#AEN892" role="AEN907">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MODULE_AUTHOR(),
|
|
<ulink url="x279.htm" role="AEN293">Hello World (part 4): Licensing and Module Documentation</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_cleanup,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1242">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MODULE_DESCRIPTION(),
|
|
<ulink url="x279.htm" role="AEN290">Hello World (part 4): Licensing and Module Documentation</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_exit,
|
|
<ulink url="x217.htm" role="AEN221">Hello World (part 2)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_init,
|
|
<ulink url="x217.htm" role="AEN219">Hello World (part 2)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_interruptible_sleep_on,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1066">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MODULE_LICENSE(),
|
|
<ulink url="x279.htm" role="AEN283">Hello World (part 4): Licensing and Module Documentation</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_permissions,
|
|
<ulink url="x810.htm" role="AEN849">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_sleep_on,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1109">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MODULE_SUPPORTED_DEVICE(),
|
|
<ulink url="x279.htm" role="AEN296">Hello World (part 4): Licensing and Module Documentation</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>module_wake_up,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1107">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MOD_DEC_USE_COUNT,
|
|
<ulink url="c567.htm#AEN651" role="AEN676">Unregistering A Device</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MOD_INC_USE_COUNT,
|
|
<ulink url="c567.htm#AEN651" role="AEN674">Unregistering A Device</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>MOD_IN_USE,
|
|
<ulink url="c567.htm#AEN651" role="AEN678">Unregistering A Device</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>monolithic kernel,
|
|
<ulink url="c425.htm#AEN500" role="AEN504">Code space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>multi-processing,
|
|
<ulink url="c1324.htm#AEN1326" role="AEN1330">Symmetrical Multi-Processing</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>multi-tasking,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1062">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>multitasking,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1082">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>N</title>
|
|
|
|
<indexentry>
|
|
<primaryie>namespace pollution,
|
|
<ulink url="c425.htm#AEN483" role="AEN487">Name Space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>Neutrino,
|
|
<ulink url="c425.htm#AEN500" role="AEN508">Code space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>non-blocking,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1136">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>O</title>
|
|
|
|
<indexentry>
|
|
<primaryie>official ioctl assignment,
|
|
<ulink url="c890.htm#AEN892" role="AEN943">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>O_NONBLOCK,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1134">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>P</title>
|
|
|
|
<indexentry>
|
|
<primaryie>permission,
|
|
<ulink url="x810.htm" role="AEN847">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>pointer
|
|
</primaryie>
|
|
<secondaryie>current,
|
|
<ulink url="x810.htm" role="AEN844">Manage /proc file with standard filesystem</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>printk
|
|
</primaryie>
|
|
<secondaryie>replacing,
|
|
<ulink url="c1159.htm#AEN1161" role="AEN1164">Replacing printk</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>printk(),
|
|
<ulink url="c119.htm#INTRODUCINGPRINTK" role="AEN157">Introducing printk()</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>proc file
|
|
</primaryie>
|
|
<secondaryie>kallsyms,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1364">Common Pitfalls</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>processes
|
|
</primaryie>
|
|
<secondaryie>blocking,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1056">Blocking Processes</ulink>
|
|
</secondaryie>
|
|
<secondaryie>killing,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1131">Blocking Processes</ulink>
|
|
</secondaryie>
|
|
<secondaryie>waking up,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1079">Blocking Processes</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>processing
|
|
</primaryie>
|
|
<secondaryie>multi,
|
|
<ulink url="c1324.htm#AEN1326" role="AEN1334">Symmetrical Multi-Processing</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>proc_register,
|
|
<ulink url="c708.htm#AEN710" role="AEN742">The /proc File System</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>proc_register_dynamic,
|
|
<ulink url="c708.htm#AEN710" role="AEN739">The /proc File System</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>putting processes to sleep,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1072">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>put_user,
|
|
<ulink url="x769.htm" role="AEN778">Read and Write a /proc File</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>Q</title>
|
|
|
|
<indexentry>
|
|
<primaryie>queue_delayed_work,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1231">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>queue_work,
|
|
<ulink url="c1254.htm#AEN1263" role="AEN1294">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>R</title>
|
|
|
|
<indexentry>
|
|
<primaryie>read
|
|
</primaryie>
|
|
<secondaryie>in the kernel,
|
|
<ulink url="x769.htm" role="AEN800">Read and Write a /proc File</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>reference count,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1240">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>refund policy,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1354">Common Pitfalls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>register_chrdev,
|
|
<ulink url="c567.htm#AEN621" role="AEN623">Registering A Device</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>request_irq(),
|
|
<ulink url="c1254.htm#AEN1263" role="AEN1279">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>rmmod,
|
|
<ulink url="c976.htm#AEN978" role="AEN994">System Calls</ulink>,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1238">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
<secondaryie>preventing,
|
|
<ulink url="c567.htm#AEN651" role="AEN653">Unregistering A Device</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>S</title>
|
|
|
|
<indexentry>
|
|
<primaryie>SA_INTERRUPT,
|
|
<ulink url="c1254.htm#AEN1263" role="AEN1283">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>SA_SHIRQ,
|
|
<ulink url="c1254.htm#AEN1263" role="AEN1285">Interrupt Handlers</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>scheduler,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1084">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>scheduling tasks,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1213">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>segment
|
|
</primaryie>
|
|
<secondaryie>memory,
|
|
<ulink url="x769.htm" role="AEN789">Read and Write a /proc File</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>seq_file,
|
|
<ulink url="x861.htm" role="AEN863">Manage /proc file with seq_file</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>serial port,
|
|
<ulink url="c890.htm#AEN892" role="AEN905">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>shutdown,
|
|
<ulink url="c976.htm#AEN978" role="AEN996">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>SIGINT,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1105">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>signal,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1103">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>sleep
|
|
</primaryie>
|
|
<secondaryie>putting processes to,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1074">Blocking Processes</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>sleep_on,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1111">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>SMP,
|
|
<ulink url="c1324.htm#AEN1326" role="AEN1328">Symmetrical Multi-Processing</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>source file
|
|
</primaryie>
|
|
<secondaryie>chardev.c,
|
|
<ulink url="c890.htm#AEN892" role="AEN948">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
<secondaryie>chardev.h,
|
|
<ulink url="c890.htm#AEN892" role="AEN955">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
<secondaryie>hello-1.c,
|
|
<ulink url="c119.htm#AEN121" role="AEN125">Hello, World (part 1): The Simplest Module</ulink>
|
|
</secondaryie>
|
|
<secondaryie>hello-2.c,
|
|
<ulink url="x217.htm" role="AEN229">Hello World (part 2)</ulink>
|
|
</secondaryie>
|
|
<secondaryie>hello-3.c,
|
|
<ulink url="x245.htm" role="AEN272">Hello World (part 3): The __init and __exit Macros</ulink>
|
|
</secondaryie>
|
|
<secondaryie>hello-4.c,
|
|
<ulink url="x279.htm" role="AEN316">Hello World (part 4): Licensing and Module Documentation</ulink>
|
|
</secondaryie>
|
|
<secondaryie>hello-5.c,
|
|
<ulink url="x323.htm" role="AEN342">Passing Command Line Arguments to a Module</ulink>
|
|
</secondaryie>
|
|
<secondaryie>intrpt.c,
|
|
<ulink url="c1254.htm#KEYBOARD" role="AEN1316">Keyboards on the Intel Architecture</ulink>
|
|
</secondaryie>
|
|
<secondaryie>ioctl.c,
|
|
<ulink url="c890.htm#AEN892" role="AEN968">Talking to Device Files (writes and IOCTLs)</ulink>
|
|
</secondaryie>
|
|
<secondaryie>print_string.c,
|
|
<ulink url="c1159.htm#AEN1161" role="AEN1187">Replacing printk</ulink>
|
|
</secondaryie>
|
|
<secondaryie>sched.c,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1247">Scheduling Tasks</ulink>
|
|
</secondaryie>
|
|
<secondaryie>sleep.c,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1148">Blocking Processes</ulink>
|
|
</secondaryie>
|
|
<secondaryie>start.c,
|
|
<ulink url="x351.htm" role="AEN358">Modules Spanning Multiple Files</ulink>
|
|
</secondaryie>
|
|
<secondaryie>stop.c,
|
|
<ulink url="x351.htm" role="AEN366">Modules Spanning Multiple Files</ulink>
|
|
</secondaryie>
|
|
<secondaryie>syscall.c,
|
|
<ulink url="c976.htm#AEN978" role="AEN1043">System Calls</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>source files
|
|
</primaryie>
|
|
<secondaryie>multiple,
|
|
<ulink url="x351.htm" role="AEN353">Modules Spanning Multiple Files</ulink>,
|
|
<ulink url="x380.htm" role="AEN382">Building modules for a precompiled kernel</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>standard libraries,
|
|
<ulink url="c1350.htm#AEN1352" role="AEN1357">Common Pitfalls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>strace,
|
|
<ulink url="c425.htm#AEN441" role="AEN462">Functions available to modules</ulink>,
|
|
<ulink url="c976.htm#AEN978" role="AEN1002">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>struct
|
|
</primaryie>
|
|
<secondaryie>tty,
|
|
<ulink url="c1159.htm#AEN1161" role="AEN1180">Replacing printk</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>struct file_operations,
|
|
<ulink url="x810.htm" role="AEN834">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>struct inode_operations,
|
|
<ulink url="x810.htm" role="AEN828">Manage /proc file with standard filesystem</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>symbol table,
|
|
<ulink url="c425.htm#AEN483" role="AEN485">Name Space</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>symmetrical multi-processing,
|
|
<ulink url="c1324.htm#AEN1326" role="AEN1332">Symmetrical Multi-Processing</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>sync,
|
|
<ulink url="c976.htm#AEN978" role="AEN990">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>system call,
|
|
<ulink url="c425.htm#AEN441" role="AEN445">Functions available to modules</ulink>,
|
|
<ulink url="c976.htm#AEN978" role="AEN1013">System Calls</ulink>
|
|
</primaryie>
|
|
<secondaryie>open,
|
|
<ulink url="c976.htm#AEN978" role="AEN1029">System Calls</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>system calls,
|
|
<ulink url="c976.htm#AEN978" role="AEN980">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>sys_call_table,
|
|
<ulink url="c976.htm#AEN978" role="AEN1017">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>sys_open,
|
|
<ulink url="c976.htm#AEN978" role="AEN1041">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>T</title>
|
|
|
|
<indexentry>
|
|
<primaryie>task,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1227">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
<secondaryie>current,
|
|
<ulink url="c1159.htm#AEN1161" role="AEN1175">Replacing printk</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>tasks
|
|
</primaryie>
|
|
<secondaryie>scheduling,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1215">Scheduling Tasks</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>TASK_INTERRUPTIBLE,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1070">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>try_module_get,
|
|
<ulink url="c976.htm#AEN978" role="AEN1039">System Calls</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>tty_structure,
|
|
<ulink url="c1159.htm#AEN1161" role="AEN1178">Replacing printk</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
<indexdiv><title>W</title>
|
|
|
|
<indexentry>
|
|
<primaryie>waking up processes,
|
|
<ulink url="c1050.htm#AEN1052" role="AEN1077">Blocking Processes</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>workqueue_struct,
|
|
<ulink url="c1209.htm#AEN1211" role="AEN1229">Scheduling Tasks</ulink>
|
|
</primaryie>
|
|
</indexentry>
|
|
|
|
<indexentry>
|
|
<primaryie>write
|
|
</primaryie>
|
|
<secondaryie>in the kernel,
|
|
<ulink url="x769.htm" role="AEN803">Read and Write a /proc File</ulink>
|
|
</secondaryie>
|
|
</indexentry>
|
|
|
|
</indexdiv>
|
|
</index>
|