Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 98e91bc877e03cf3582cd163550eb7e3 > files > 537

kernel-doc-html-2.4.19-16mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Unreliable Guide To Hacking The Linux Kernel</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="NEXT"
TITLE="Introduction"
HREF="c22.html"></HEAD
><BODY
CLASS="BOOK"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="LK-HACKING-GUIDE"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="TITLE"
><A
NAME="AEN2"
></A
>Unreliable Guide To Hacking The Linux Kernel</H1
><H3
CLASS="AUTHOR"
><A
NAME="AEN5"
></A
>Paul Rusty Russell</H3
><DIV
CLASS="AFFILIATION"
><DIV
CLASS="ADDRESS"
><P
CLASS="ADDRESS"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<TT
CLASS="EMAIL"
>&#60;<A
HREF="mailto:rusty@rustcorp.com.au"
>rusty@rustcorp.com.au</A
>&#62;</TT
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><P
CLASS="COPYRIGHT"
><A
HREF="ln15.html"
>Copyright</A
> &copy; 2001 Rusty Russell</P
><SPAN
CLASS="RELEASEINFO"
>   This is the first release of this document as part of the kernel tarball.
  <BR></SPAN
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="c22.html"
>Introduction</A
></DT
><DT
><A
HREF="c26.html"
>The Players</A
></DT
><DD
><DL
><DT
><A
HREF="c26.html#BASICS-USERCONTEXT"
>User Context</A
></DT
><DT
><A
HREF="x54.html"
>Hardware Interrupts (Hard IRQs)</A
></DT
><DT
><A
HREF="x64.html"
>Software Interrupt Context: Bottom Halves, Tasklets, softirqs</A
></DT
></DL
></DD
><DT
><A
HREF="c84.html"
>Some Basic Rules</A
></DT
><DT
><A
HREF="c108.html"
>ioctls: Not writing a new system call</A
></DT
><DT
><A
HREF="c127.html"
>Recipes for Deadlock</A
></DT
><DT
><A
HREF="c141.html"
>Common Routines</A
></DT
><DD
><DL
><DT
><A
HREF="c141.html#ROUTINES-PRINTK"
><TT
CLASS="FUNCTION"
>printk()</TT
>
    <TT
CLASS="FILENAME"
>include/linux/kernel.h</TT
></A
></DT
><DT
><A
HREF="x159.html"
><TT
CLASS="FUNCTION"
>copy_[to/from]_user()</TT
>
    /
    <TT
CLASS="FUNCTION"
>get_user()</TT
>
    /
    <TT
CLASS="FUNCTION"
>put_user()</TT
>
    <TT
CLASS="FILENAME"
>include/asm/uaccess.h</TT
></A
></DT
><DT
><A
HREF="x180.html"
><TT
CLASS="FUNCTION"
>kmalloc()</TT
>/<TT
CLASS="FUNCTION"
>kfree()</TT
>
    <TT
CLASS="FILENAME"
>include/linux/slab.h</TT
></A
></DT
><DT
><A
HREF="x221.html"
><TT
CLASS="FUNCTION"
>current</TT
>
    <TT
CLASS="FILENAME"
>include/asm/current.h</TT
></A
></DT
><DT
><A
HREF="x227.html"
><TT
CLASS="FUNCTION"
>udelay()</TT
>/<TT
CLASS="FUNCTION"
>mdelay()</TT
>
     <TT
CLASS="FILENAME"
>include/asm/delay.h</TT
> 
     <TT
CLASS="FILENAME"
>include/linux/delay.h</TT
></A
></DT
><DT
><A
HREF="x238.html"
><TT
CLASS="FUNCTION"
>cpu_to_be32()</TT
>/<TT
CLASS="FUNCTION"
>be32_to_cpu()</TT
>/<TT
CLASS="FUNCTION"
>cpu_to_le32()</TT
>/<TT
CLASS="FUNCTION"
>le32_to_cpu()</TT
>
     <TT
CLASS="FILENAME"
>include/asm/byteorder.h</TT
></A
></DT
><DT
><A
HREF="x251.html"
><TT
CLASS="FUNCTION"
>local_irq_save()</TT
>/<TT
CLASS="FUNCTION"
>local_irq_restore()</TT
>
    <TT
