linux/Documentation/kernel-doc-nano-HOWTO.txt
<<
ion 2.6/spa > 2.6/form> 2.6a ion 2. href="../linux+v3.8.6/Documenta /kernel-doc-nano-HOWTO.txt">ion 2.6img src="../.sta c/gfx/right.png" alt=">>">io6/spa > io6spa class="lxr_search">ion ion 2.6input typionhidden" namionnavtarget" /option">ion 2.6input typiontext" namionsearch" idonsearch">ion 2.6butt12Search 2.6/form> 6/spa > io6spa class="lxr_prefs"> 2.6a href="+prefs?return=Documenta /kernel-doc-nano-HOWTO.txt"ion 2. onclick="return ajax_prefs();">ion 2.Prefs 2.6/a>io6/spa > n 2. .6/div> n 2. .6form ac ="ajax+*" method="post" onsubmit="return false;">io6input typionhidden" namionajax_lookup" idonajax_lookup" /option">in 2. .6/form> in 2. .6div class="headingbott1m">
n 2.
n 2. 2. .6div idonsearch_results" class="search_results" 2> n 2. .6/div> 6div idoncontent"> 6div idonfile_contents">
. .16/a>kernel-doc nano-HOWTO
. .26/a>=====================
. .36/a>i. .46/a>How to format kernel-doc commentsi. .56/a>---------------------------------i. .66/a>i. .76/a>In order to provide embedded, 'C' friendly, easy to maintain,i. .86/a>but consistent and extrac
able documenta
	   of the func
	  s andi. .96/a>data structures in the Linux kernel, the Linux kernel has ad2"
edi. 27.1a>a consistent style for documenting func
	  s and their paramiters,i. 116/a>and structures and their members.i. 126/a>i. 136/a>The format for this documenta
	   is called the kernel-doc format.i. 146/a>It is documented in this Documenta
	  /kernel-doc-nano-HOWTO.txt file.i. 156/a>i. 166/a>This style embeds the documenta
	   within the source files, usingi. 17.1a>a few simple conventi  s.  The scripts/kernel-doc perl script, somei. 186/a>SGML templates in Documenta
	  /DocBook, and other tools understandi. 196/a>these conventi  s, and are used to extrac
 this embedded documenta
	  
. 27.1a>into /orious documents.i. 216/a>i. 226/a>In order to provide good documenta
	   of kernel func
	  s and datai. 236/a>structures, please use the following conventi  s to format youri. 246/a>kernel-doc comments in Linux kernel source.i. 256/a>i. 266/a>We definitely need kernel-doc formatted documenta
	   for func
	  si. 276/a>that are exported to loadable modules using EXPORT_SYMBOL.i. 286/a>i. 296/a>We also look to provide kernel-doc formatted documenta
	   for
. 37.1a>func
	  s externally visible to other kernel files (not markedi. 316/a>"sta
	c").i. 326/a>i. 336/a>We also recommend providing kernel-doc formatted documenta
	  i. 346/a>for private (file "sta
	c") routines, for consistency of kerneli. 356/a>source code layout.  Bu
 this is lower priority and a
 thei. 366/a>discre
	   of the MAINTAINER of that kernel source file.i. 376/a>i. 386/a>Data structures visible in kernel include files should also bei. 396/a>documented using kernel-doc formatted comments.i. 406/a>i. 416/a>The opening comment mark "/**" is reserved for kernel-doc comments.i. 426/a>Only comments so marked will be considered by the kernel-doc scripts,i. 436/a>and any comment so marked must be in kernel-doc format.  Do not usei. 446/a>"/**" to be begin a comment block unless the comment block contai si. 456/a>kernel-doc formatted comments.  The closing comment marker for
. 466/a>kernel-doc comments can be either "*/" or "**/", but "*/" isi. 476/a>preferred in the Linux kernel tree.i. 486/a>i. 496/a>Kernel-doc comments should be placed just before the func
	  i. 506/a>or data structure being described.i. 516/a>i. 526/a>Example kernel-doc func
	   comment:i. 536/a>i. 546/a>/**i. 556/a> * foobar() - short func
	   descrip
	   of foobari. 566/a> * @arg1:n 2. . Describe the first argument to foobar.i. 576/a> * @arg2:n 2. . Describe the second argument to foobar.i. 586/a> *              One can provide multiple line descrip
	  si. 596/a> *              for arguments.i. 606/a> *i. 616/a> * A longer descrip
	  , with more discuss	   of the func
	   foobar()i. 626/a> * that might be useful to those using or modifying it.  Begins withi. 636/a> * empty comment line, and may include addi
	  al embedded emptyi. 646/a> * comment lines.i. 656/a> *i. 666/a> * The longer descrip
	   can have multiple paragraphs.i. 676/a> *i. 686/a> * Return: Describe the return /opti of foobar.i. 696/a> */i. 706/a>i. 716/a>The short descrip
	   following the subject can spa  multiple linesi. 726/a>and ends with an @argument descrip
	  , an empty line or the end ofi. 736/a>the comment block.i. 746/a>i. 756/a>The @argument descrip
	  s must begin on the very next line followingi. 766/a>this opening short func
	   descrip
	   line, with no interveningi. 776/a>empty comment lines.i. 786/a>i. 796/a>If a func
	   paramiter is "..." (varargs), it should be listed ini. 806/a>kernel-doc nota
	   as:i. 816/a> * @...: descrip
	  i. 826/a>i. 836/a>The return /opti, if any, should be described in a dedicated sec
	  i. 846/a>namid "Return".i. 856/a>i. 866/a>Example kernel-doc data structure comment.i. 876/a>i. 886/a>/**i. 896/a> * struct blah - the basic blah structurei. 906/a> * @mem1:n 2. . describe the first member of struct blahi. 916/a> * @mem2:n 2. . describe the second member of struct blah,i. 926/a> *              perhaps with more lines and words.i. 936/a> *i. 946/a> * Longer descrip
	   of this structure.i. 956/a> */i. 966/a>i. 976/a>The kernel-doc func
	   comments describe each paramiter to thei. 98.1a>func
	  , in order, with the @nami lines.i. 996/a>i.1006/a>The kernel-doc data structure comments describe each structure memberi.101.1a>in the data structure, with the @nami lines.i.1026/a>i.1036/a>The longer descrip
	   formatting is "reflowed", losing your linei.1046/a>breaks.  So presenting carefully formatted lists within thesei.1056/a>descrip
	  s won't work so well; derived documenta
	   will losei.1066/a>the formatting.i.1076/a>i.1086/a>See the sec
	   below "How to add extrac
able documenta
	   to youri.1096/a>source files" for more details and notes    how to format kernel-doci.127.1a>comments.i.1116/a>i.1126/a>Components of the kernel-doc systemi.1136/a>-----------------------------------i.1146/a>i.1156/a>Many places in the source tree have extrac
able documenta
	   in thei.1166/a>form of block comments above func
	  s.  The components of this systemi.117.1a>are:i.1186/a>i.1196/a>- scripts/kernel-doci.1206/a>i.1216/a>  This is a perl script that hunts for the block comments and can marki.1226/a>  them up direc
ly into DocBook, ma , text, and HTML. (No, noti.1236/a>  texinfo.)i.1246/a>i.1256/a>- Documenta
	  /DocBook/*.tmpli.1266/a>i.1276/a>  These are SGML template files, which are normal SGML files withi.1286/a>  special place-holders for where the extrac
ed documenta
	   shouldi.1296/a>  go.i.1306/a>i.1316/a>- scripts/basic/docproc.ci.1326/a>i.1336/a>  This is a program for converting SGML template files into SGMLi.1346/a>  files. When a file is referenced it is searched for symbolsi.1356/a>  exported (EXPORT_SYMBOL), to be able to distinguish between internali.1366/a>  and external func
	  s.i.1376/a>  It invokes kernel-doc, giving it the list of func
	  s thati.1386/a>  are to be documented.i.1396/a>  Addi
	  ally it is used to scan the SGML template files to locatei.1406/a>  all the files referenced herein. This is used to generate dependencyi.1416/a>  informat	   as used by make.i.1426/a>i.1436/a>- Makefilei.1446/a>i.1456/a>  The targets 'sgmldocs', 'psdocs', 'pdfdocs', and 'htmldocs' are usedi.1466/a>  to build DocBook files, PostScript files, PDF files, and html filesi.1476/a>  in Documenta
	  /DocBook.i.1486/a>i.1496/a>- Documenta
	  /DocBook/Makefilei.1506/a>i.1516/a>  This is where C files are associated with SGML templates.i.1526/a>i.1536/a>i.1546/a>How to extrac
 the documenta
	  i.1556/a>--------------------------------i.1566/a>i.1576/a>If you just want to read the ready-made books on the voriousi.1586/a>subsystems (see Documenta
	  /DocBook/*.tmpl), just typi 'makei.1596/a>psdocs', or 'make pdfdocs', or 'make htmldocs', depending on youri.1606/a>preference.  If you would rather read a different format, you can typii.1616/a>'make sgmldocs' and then use DocBook tools to converti.1626/a>Documenta
	  /DocBook/*.sgml to a format of your choice (for example,i.1636/a>'db2html ...' if 'make htmldocs' was not defined).i.1646/a>i.1656/a>If you want to see man pages instead, you can do this:i.1666/a>i.1676/a>$ cd linuxi.1686/a>$ scripts/kernel-doc -man $(find -nami '*.c') | split-man.pl /tmp/mani.1696/a>$ scripts/kernel-doc -man $(find -nami '*.h') | split-man.pl /tmp/mani.1706/a>i.1716/a>Here is split-man.pl:i.1726/a>i.1736/a>-->i.1746/a>#!/usr/bin/perli.1756/a>i.1766/a>if ($#ARGV < 0) {i.1776/a>   die "where do I put the results?\n";i.1786/a>}i.1796/a>i.1806/a>mkdir $ARGV[0],0777;i.1816/a>$sta
e = 0;i.1826/a>while (<STDIN>) {i.1836/a>    if (/^\.TH \"[^\"]*\" 9 \"([^\"]*)\"/) {i.1846/a>        if ($sta
e == 1) { close OUT }i.1856/a>        $sta
e = 1;i.1866/a>        $fn = "$ARGV[0]/$1.9";i.1876/a>        print STDERR "Creating $fn\n";i.1886/a>        open OUT, ">$fn" or die "can't open $fn: $!\n";i.1896/a>        print OUT $_;i.1906/a>    } elsif ($sta
e != 0) {i.1916/a>        print OUT $_;i.1926/a>    }i.1936/a>}i.1946/a>i.1956/a>close OUT;i.1966/a><--i.1976/a>i.198.1a>If you just want to view the documenta
	   for one func
	   in onii.1996/a>file, you can do this:i.2006/a>i.201.1a>$ scripts/kernel-doc -man -func
	   fn file | nroff -man | lessi.2026/a>i.2036/a>or this:i.2046/a>i.2056/a>$ scripts/kernel-doc -text -func
	   fn filei.2066/a>i.2076/a>i.2086/a>How to add extrac
able documenta
	   to your source filesi.2096/a>---------------------------------------------------------i.2106/a>i.2116/a>The format of the block comment is like this:i.2126/a>i.2136/a>/**i.2146/a> * func
	  _nami(:)? (- short descrip
	  )?i.2156/a>(* @paramiterx(space)*: (descrip
	   of paramiter x)?)*i.2166/a>(* a blank line)?i.2176/a> * (Descrip
	  :)? (Descrip
	   of func
	  )?i.2186/a> * (sec
	   header: (sec
	   descrip
	  )? )*i.2196/a>(*)?*/i.2206/a>i.2216/a>All "descrip
	  " text can spa  multiple lines, although thei.2226/a>func
	  _nami & its short descrip
	   are tradi
	  ally    a single line.i.2236/a>Descrip
	   text may also contai  blank lines (i.e., lines that contai i.2246/a>only a "*").i.2256/a>i.2266/a>"sec
	   header:" namis must be unique per func
	   (or struct,i.2276/a>uni  , typidef, enum).i.2286/a>i.2296/a>Use the sec
	   header "Return" for sec
	  s describing the return /optii.2306/a>of a func
	  .i.2316/a>i.2326/a>Avoid putting a spurious blank line after the func
	   nami, or else thei.2336/a>descrip
	   will be repeated!i.2346/a>i.2356/a>All descrip
	ve text is further processed, scanning for the following speciali.2366/a>patterns, which are highlighted appropriately.i.2376/a>i.2386/a>'funcnami()' - func
	  i.2396/a>'$ENVVAR' - environment voriablei.2406/a>'&struct_nami' - nami of a structure (up to two words including 'struct')i.2416/a>'@paramiter' - nami of a paramiteri.2426/a>'%CONST' - nami of a constant.i.2436/a>i.2446/a>NOTE 1:n The multi-line descrip
	ve text you provide dois *not* recognizei.2456/a>line breaks2ITE 1:n The multi54sa )? )*i.1466/a>  to build2DocBo24a
	  /kernel-doc-nano-HOWTO.txt#L207" idonL207" class="line" namio2L147">.1476/a>  in Docum2nta
	2 /DocBooturn /o/kernel-doc-nano-HOWTO.txt#L207" idonL207" class="line" namionL148">.1486/a>i.1496/a>- Document2
	  /24$_;i.1506/a>i.1516/a>  This is 2here 2ta
	  /kernel-doc-nano-HOWTO.txt#L52" idonL52" class="lin2ne" namio2L152">.1526/a>i.1536/a>i.1546/a>How to ext2ac
 t254DocBooturn /ot0.1556/a>----------2-----25a
	  /kernel-doc-nano-HOWTO.txt#L226" idonL226" class="line" namio2L156">.1566/a>i.1576/a>If you jus2 want2to rea
	  *phronveef="Documentcumelhrefa hre likeentaphronvsref="Docutak it  /kernel-doc-nano-HOWTO.txt#L209" idonL209" class="line" namio2L158">.1586/a>subsystems2(see 2ocumena n Theurn" fa h approprmean /recoa dedicsimilarlyef=ta hra blannot*/kernel-doc-nano-HOWTO.txt#L209" idonL209" class="line" namio2L159">.1596/a>psdocsƈ, or 2#39;maumen /kernel-doc-nano-HOWTO.txt#L118" idonL118" class="l2ne" namio2L160">.1606/a>preference2  If 26a
	  /kernel-doc-nano-HOWTO.txt#L221" idonL221" class="line" namio2L161">.1616/a>'make 2gmldo2ip
	  ,oturn /o/kernel-doc-nano-HOWTO.txt#L207" idonL207" class="line" namio2L162">.1626/a>Documenta