CLASS="FILENAME"
>include/asm/system.h</TT
></A
></DT
><DT
><A
HREF="x260.html"
><TT
CLASS="FUNCTION"
>local_bh_disable()</TT
>/<TT
CLASS="FUNCTION"
>local_bh_enable()</TT
>
    <TT
CLASS="FILENAME"
>include/asm/softirq.h</TT
></A
></DT
><DT
><A
HREF="x266.html"
><TT
CLASS="FUNCTION"
>smp_processor_id</TT
>()/<TT
CLASS="FUNCTION"
>cpu_[number/logical]_map()</TT
>
    <TT
CLASS="FILENAME"
>include/asm/smp.h</TT
></A
></DT
><DT
><A
HREF="x277.html"
><SPAN
CLASS="TYPE"
>__init</SPAN
>/<SPAN
CLASS="TYPE"
>__exit</SPAN
>/<SPAN
CLASS="TYPE"
>__initdata</SPAN
>
    <TT
CLASS="FILENAME"
>include/linux/init.h</TT
></A
></DT
><DT
><A
HREF="x292.html"
><TT
CLASS="FUNCTION"
>__initcall()</TT
>/<TT
CLASS="FUNCTION"
>module_init()</TT
>
    <TT
CLASS="FILENAME"
>include/linux/init.h</TT
></A
></DT
><DT
><A
HREF="x305.html"
><TT
CLASS="FUNCTION"
>module_exit()</TT
>
    <TT
CLASS="FILENAME"
>include/linux/init.h</TT
></A
></DT
><DT
><A
HREF="x310.html"
><TT
CLASS="FUNCTION"
>MOD_INC_USE_COUNT</TT
>/<TT
CLASS="FUNCTION"
>MOD_DEC_USE_COUNT</TT
>
    <TT
CLASS="FILENAME"
>include/linux/module.h</TT
></A
></DT
></DL
></DD
><DT
><A
HREF="c325.html"
>Wait Queues
   <TT
CLASS="FILENAME"
>include/linux/wait.h</TT
></A
></DT
><DD
><DL
><DT
><A
HREF="c325.html#QUEUE-DECLARING"
>Declaring</A
></DT
><DT
><A
HREF="x339.html"
>Queuing</A
></DT
><DT
><A
HREF="x353.html"
>Waking Up Queued Tasks</A
></DT
></DL
></DD
><DT
><A
HREF="c359.html"
>Atomic Operations</A
></DT
><DT
><A
HREF="c387.html"
>Symbols</A
></DT
><DD
><DL
><DT
><A
HREF="c387.html#SYM-EXPORTSYMBOLS"
><TT
CLASS="FUNCTION"
>EXPORT_SYMBOL()</TT
>
    <TT
CLASS="FILENAME"
>include/linux/module.h</TT
></A
></DT
><DT
><A
HREF="x396.html"
><SPAN
CLASS="SYMBOL"
>EXPORT_NO_SYMBOLS</SPAN
>
    <TT
CLASS="FILENAME"
>include/linux/module.h</TT
></A
></DT
><DT
><A
HREF="x404.html"
><TT
CLASS="FUNCTION"
>EXPORT_SYMBOL_GPL()</TT
>
    <TT
CLASS="FILENAME"
>include/linux/module.h</TT
></A
></DT
></DL
></DD
><DT
><A
HREF="c412.html"
>Routines and Conventions</A
></DT
><DD
><DL
><DT
><A
HREF="c412.html#CONVENTIONS-DOUBLELINKEDLIST"
>Double-linked lists
    <TT
CLASS="FILENAME"
>include/linux/list.h</TT
></A
></DT
><DT
><A
HREF="x418.html"
>Return Conventions</A
></DT
><DT
><A
HREF="x428.html"
>Breaking Compilation</A
></DT
><DT
><A
HREF="x432.html"
>Initializing structure members</A
></DT
><DT
><A
HREF="x437.html"
>GNU Extensions</A
></DT
><DT
><A
HREF="x466.html"
>C++</A
></DT
><DT
><A
HREF="x469.html"
>#if</A
></DT
></DL
></DD
><DT
><A
HREF="c472.html"
>Putting Your Stuff in the Kernel</A
></DT
><DT
><A
HREF="c517.html"
>Kernel Cantrips</A
></DT
><DT
><A
HREF="c535.html"
>Thanks</A
></DT
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="c22.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Introduction</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>