2  /Do26umenta
	 0: coo /kernel-doc-nano-HOWTO.txt#L236" idonL236" class="line" namio2L163">.1636/a>'db2ht2l ...26uot;[^\&qripina
	ia hre/kernel-doc-nano-HOWTO.txt#L236" idonL236" class="line" namio2L164">.1646/a>i.1656/a>If you wan2 to s26a
	  /kernel-doc-nano-HOWTO.txt#L26" idonL26" class="line"" namionL226">. 266/a>We definitelycume2ta
	  egi.1676/a>$ cd linux2.1686/a>$ scripts/2ernel26a
	  /kernel-doc-nano-HOWTO.txt#L229" idonL229" class="line" namio2L169">.1696/a>$ scripts/2ernel2doc -mTot da-doc farouls to c
able documeocumenta
	   /kernel-doc-nano-HOWTO.txt#L152" idonL152" class="l2ne" namio2L170">.1706/a>i.1716/a>Here is sp2it-ma27a
	  /kernel-doc-nano-HOWTO.txt#L52" idonL52" class="lin2ne" namio2L172">.1726/a>i.1736/a>-->i.1746/a>#!/usr/bin2perli2ta
	  /kernel-doc-nano-HOWTO.txt#L75" idonL75" class="lin2ne" namio2L175">.1756/a>i.1766/a>if ($#ARGV2< 2) {i.1776/a>   die &qu2t;whe2e do Iolike tov">.rOWTO.;  to c
ta
	 /.1786/a>}i.rOWTO.assocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" idonL152" class="l2ne" namio2L179">.1796/a>i.1806/a>mkdir $ARG2[0],028a
	  /kernel-doc-nano-HOWTO.txt#L171" idonL171" class="l2ne" namio2L181">.1816/a>$sta
e = 02i.1826/a>while (<2STDIN2gt;) {a href="tagully ds includfield"Documeiateidoc s wocribin
	c&quonique pearea/kernel-doc-nano-HOWTO.txt#L171" idonL171" class="l2ne" namio2L183">.1836/a>    if (/^2.TH \2quot;[ithi.1846/a>        if2($sta2e == 1are uribin
ublicnique p"tagu next line fihrednta
	 ref="Documeaerved forique p"a href=/kernel-doc-nano-HOWTO.txt#L171" idonL171" class="l2ne" namio2L185">.1856/a>        $s2a
e =21;i.1866/a>        $f2 = &q28 {i.1876/a>        pr2nt ST2ta
	  /kernel-doc-nano-HOWTO.txt#L88" idonL88" class="lin2ne" namio2L188">.1886/a>        op2n OUT2 " structo/kernel-doc-nano-HOWTO.txt#L207" idonL207" class="line" namio2L189">.1896/a>        pr2nt OU28a
	  /kernel-doc-nano-HOWTO.txt#L180" idonL180" class="l2ne" namio2L190">.1906/a>    } elsi2 clas    2 namieinamionL228">.2286/a>i.1ionL191">.1916/a> 2 @mem2:n ef="DoImy_ef="DoIdescrip
	  )?i.2286/a>i.1926/a> 2         @a:ember of stru clas    2 namieinamionL228">.2286/a>i.1926/a>}2i.2286/a>i.1926/a>i2 Longer  clas    2 namieinamionL228">.2286/a>i.1926/a>c2/i.2286/a>i.1926/a>&29The lonf="Documenta
	  /kernel-doc-nano-HOWTO.txt#L220" idonL197" cla2s="line" namionL197">.1926/a>i2a hrefef="DoImy_ef="DoIf="Documenta
	  /kernel-doc-nano-HOWTO.txt#L191" ido2L198" cla2s="line" namionL198">.192.1a>I29 href="2o$_;iain
	c&quonique p/kernel-doc-nano-HOWTO.txt#L171" idonL199" cla2s="line" namionL199">.1926/a>f299href="2o$_;ibin
	c&quonique p/kernel-doc-nano-HOWTO.txt#L171" ido3L200" cla3s="line" namionL200">.2036/a>i30 } elsi onis sysli.203.1a>$301href="2o$_;icin
	c&quonique p/kernel-doc-nano-HOWTO.txt#L171" ido3L201" cla3s="line" namionL192">.1936/a>i3a href}in
	c&quonique p/kernel-doc-nano-HOWTO.txt#L171" ido3L301" cla3s="line" namionL193">.1936/a>o30 href="2ocume2ta
	  /kernel-doc-nano-HOWTO.txt#L154" ido3L204" cla3s="line" namionL204">.2036/a>i3a href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L205" ido3L205" cla3s="line" namionL205">.2036/a>$3scriptI 'strocums (i.writ mment sourilesi.2036/a>i3a hreff="27-----------------i.2036/a>i3a href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L208" ido3L208" cla3s="line" namionL208">.2036/a>H3w to aTo facili0) {ihathe lilesi.1936/a>-3------lineopne="2ocume2taocums (i.writ mment ss includffree-blockii.2136/a>i3a hrefi"Doc="Docubehe l="2ocume2ta
	  e2ta
	  B,re (up to n onii.2136/a>T3e forma
	  )?ollo{i.2136/a>i31 href="eoryDocuoper.writ funca dcumer?olllibraryaco"D,to c
able documenta
	umentai/kernel-doc-nano-HOWTO.txt#L233" ido3L213" cla3s="line" namionL213">.2136/a>/31 href="2ocume2ta
	  /kernel-doc-nano-HOWTO.txt#L154" ido3L214" cla3s="line" namionL214">.2136/a> 3 func
where C d
	  byemaednta
DOC:ee 2ocumekeyclud @argumee 2ocumetitlou wE.g.T2 " structo/kernel-doc-nano-HOWTO.txt#L207" ido3L215" cla3s="line" namionL215">.2136/a>(31you wan2 to s26a
	  /kernel-doc-nano-HOWTO.txt#L26" idon3L216" cla3s="line" namionL216">.2136/a>(3 a blasi2 clas    2 namieinamionL228">.2286/a>i.2136/a> 3 (DescripDOC:eT"eoryDocuOper.writ clas    2 namieinamionL228">.2286/a>i.2136/a> 3 (sec
	  clas    2 namieinamionL228">.2286/a>i.2136/a>(31struct bnc
	whizbahe foobarogram di singtantgizmo.okes his:i.2286/a>i.2236/a>i32@mem1:n view it begin, inclnyetime.okes iffesurce fmind.okspliuctformaio well  s li.2236/a>A3This is  clas    2 namieinamionL228">.2286/a>i.2236/a>f32        foo baros.2286/a>i.2236/a>D32.2236/a>o324truct bnc
	quot;drawback.2236/a>i32i.2236/a>&32The lonf="Documenta
	  /kernel-doc-nano-HOWTO.txt#L220" ido3L227" cla3s="line" namionL227">.2236/a>u32 href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L208" ido3L228" cla3s="line" namionL228">.2236/a>i3a hrefDOC:ee 2ocumsdi.2236/a>U32     pr2nt OU28a
	  /kernel-doc-nano-HOWTO.txt#L180" ido3L230" cla3s="line" namionL230">.2336/a>o3a href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L131" ido3L231" cla3s="line" namionL231">.2336/a>i3a hrefdd extrldocsrferplate files to loca="Documenta
	  /kernel-doc-nano-HOWTO.txt#L131" ido3L222" cla3s="line" namionL232">.2336/a>A3oid pu-----------i.2336/a>d33 href="2ocume2ta
	  /kernel-doc-nano-HOWTO.txt#L154" ido3L234" cla3s="line" namionL234">.2336/a>i3a hrefplate files to locat( just tdi.2336/a>A3l desct;i.2336/a>p3tternsbdfiele.assocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" ido3L237" cla3s="line" namionL237">.2336/a>i3a href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L238" ido3L238" cla3s="line" namionL238">.2336/a>&339;fun!Ea hrthi<; - ngt;rencedlders*phromenta
	   for oneer, wa hrthi<; - ngt;,to c="Documenta
	  /kernel-doc-nano-HOWTO.txt#L238" ido3L908" cla3s="line" namionL239">.2336/a>&339;$ENs thati.2436/a>&34ments.illeumentfromo locat2quot;[itha
	  /kernel-dDakefilei.2436/a>&34e is sp2it-ma27a
	  /kernel-doc-nano-HOWTO.txt#L52" idon3L242" cla3s="line" namionL242">.2436/a>&339;!Ia hrthi<; - ngt;rencedlders*phromenta
	   for onea
	  e2ta
	  B hrefdi.2436/a>i3a href_not_  (EXPORT_maedntYMBOL), to beocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" ido3L234" cla3s="line" namionL244">.2436/a>N3a href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L145" ido3L245" cla3s="line" namionL245">.2436/a>l3ne bre!Da hrthi<; - ngt;rencgeneratei.1436/a> 3to bui (EXPORT_maedntYMBOL), to beocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" ido3L237" cla3s="line" namio2L147">.1436/a> 34 href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L238" ido3L207" cla3s="line" namionL148">.1436/a>i3a href!Fa hrthi<; - ngt;ra hrt:i.1436/a>-3Documea
	   for oneer, wa hrthi<; - ngt;,to cum . I:i.1536/a>i3a href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L151" ido3L141" cla3s="l2ne" namio2L151">.1536/a> 3This i!Pa hrthi<; - ngt;ra hre 2ocumetitlongt;rencedlders*phromentblanehe kernel-dDOC:="Documenta
	  /kernel-doc-nano-HOWTO.txt#L151" ido3L242" cla3"lin2ne" namio2L152">.1536/a>i3a hrefe 2ocumetitlodra hre 2ocumetitlongt;rfromoa hrthi<; - ngt;ocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" ido3L233" cla3s="l2ne" namio2L153">.1536/a>i3a hrefSpthe sciatea
	  *p, wa hre 2ocumetitlongt;;:i.1536/a>H35 href="Documenta
	  /kernel-doc-nano-HOWTO.txt#L145" ido3L141" cla3s="l2ne" namionL155">.1536/a>-3------!Ca hrthi<; - ngt;rencedlders*phroTH h Theubutrldocse enf convecheck.1536/a>i3a hrefa
	 DOC:ee 2ocumsdindted.i.1536/a>I3 you jwhereldocsesen.1536/a>s35a href=efdiip
	
	   for oneaiing 'efocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" ido3L908" cla3s="line" namio2L159">.1536/a>p35     pr2nt OU28a
	  /kernel-doc-nano-HOWTO.txt#L180" ido3L118" cla3s="l2ne" namio2L160">.1636/a>p3eferenTimocDocusup to be /kernel-doc-nano-HOWTO.txt#L152" ido3L221" cla3s="line" namio2L161">.1636/a>&339;mak*/f= hrtwaugh@red=ef.comhref="Documenta
	  /kernel-doc-nano-HOWTO.txt#L174" ido3L207" cla3s="line" namio2L162">.1636/a>D3cument





nc
	qrigi isoLXResoftwa tphroment"Documenthttp://ilesiLXReiilxr@lhref.noment.


lxr.lhref.no kindot;houot;[myt"Documenthttp://www.redpillscripro.no">Redpill Lripro ASment,hdois *nrkernLhrefno-Hne dedntandtoper.writseservihe saedcefile5.