linux/scripts/kernel-doc
<<
>>
Prefs
   1#!/usr/bin/perl -w
   2
   3use strict;
   4
   5## Copyright (c) 1998 Michael Zucchi, All Rights Reserved        ##
   6## Copyright (C) 2000, 1  Tim Waugh <twaugh@redhat.com>          ##
   7## Copyright (C) 2001  Simon Huggins                             ##
   8## Copyright (C) 2005-2012  Randy Dunlap                         ##
   9##                                                               ##
  10## #define enhancements by Armin Kuster <akuster@mvista.com>     ##
  11## Copyright (c) 2000 MontaVista Software, Inc.                  ##
  12##                                                               ##
  13## This software falls under the GNU General Public License.     ##
  14## Please read the COPYING file for more information             ##
  15
  16# 18/01/2001 -  Cleanups
  17#               Functions prototyped as foo(void) same as foo()
  18#               Stop eval'ing where we don't need to.
  19# -- huggie@earth.li
  20
  21# 27/06/2001 -  Allowed whitespace after initial "/**" and
  22#               allowed comments before function declarations.
  23# -- Christian Kreibich <ck@whoop.org>
  24
  25# Still to do:
  26#       - add perldoc documentation
  27#       - Look more closely at some of the scarier bits :)
  28
  29# 26/05/2001 -  Support for separate source and object trees.
  30#               Return error code.
  31#               Keith Owens <kaos@ocs.com.au>
  32
  33# 23/09/2001 - Added support for typedefs, structs, enums and unions
  34#              Support for Context section; can be terminated using empty line
  35#              Small fixes (like spaces vs. \s in regex)
  36# -- Tim Jansen <tim@tjansen.de>
  37
  38
  39#
  40# This will read a 'c' file and scan for embedded comments in the
  41# style of gnome comments (+minor extensions - see below).
  42#
  43
  44# Note: This only supports 'c'.
  45
  46# usage:
  47# kernel-doc [ -docbook | -html | -text | -man | -list ] [ -no-doc-sections ]
  48#           [ -function funcname [ -function funcname ...] ] c file(s)s > outputfile
  49# or
  50#           [ -nofunction funcname [ -function funcname ...] ] c file(s)s > outputfile
  51#
  52#  Set output format using one of -docbook -html -text or -man.  Default is man.
  53#  The -list format is for internal use by docproc.
  54#
  55#  -no-doc-sections
  56#       Do not output DOC: sections
  57#
  58#  -function funcname
  59#       If set, then only generate documentation for the given function(s) or
  60#       DOC: section titles.  All other functions and DOC: sections are ignored.
  61#
  62#  -nofunction funcname
  63#       If set, then only generate documentation for the other function(s)/DOC:
  64#       sections. Cannot be used together with -function (yes, that's a bug --
  65#       perl hackers can fix it 8))
  66#
  67#  c files - list of 'c' files to process
  68#
  69#  All output goes to stdout, with errors to stderr.
  70
  71#
  72# format of comments.
  73# In the following table, (...)? signifies optional structure.
  74#                         (...)* signifies 0 or more structure elements
  75# /**
  76#  * function_name(:)? (- short description)?
  77# (* @parameterx: (description of parameter x)?)*
  78# (* a blank line)?
  79#  * (Description:)? (Description of function)?
  80#  * (section header: (section description)? )*
  81#  (*)?*/
  82#
  83# So .. the trivial example would be:
  84#
  85# /**
  86#  * my_function
  87#  */
  88#
  89# If the Description: header tag is omitted, then there must be a blank line
  90# after the last parameter specification.
  91# e.g.
  92# /**
  93#  * my_function - does my stuff
  94#  * @my_arg: its mine damnit
  95#  *
  96#  * Does my stuff explained.
  97#  */
  98#
  99#  or, could also use:
 100# /**
 101#  * my_function - does my stuff
 102#  * @my_arg: its mine damnit
 103#  * Description: Does my stuff explained.
 104#  */
 105# etc.
 106#
 107# Besides functions you can also write documentation for structs, unions,
 108# enums and typedefs. Instead of the function name you must write the name
 109# of the declaration;  the struct/union/enum/typedef must always precede
 110# the name. Nesting of declarations is not supported.
 111# Use the argument mechanism to document members or constants.
 112# e.g.
 113# /**
 114#  * struct my_struct - short description
 115#  * @a: first member
 116#  * @b: second member
 117#  *
 118#  * Longer description
 119#  */
 120# struct my_struct {
 121#     int a;
 122#     int b;
 123# /* private: */
 124#     int c;
 125# };
 126#
 127# All descriptions can be multiline, except the short function description.
 128#
 129# You can also add additional sections. When documenting kernel functions you
 130# should document the "Context:" of the function, e.g. whether the functions
 131# can be called form interrupts. Unlike other sections you can end it with an
 132# empty line.
 133# Example-sections should contain the string EXAMPLE so that they are marked
 134# appropriately in DocBook.
 135#
 136# Example:
 137# /**
 138#  * user_function - function that can only be called in user context
 139#  * @a: some argument
 140#  * Context: !in_interrupt()
 141#  *
 142#  * Some description
 143#  * Example:
 144#  *    user_function(22);
 145#  */
 146# ...
 147#
 148#
 149# All descriptive text is further processed, scanning for the following special
 150# patterns, which are highlighted appropriately.
 151#
 152# 'funcname()' - function
 153# '$ENVVAR' - environmental variable
 154# '&struct_name' - name of a structure (up to two words including 'struct')
 155# '@parameter' - name of a parameter
 156# '%CONST' - name of a constant.
 157
 158## init lots of data
 159
 160my $errors = 0;
 161my $warnings = 0;
 162my $anon_struct_union = 0;
 163
 164# match expressions used to find embedded type information
 165my $type_constant = '\%([-_\w]+)';
 166my $type_func = '(\w+)\(\)';
 167my $type_param = '\@(\w+)';
 168my $type_struct = '\&((struct\s*)*[_\w]+)';
 169my $type_struct_xml = '\\&amp;((struct\s*)*[_\w]+)';
 170my $type_env = '(\$\w+)';
 171
 172# Output conversion substitutions.
 173#  One for each output format
 174
 175# these work fairly well
 176my %highlights_html = ( $type_constant, "<i>\$1</i>",
 177                        $type_func, "<b>\$1</b>",
 178                        $type_struct_xml, "<i>\$1</i>",
 179                        $type_env, "<b><i>\$1</i></b>",
 180                        $type_param, "<tt><b>\$1</b></tt>" );
 181my $local_lt = "\\\\\\\\lt:";
  8nk li="line" name="L150"> 150# patter575="L180">e4 name="L150"> 150# patter575="L18ass="line" name="L83">  183e4 name="L150"> 150# patte"L174" class="line" name="L84">  184  185  186/b>50  187  1888                       $type_struct"<b>\on
  189  190  191  192e4 name="L150"> 150# patt="L93" cl1ass="line" name="L93">  193  194  195  196  197  198  199 200e4 name="L150"> 150# pat2="L101" c2ass="line" name="L101"> 201 202 203 204  205 206 207 208 209 210 211 212 213 214 215 216 217 218 219  220  221  222  223  224  225  226  227  228  229 230 231 232  233 234 235 236 237 238 239 240 241 242 243 244 245 246
  of the r sectiobughref="scripts/kernel-doc#L23" id=="L27" claass="line" name="L147"> 247 248 249 250 251 252 253 254 255 256 257http://www.oasis-opent;
 258 259 260 261 262 263ix= );
 264 265 266 267 268 269 270 271 272 273 274 275 276  277 278 150@([-_\w\$amp;((&
 279 280 281 28nk l2="line" na81"_ts.t;\\&s*\*\s*
  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299 300 301 302 303 304  305 306 307 308 309 310  311 312 313 314 315 316 317 300 318 300 319 300  320  321  322  323  324  325  326  327  328  329 330 331 332  333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354e4 name="L150"> 150# pat3""L145" c3ass="line" name="L155"> 355e4 name="L150"> 150# pat3""L116" c3ass="line" name="L156"> 356e4 name="L150"> 150# pat3""L27" cl3ass="line" name="L157"> 357e4 name="L150"> 150# pat3" classs=3ass="line" name="L158"> 358e4 name="L150"> 150# pat3""L39" claass="line" name="L159"> 359e4 name="L150"> 150# pat3="L160" c3ass="line" name="L160"> 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376  377 378 379n5="L18, @_ref="scripts/kernel-doc#L171" i3="L180" c3ass="line" name="L180"> 380 381 38nk l38 e.g.        an a cyp$1ref="scripts/kernel-doc#L181" i3="L163" c3ass="line" name="L83">  383e4 name="L150"> 150# pat3="L174" c3ass="line" name="L84">  384e4 name="L150"> 150# pat3="L165" c3ass="line" name="L85">  385  386e4 name="L150"> 150# pat3="L27" cl3ass="line" name="L87">  387  388e4 name="L150"> 150# pat3="L39" claass="line" name="L89">  389e4 name="L150"> 150# pat3="L90" cl3ass="line" name="L90">  390  391e4 name="L150"> 150# pat3="L182" c3ass="line" name="L92">  392e4 name="L150"> 150# pat3="L163" c3ass="line" name="L93">  393e4 name="L150"> 150# pat3="L174" c3ass="line" name="L94">  394e4 name="L150"> 150# pat3="L165" c3ass="line" name="L95">  395  396e4 name="L150"> 150# pat3="L27" cl3ass="line" name="L97">  397  398e4 name="L150"> 150# pat3="L39" classs="line" name="L29">  399e4 name="L150"> 150# pat4="L100" c4ass="line" name="L100"> 400 401e4 name="L150"> 150# pat4="L102" c4ass="line" name="L102"> 402e4 name="L150"> 150# pat4=3L102" c4ass="line" name="L93">  403  404  405 406 407  408 409 410  411 412n5="L18, @_ref="scripts/kernel-doc#L171" i4="L23" cl4ass="line" name="L113"> 413 414 415 416 417 418 419  420  421  422  423  424  425  426  427  428  429 430 431 432  433 434 435 436 437 438 439 440 441 442n5="L18,@_ref="scripts/kernel-doc#L171" i4="L143" c4ass="line" name="L143"> 443 444 445 446 447 448e4 name="L150"> 150# pat4="L39" cl4ass="line" name="L149"> 449 450 451 452 453 454 455 456e4 name="L150"> 150# pat4""L27" cl4ass="line" name="L157"> 457e4 name="L150"> 150# pat4" classs=4ass="line" name="L158"> 458e4 name="L150"> 150# pat4""L39" cl4ass="line" name="L159"> 459e4 name="L150"> 150# pat4="L160" c4ass="line" name="L160"> 460 461n5="L18, ats"> 462 463ix,pme="L1untioape(aline
namehref="scripts/kernel-doc#L181" i4="L154" c4ass="line" name="L164"> 464 465 466 467e4 name="L150"> 150# pat4= classs=4ass="line" name="L168"> 468 469ix,panameref="scripts/kernel-doc#L171" i4="L170" c4ass="line" name="L170"> 470 471 472e4 name="L150"> 150# pat4="L163" c4ass="line" name="L173"> 473 474 475 476  477 478 479 480 481 48nk l48 e.g.        pr
e4 name="L150"> 150# pat4="L163" c4ass="line" name="L83">  483e4 name="L150"> 150# pat4="L174" c4ass="line" name="L84">  484  485e4 name="L150"> 150# pat4="L166" c4ass="line" name="L86">  486  487  488  489  490  491  492  493  494e4 name="L150"> 150# pat4="L165" c4ass="line" name="L95">  495  496e4 name="L150"> 150# pat4="L27" cl4ass="line" name="L97">  497  498  499e4 name="L150"> 150# pat5="L100" c5ass="line" name="L100"> 500 501e4 name="L150"> 150# pat5=2L101" c5ass="line" name="L92">  502e4 name="L150"> 150# pat5=3L102" c5ass="line" name="L93">  503  504e4 name="L150"> 150# pat5=5L102" c5ass="line" name="L95">  505 506e4 name="L150"> 150# pat5="L27" cl5ass="line" name="L107"> 507  508e4 name="L150"> 150# pat5="L39" cl5ass="line" name="L109"> 509e4 name="L150"> 150# pat5="L110" c5ass="line" name="L110"> 510  511e4 name="L150"> 150# pat5=2L101" c5ass="line" name="L112"> 512e4 name="L150"> 150# pat5="L23" cl5ass="line" name="L113"> 513 514 515e4 name="L150"> 150# pat5="L26" cl5ass="line" name="L116"> 516 517e4 name="L150"> 150# pat5" classs=5ass="line" name="L118"> 518 519  520  521  522  523  524  525e4 name="L150"> 150# pat5="L26" cl5ass="line" name="L26">  526  527e4 name="L150"> 150# pat5= classs=5ass="line" name="L28">  528  529e4 name="L150"> 150# pat5="L130" c5ass="line" name="L130"> 530 531 532  533 534 535 536 537e4 name="L150"> 150# pat5= classs=5ass="line" name="L138"> 538e4 name="L150"> 150# pat5="L39" cl5ass="line" name="L139"> 539 540 541e4 name="L150"> 150# pat5="L142" c5ass="line" name="L142"> 542 300 543 544 300 545 300 546 547 300 548 300 549 550 551e4 name="L150"> 150# pat5="L152" c5ass="line" name="L152"> 552 553 554e4 name="L150"> 150# pat5="L115" c5ass="line" name="L155"> 555 556e4 name="L150"> 150# pat5="L27" cl5ass="line" name="L157"> 557 558 559e4 name="L150"> 150# pat5="L160" c5ass="line" name="L160"> 560 561e4 name="L150"> 150# pat5="L162" c5ass="line" name="L162"> 562e4 name="L150"> 150# pat5="L153" c5ass="line" name="L163"> 563 564 300 565 566 300 567 300 568 569 300 570e4 name="L150"> 150# pat5="L161" c5ass="line" name="L171"> 571e4 name="L150"> 150# pat5="L162" c5ass="line" name="L172"> 572 573 574e4 name="L150"> 150# pat5="L165" c5ass="line" name="L175"> 575 576e4 name="L150"> 150# pat5="L27" cl5sss="line" name="L27">  577 578 579 580 581 58nk l58 e.g.    " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i5="L163" c5ass="line" name="L83">  583  584  585e4 name="L150"> 150# pat5="L166" c5ass="line" name="L86">  586e4 name="L150"> 150# pat5="L27" cl5ass="line" name="L87">  587e4 name="L150"> 150# pat5="L28" cl5sss="line" name="L18">  588e4 name="L150"> 150# pat5="L39" cl5ass="line" name="L89">  589  590  591 300  592  593  594e4 name="L150"> 150# pat5="L165" c5ass="line" name="L95">  595  596e4 name="L150"> 150# pat5="L27" cl5ass="line" name="L97">  597  598  599e4 name="L150"> 150# pat6="L100" c6ass="line" name="L100"> 600e4 name="L150"> 150# pat6="L101" c6ass="line" name="L101"> 601  602  591e4 name="L150"> 150# pat6=471" i6=2Lss="line" name="L94">  604  605e4 name="L150"> 150# pat6="L26" cl6ass="line" name="L106"> 606e4 name="L150"> 150# pat6="L27" cl6ass="line" name="L107"> 607  608 300 609 300 610  611 300 612e4 name="L150"> 150# pat6="L23" cl6ass="line" name="L113"> 613e4 name="L150"> 150# pat6="L114" c6ass="line" name="L114"> 614 615 616e4 name="L150"> 150# pat6="L27" cl6ass="line" name="L117"> 617 618e4 name="L150"> 150# pat6""L39" cl6ass="line" name="L119"> 619  620  621  622  623  624  625  626  627  628e4 name="L150"> 150# pat6="L39" cl6ass="line" name="L29">  629e4 name="L150"> 150# pat6="L130" c6ass="line" name="L130"> 630 631e4 name="L150"> 150# pat6="L22" cl6ass="line" name="L132"> 632  633e4 name="L150"> 150# pat6="L24" cl6ass="line" name="L134"> 634 635 636 637 638 639 640ix= );
e4 name="L150"> 150# pat6="L141" c6ass="line" name="L141"> 641 642e4 name="L150"> 150# pat6="L143" c6ass="line" name="L143"> 643e4 name="L150"> 150# pat6="L24" cl6ass="line" name="L144"> 644 645e4 name="L150"> 150# pat6="L26" cl6ass="line" name="L146"> 646 647e4 name="L150"> 150# pat6= classs=6ass="line" name="L148"> 648 649 650 651e4 name="L150"> 150# pat6="L152" c6ass="line" name="L152"> 652 653e4 name="L150"> 150# pat6="L24" cl6ass="line" name="L154"> 654 655e4 name="L150"> 150# pat6="L26" cl6ass="line" name="L156"> 656 657 658 659 660 661 662 663 664 665 666 667 668 669e4 name="L150"> 150# pat6="L170" c6ass="line" name="L170"> 670e4 name="L150"> 150# pat6="L161" c6ass="line" name="L171"> 671e4 name="L150"> 150# pat6="L162" c6ass="line" name="L172"> 672e4 name="L150"> 150# pat6="L153" c6ass="line" name="L173"> 673e4 name="L150"> 150# pat6="L174" c6ass="line" name="L174"> 674e4 name="L150"> 150# pat6="L115" c6ass="line" name="L175"> 675e4 name="L150"> 150# pat6="L166" c6ass="line" name="L176"> 676e4 name="L150"> 150# pat6="L27" cl6sss="line" name="L27">  677e4 name="L150"> 150# pat6= classs=6ass="line" name="L178"> 678e4 name="L150"> 150# pat6="L39" cl6ass="line" name="L179"> 679e4 name="L150"> 150# pat6="L180" c6ass="line" name="L180"> 680e4 name="L150"> 150# pat6="L161" c6ass="line" name="L181"> 681e4 name="L150"> 150# pat6="L162" c6ass="line" name="L821"> 68nk l68 e.g.    pr
e4 name="L150"> 150# pat6="L153" c6ass="line" name="L83">  683e4 name="L150"> 150# pat6="L174" c6ass="line" name="L84">  684  685e4 name="L150"> 150# pat6="L166" c6ass="line" name="L86">  686e4 name="L150"> 150# pat6="L27" cl6ass="line" name="L87">  687  688e4 name="L150"> 150# pat6="L39" cl6ass="line" name="L89">  689e4 name="L150"> 150# pat6="L90" cl6ass="line" name="L90">  690e4 name="L150"> 150# pat6="L161" c6ass="line" name="L91">  691e4 name="L150"> 150# pat6="L182" c6ass="line" name="L92">  692e4 name="L150"> 150# pat6="L153" c6ass="line" name="L93">  693  694  695  696  697 300  698  699 700e4 name="L150"> 150# pat7="L101" c7ass="line" name="L101"> 701e4 name="L150"> 150# pat7=2L101" c7ass="line" name="L92">  702  591e4 name="L150"> 150# pat7=471" i6=7Lss="line" name="L94">  704e4 name="L150"> 150# pat7=571" i6=7Lss="line" name="L95">  705 706  707  708e4 name="L150"> 150# pat7=9L26" cl7ass="line" name="L29">  709 710e4 name="L150"> 150# pat7="L31" cl7sss="line" name="L31">  711e4 name="L150"> 150# pat7=2L101" c7ass="line" name="L112"> 712e4 name="L150"> 150# pat7=371" i6=7ass="line" name="L113"> 713 714e4 name="L150"> 150# pat7="L115" c7ass="line" name="L115"> 715 716e4 name="L150"> 150# pat7=7L26" cl7ass="line" name="L117"> 717 718 300 719 300  720  721e4 name="L150"> 150# pat7="L22" cl7sss="line" name="L22">  722e4 name="L150"> 150# pat7=371" i6=7ass="line" name="L23">  723ix= );
e4 name="L150"> 150# pat7="L114" c7ass="line" name="L24">  724  725e4 name="L150"> 150# pat7="L26" cl7ass="line" name="L26">  726  727e4 name="L150"> 150# pat7= classs=7ass="line" name="L28">  728  729e4 name="L150"> 150# pat7="L130" c7ass="line" name="L130"> 730 731e4 name="L150"> 150# pat7="L22" cl7ass="line" name="L132"> 732e4 name="L150"> 150# pat7="L23" cl7sss="line" name="L23">  733 734e4 name="L150"> 150# pat7="L115" c7ass="line" name="L135"> 735 736 737 738 739 740 741 742e4 name="L150"> 150# pat7="L143" c7ass="line" name="L143"> 743 744 745 746e4 name="L150"> 150# pat7="L27" cl7ass="line" name="L147"> 747e4 name="L150"> 150# pat7= classs=7ass="line" name="L148"> 748e4 name="L150"> 150# pat7="L39" cl7ass="line" name="L149"> 749e4 name="L150"> 150# pat7="L150" c7ass="line" name="L150"> 750e4 name="L150"> 150# pat7="L151" c7ass="line" name="L151"> 751e4 name="L150"> 150# pat7="L152" c7ass="line" name="L152"> 752e4 name="L150"> 150# pat7="L153" c7ass="line" name="L153"> 753e4 name="L150"> 150# pat7="L24" cl7ass="line" name="L154"> 754e4 name="L150"> 150# pat7="L115" c7ass="line" name="L155"> 755e4 name="L150"> 150# pat7="L26" cl7ass="line" name="L156"> 756e4 name="L150"> 150# pat7="L27" cl7ass="line" name="L157"> 757e4 name="L150"> 150# pat7" classs=7ass="line" name="L158"> 758e4 name="L150"> 150# pat7""L39" cl7ass="line" name="L159"> 759e4 name="L150"> 150# pat7="L160" c7ass="line" name="L160"> 760e4 name="L150"> 150# pat7="L151" c7ass="line" name="L161"> 761 762e4 name="L150"> 150# pat7="L153" c7ass="line" name="L163"> 763e4 name="L150"> 150# pat7="L154" c7ass="line" name="L164"> 764 765e4 name="L150"> 150# pat7="L166" c7ass="line" name="L166"> 766e4 name="L150"> 150# pat7="L27" cl7ass="line" name="L167"> 767e4 name="L150"> 150# pat7= classs=7ass="line" name="L168"> 768e4 name="L150"> 150# pat7="L39" cl7ass="line" name="L169"> 769 770 771 300 772 300 773 300 774 775e4 name="L150"> 150# pat7="L166" c7ass="line" name="L176"> 776 300  777 778 779 300 780 300 781 78nk l78 e.g.        defamed($args{
 300  783 300  784 300  785  786  787e4 name="L150"> 150# pat7="L28" cl7sss="line" name="L18">  788  789  790e4 name="L150"> 150# pat7="L161" c7ass="line" name="L91">  791  792e4 name="L150"> 150# pat7="L153" c7ass="line" name="L93">  793  794  795e4 name="L150"> 150# pat7="L86" cl7ass="line" name="L96">  796e4 name="L150"> 150# pat7="L27" cl7ass="line" name="L97">  797e4 name="L150"> 150# pat7="L18" cl7ass="line" name="L98">  798  799e4 name="L150"> 150# pat8="L100" c8ass="line" name="L100"> 800e4 name="L150"> 150# pat8="L101" c8ass="line" name="L101"> 801  802  591e4 name="L150"> 150# pat8=471" i6=8Lss="line" name="L94">  804  805 300 806  807 300  808 300  809 300 810 300  811 300 812e4 name="L150"> 150# pat8=371" i6=8ass="line" name="L113"> 813e4 name="L150"> 150# pat8="L114" c8ass="line" name="L114"> 814e4 name="L150"> 150# pat8="L115" c8ass="line" name="L115"> 815 816e4 name="L150"> 150# pat8=7L26" cl8ass="line" name="L117"> 817e4 name="L150"> 150# pat8" classs=8ass="line" name="L118"> 818 819e4 name="L150"> 150# pat8="L20" cl8ass="line" name="L20">  820  821e4 name="L150"> 150# pat8="L22" cl8sss="line" name="L22">  822  823e4 name="L150"> 150# pat8="L114" c8ass="line" name="L24">  824  825  826  827e4 name="L150"> 150# pat8= classs=8ass="line" name="L28">  828  829 300 830 831 832  833 834 835 836 837 838 839 300 840e4 name="L150"> 150# pat8="L141" c8ass="line" name="L141"> 841e4 name="L150"> 150# pat8="L142" c8ass="line" name="L142"> 842e4 name="L150"> 150# pat8="L143" c8ass="line" name="L143"> 843e4 name="L150"> 150# pat8="L24" cl8ass="line" name="L144"> 844e4 name="L150"> 150# pat8="L115" c8ass="line" name="L145"> 845e4 name="L150"> 150# pat8="L26" cl8ass="line" name="L146"> 846e4 name="L150"> 150# pat8="L27" cl8ass="line" name="L147"> 847e4 name="L150"> 150# pat8= classs=8ass="line" name="L148"> 848e4 name="L150"> 150# pat8="L39" cl8ass="line" name="L149"> 849e4 name="L150"> 150# pat8="L150" c8ass="line" name="L150"> 850e4 name="L150"> 150# pat8="L151" c8ass="line" name="L151"> 851e4 name="L150"> 150# pat8="L152" c8ass="line" name="L152"> 852e4 name="L150"> 150# pat8="L153" c8ass="line" name="L153"> 853e4 name="L150"> 150# pat8="L24" cl8ass="line" name="L154"> 854e4 name="L150"> 150# pat8="L115" c8ass="line" name="L155"> 855 856e4 name="L150"> 150# pat8="L27" cl8ass="line" name="L157"> 857e4 name="L150"> 150# pat8" classs=8ass="line" name="L158"> 858 859e4 name="L150"> 150# pat8="L160" c8ass="line" name="L160"> 860e4 name="L150"> 150# pat8="L151" c8ass="line" name="L161"> 861e4 name="L150"> 150# pat8="L162" c8ass="line" name="L162"> 862e4 name="L150"> 150# pat8="L153" c8ass="line" name="L163"> 863 864 865e4 name="L150"> 150# pat8="L26" cl8ass="line" name="L166"> 866 867e4 name="L150"> 150# pat8= classs=8ass="line" name="L168"> 868e4 name="L150"> 150# pat8="L39" cl8ass="line" name="L169"> 869 870e4 name="L150"> 150# pat8="L161" c8ass="line" name="L171"> 871 872e4 name="L150"> 150# pat8="L153" c8ass="line" name="L173"> 873e4 name="L150"> 150# pat8="L154" c8ass="line" name="L174"> 874e4 name="L150"> 150# pat8="L115" c8ass="line" name="L175"> 875 876e4 name="L150"> 150# pat8="L27" cl8sss="line" name="L27">  877e4 name="L150"> 150# pat8= classs=8ass="line" name="L178"> 878e4 name="L150"> 150# pat8="L39" cl8ass="line" name="L179"> 879 880 300 881 300 88nk l88 e.g.">e4 name="L150"> 150# pat8="L153" c8ass="line" name="L83">  883e4 name="L150"> 150# pat8="L174" c8ass="line" name="L84">  884e4 name="L150"> 150# pat8="L165" c8ass="line" name="L85">  885e4 name="L150"> 150# pat8="L166" c8ass="line" name="L86">  886  887e4 name="L150"> 150# pat8="L28" cl8sss="line" name="L18">  888e4 name="L150"> 150# pat8="L39" cl8ass="line" name="L89">  889  890e4 name="L150"> 150# pat8="L161" c8ass="line" name="L91">  891e4 name="L150"> 150# pat8="L182" c8ass="line" name="L92">  892e4 name="L150"> 150# pat8="L153" c8ass="line" name="L93">  893  894  895e4 name="L150"> 150# pat8="L86" cl8ass="line" name="L96">  896  897  898  899 900 901  902  591  904  905 906  907e4 name="L150"> 150# pat9=8L26" cl9ass="line" name="L98">  908e4 name="L150"> 150# pat9=9L26" cl9ass="line" name="L29">  909e4 name="L150"> 150# pat9="L110" c9ass="line" name="L110"> 910e4 name="L150"> 150# pat9="L31" cl9sss="line" name="L31">  911e4 name="L150"> 150# pat9=2L101" c9ass="line" name="L112"> 912e4 name="L150"> 150# pat9=371" i6=9ass="line" name="L113"> 913e4 name="L150"> 150# pat9="L114" c9ass="line" name="L114"> 914e4 name="L150"> 150# pat9="L115" c9ass="line" name="L115"> 915e4 name="L150"> 150# pat9="L26" cl9ass="line" name="L116"> 916e4 name="L150"> 150# pat9=7L26" cl9ass="line" name="L117"> 917e4 name="L150"> 150# pat9" classs=9ass="line" name="L118"> 918e4 name="L150"> 150# pat9""L39" cl9ass="line" name="L119"> 919e4 name="L150"> 150# pat9="L20" cl9ass="line" name="L20">  920e4 name="L150"> 150# pat9="L21" cl9ass="line" name="L21">  921  922e4 name="L150"> 150# pat9=371" i6=9ass="line" name="L23">  923e4 name="L150"> 150# pat9="L114" c9ass="line" name="L24">  924  925e4 name="L150"> 150# pat9="L26" cl9ass="line" name="L26">  926e4 name="L150"> 150# pat9="L27" cl9ass="line" name="L27">  927e4 name="L150"> 150# pat9= classs=9ass="line" name="L28">  928e4 name="L150"> 150# pat9="L39" cl9ass="line" name="L29">  929 300 930 931 932e4 name="L150"> 150# pat9="L23" cl9sss="line" name="L23">  933 934 935 936 937 938 939 940 941 942 943 944 945ix= );
e4 name="L150"> 150# pat9="L26" cl9ass="line" name="L146"> 946 947 948e4 name="L150"> 150# pat9="L39" cl9ass="line" name="L149"> 949 950 951e4 name="L150"> 150# pat9="L152" c9ass="line" name="L152"> 952 953e4 name="L150"> 150# pat9="L24" cl9ass="line" name="L154"> 954 955 956 957e4 name="L150"> 150# pat9= classs=9ass="line" name="L158"> 958 959e4 name="L150"> 150# pat9="L160" c9ass="line" name="L160"> 960 961 962e4 name="L150"> 150# pat9="L153" c9ass="line" name="L163"> 963 964 965 966e4 name="L150"> 150# pat9="L27" cl9ass="line" name="L167"> 967 968 969 970 971 972 973 974 975 976  977 978 979e4 name="L150"> 150# pat9="L180" c9ass="line" name="L180"> 980e4 name="L150"> 150# pat9="L161" c9ass="line" name="L181"> 981 98nk l98 e.g.    pr
e4 name="L150"> 150# pat9="L153" c9ass="line" name="L83">  983e4 name="L150"> 150# pat9="L154" c9ass="line" name="L84">  984e4 name="L150"> 150# pat9="L115" c9ass="line" name="L85">  985e4 name="L150"> 150# pat9="L166" c9ass="line" name="L86">  986  987  988  989  990 300  991  992  993e4 name="L150"> 150# pat9="L174" c9ass="line" name="L94">  994e4 name="L150"> 150# pat9="L165" c9ass="line" name="L95">  995  996e4 name="L150"> 150# pat9="L27" cl9ass="line" name="L97">  997e4 name="L150"> 150# pat9="L28" cl9ass="line" name="L98">  998  999  10="L>10=" */
    } elshhref/pre>  10=ss>10= e.g.        pr
e4 name="L150"> 150# pat10=2L100" c10=ss="line" name="L92">  10=ss>10= .n$ter&#}ef="scripts/kernel-doc#L171" i10=3L100" c10=ss="line" name="L93">  10=ss>10=3        pr
e4 name="L150"> 150# pat10=4L100" c10=ss="line" name="L94">  10=ss>10=4        if ($#{$args{
  10=ss>10=5e.g.        pr
e4 name="L150"> 150# pat10=6L100" c10=ss="line" name="L96">  10=ss>10=6e.g.        pr
e4 name="L150"> 150# pat10=7L100" c10=ss="line" name="L97">  10=ss>10=7e.g.        pr
e4 name="L150"> 150# pat10=8L100" c10=ss="line" name="L98">  10=ss>10=8e.g.        pr
e4 name="L150"> 150# pat10=9L100" c10=ss="line" name="L29">  10=ss>10=9e.g.        pr
e4 name="L150"> 150# pat101"L100" c10ass="line" name="L110"> 10ass>10as            
  10sss>10a1                " nater' _L144 a ater' e="L100"> 300 10ass>10a e.g.            ater' _L144 a~ s/ [.*//e="L100"> 300 10ass>10a 10ass>10a  */
            pr
e4 name="L150"> 150# pat10a5L100" c10ass="line" name="L115"> 10ass>10a etc.            pr
e4 name="L150"> 150# pat10a6L100" c10ass="line" name="L116"> 10ass>10a  * D            aname);">ix= );
e4 name="L150"> 150# pat10a7L100" c10ass="line" name="L117"> 10ass>10a                  forma_ghts_html($args{
 10ass>10a                 pr
e4 name="L150"> 150# pat10a9L100" c10ass="line" name="L119"> 10ass>10a             }ef="scripts/kernel-doc#L171" i102"L100" c10ass="line" name="L20">  10ass>10ase.g.        pr
e4 name="L150"> 150# pat1021L100" c10ass="line" name="L21">  10ass>10a1 */
    } elshhrefe4 name="L150"> 150# pat1022L100" c10sss="line" name="L22">  10sss>10a2e.g.        pr
e4 name="L150"> 150# pat10a3L100" c10ass="line" name="L23">  10ass>10a3.n$ter&#}ef="scripts/kernel-doc#L171" i1024L100" c10ass="line" name="L24">  10ass>10a  10ass>10a etc.    # pr
  10ass>10a6        aname);">ix= );
e4 name="L150"> 150# pat10a7L100" c10ass="line" name="L27">  10ass>10a         
  10ass>10a8e.g.        pr
e4 name="L150"> 150# pat10a9L100" c10ass="line" name="L29">  10ass>10a             if ($ns shou a~ m/EXAMPLE/ihhref="scripts/kernel-doc#L121" i103"L100" c10ass="line" name="L130"> 10ass>10as                pr
e4 name="L150"> 150# pat10a1L100" c10ass="line" name="L131"> 10ass>10a1            } elshhref="scripts/kernel-doc#L121" i10a2L100" c10ass="line" name="L132"> 10ass>10a2            }ef="scripts/kernel-doc#L171" i1033L100" c10sss="line" name="L23">  10sss>10a3e.g.        pr
e4 name="L150"> 150# pat1034L100" c10ass="line" name="L134"> 10ass>10a  */
         forma_ghts_html($args{
 10ass>10a5e.g.        pr
e4 name="L150"> 150# pat1036L100" c10ass="line" name="L136"> 10ass>10a  * D        if ($ns shou a~ m/EXAMPLE/ihhref="scripts/kernel-doc#L121" i10a7L100" c10ass="line" name="L137"> 10ass>10a                 pr
e4 name="L150"> 150# pat10a8L100" c10ass="line" name="L138"> 10ass>10a             } elshhref="scripts/kernel-doc#L121" i10a9L100" c10ass="line" name="L139"> 10ass>10a             }ef="scripts/kernel-doc#L171" i104"L100" c10ass="line" name="L140"> 10ass>10ase.g.        pr
e4 name="L150"> 150# pat1041L100" c10ass="line" name="L141"> 10ass>10a1        }ef="scripts/kernel-doc#L171" i10a2L100" c10ass="line" name="L142"> 10ass>10a e.g.">e4 name="L150"> 150# pat10a3L100" c10ass="line" name="L143"> 10ass>10a3        pr
e4 name="L150"> 150# pat1044L100" c10ass="line" name="L144"> 10ass>10a4    }ef="scripts/kernel-doc#L171" i10a5L100" c10ass="line" name="L145"> 10ass>10a 10ass>10a  * D##ef="scripts/kernel-doc#L16" id10a7L100" c10ass="line" name="L147"> 10ass>10a7    rl format
n
 10ass>10a8    sub  forma_
n
 10ass>10a         " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i105"L100" c10ass="line" name="L150"> 10ass>10ase.g.    " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i10a1L100" c10ass="line" name="L151"> 10ass>10a1        " naalsuoref="scripts/kernel-doc#L181" i10a2L100" c10ass="line" name="L152"> 10ass>10a e.g.">e4 name="L150"> 150# pat1053L100" c10ass="line" name="L153"> 10ass>10a3        pr
e4 name="L150"> 150# pat1054L100" c10ass="line" name="L154"> 10ass>10a 10ass>10a5        pr
e4 name="L150"> 150# pat1056L100" c10ass="line" name="L156"> 10ass>10a6        pr
e4 name="L150"> 150# pat1057L100" c10ass="line" name="L157"> 10ass>10a 10ass>10a8        pr
e4 name="L150"> 150# pat1059L100" c10ass="line" name="L159"> 10ass>10a         if ($args{
 10ass>10ase.g.        pr
e4 name="L150"> 150# pat1061L100" c10ass="line" name="L161"> 10ass>10a1 */
    } elshhrefe4 name="L150"> 150# pat1062L100" c10ass="line" name="L162"> 10ass>10a2e.g.        pr
e4 name="L150"> 150# pat1063L100" c10ass="line" name="L163"> 10ass>10a3.n$ter&#}ef="scripts/kernel-doc#L171" i1064L100" c10ass="line" name="L164"> 10ass>10a4e.g.    aalsuooa href="scripts/kernel-doc#L163" i10a5L100" c10ass="line" name="L165"> 10ass>10a5        " naterenthcyp5="L18(5="L180">e4 name="L150"> 150# pat1066L100" c10ass="line" name="L166"> 10ass>10a6        " natostcyp5="L18,5="L180">e4 name="L150"> 150# pat10a7L100" c10ass="line" name="L167"> 10ass>10a         
 10ass>10a8 * D        if ($alsuooa= $#{$args{
 10ass>10a                 atostcyp5="L18)t&="L180">e4 name="L150"> 150# pat107"L100" c10ass="line" name="L170"> 10ass>10as            }ef="scripts/kernel-doc#L171" i1071L100" c10ass="line" name="L171"> 10ass>10a1            nf mu a aargs{
 300 10ass>10a2 * D        if ($f mu a~ m/([^\(]*\(\*);s*\);s*\(([^\)]*);#/)href="scripts/kernel-doc#L121" i10a3L100" c10ass="line" name="L173"> 10ass>10a /**
            # pouptsr-to-
n
 10ass>10a  */
            pr
e4 name="L150"> 150# pat1075L100" c10ass="line" name="L175"> 10ass>10a5e.g.        } elshhrefe4 name="L150"> 150# pat1076L100" c10ass="line" name="L176"> 10ass>10a  * D            af mu a~ s/([^\*])$/$1c/e="L100"> 300  10sss>10a                 pr
e4 name="L150"> 150# pat1078L100" c10ass="line" name="L178"> 10ass>10a8            }ef="scripts/kernel-doc#L171" i1079L100" c10ass="line" name="L179"> 10ass>10a             nalsuo++0">e4 name="L150"> 150# pat108"L100" c10ass="line" name="L180"> 10ass>10as            nterenthcyp5="L185="L180">e4 name="L150"> 150# pat1081L100" c10ass="line" name="L181"> 10ass>10a1        }ef="scripts/kernel-doc#L171" i1082L100" c10ass="line" name="L821"> 10ass>10a e.g.">e4 name="L150"> 150# pat1083L100" c10ass="line" name="L83">  10ass>10a3        pr
e4 name="L150"> 150# pat1084L100" c10ass="line" name="L84">  10ass>10a  */
    
  10ass>10a5e.g.        " nater' _L144 a ater' e="L100"> 300  10ass>10a6            nter' _L144 a~ s/ [.*//e="L100"> 300  10ass>10a  10sss>10a8e.g.        pr
e4 name="L150"> 150# pat1089L100" c10ass="line" name="L89">  10ass>10a              forma_ghts_html($args{
  10ass>10as        }ef="scripts/kernel-doc#L171" i1091L100" c10ass="line" name="L91">  10ass>10a1 */
    
  10ass>10a2e.g.        pr
e4 name="L150"> 150# pat1093L100" c10ass="line" name="L93">  10ass>10a3             forma_ghts_html($args{
  10ass>10a  */
    }ef="scripts/kernel-doc#L171" i10a5L100" c10ass="line" name="L95">  10ass>10a5    }ef="scripts/kernel-doc#L171" i1096L100" c10ass="line" name="L96">  10ass>10a
  10ass>10a7 * D##ef="scripts/kernel-doc#L16" id1098L100" c10ass="line" name="L98">  10ass>10a  10sss>10a9    sub  forma_enum&mau(5-_\w)href="scripts/kernel-doc#L121" i11="L100" c11="L1"line" name="L29">  11="L>110         " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1101L100" c11=ss="line" name="L91">  11=ss>1101        " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i1102L100" c11=ss="line" name="L92">  11=ss>110 e.g.    " naalsuoref="scripts/kernel-doc#L181" i11=3L100" c11=ss="line" name="L93">  11=ss>110  11=ss>1104        pr
e4 name="L150"> 150# pat11=5L100" c11=ss="line" name="L95">  11=ss>110  11=ss>1106        pr
e4 name="L150"> 150# pat11=7L100" c11=ss="line" name="L97">  11=ss>1107        pr
e4 name="L150"> 150# pat11=8L100" c11=ss="line" name="L98">  11=ss>110  11=ss>1109        pr
e4 name="L150"> 150# pat111"L100" c11ass="line" name="L110"> 11ass>111         pr
e4 name="L150"> 150# pat1111L100" c11sss="line" name="L31">  11sss>11a1        aalsuooa href="scripts/kernel-doc#L163" i11a2L100" c11ass="line" name="L112"> 11ass>11a e.g.    
 11ass>1113e.g.        pr
e4 name="L150"> 150# pat11a4L100" c11ass="line" name="L114"> 11ass>11a  */
        if ($alsuooa= $#{$args{
 11ass>11a etc.            pr
e4 name="L150"> 150# pat11a6L100" c11ass="line" name="L116"> 11ass>11a  * D            linoref="scripts/kernel-doc#L181" i11a7L100" c11ass="line" name="L117"> 11ass>11a             }ef="scripts/kernel-doc#L171" i11a8L100" c11ass="line" name="L118"> 11ass>11a             elshhrefe4 name="L150"> 150# pat11a9L100" c11ass="line" name="L119"> 11ass>111                 pr
e4 name="L150"> 150# pat112"L100" c11ass="line" name="L20">  11ass>112s            }ef="scripts/kernel-doc#L171" i1121L100" c11ass="line" name="L21">  11ass>1121            nalsuo++0">e4 name="L150"> 150# pat1122L100" c11sss="line" name="L22">  11sss>112 .n$ter&#}ef="scripts/kernel-doc#L171" i11a3L100" c11ass="line" name="L23">  11ass>112  11ass>1124        pr
e4 name="L150"> 150# pat1125L100" c11ass="line" name="L25">  11ass>11a etc.    
  11ass>112  * D        " nater' _L144 a ater' e="L100"> 300  11ass>112             nter' _L144 a~ s/ [.*//e="L100"> 300  11ass>112  11ass>1129e.g.        pr
e4 name="L150"> 150# pat113"L100" c11ass="line" name="L130"> 11ass>11as             forma_ghts_html($args{
 11ass>1131        }ef="scripts/kernel-doc#L171" i11a2L100" c11ass="line" name="L132"> 11ass>113 e.g.    
  11sss>11a3e.g.        pr
e4 name="L150"> 150# pat1134L100" c11ass="line" name="L134"> 11ass>11a  */
         forma_ghts_html($args{
 11ass>11a5e.g.    }ef="scripts/kernel-doc#L171" i11a6L100" c11ass="line" name="L136"> 11ass>1136    }ef="scripts/kernel-doc#L171" i1137L100" c11ass="line" name="L137"> 11ass>113 11ass>11a     ##ef="scripts/kernel-doc#L16" id11a9L100" c11ass="line" name="L139"> 11ass>113     rl formatstructyinnmauef="scripts/kernel-doc#L164" i114"L100" c11ass="line" name="L140"> 11ass>114     sub  forma_struct&mau(5-_\w)href="scripts/kernel-doc#L121" i1141L100" c11ass="line" name="L141"> 11ass>1141        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1142L100" c11ass="line" name="L142"> 11ass>114 e.g.    " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i1143L100" c11ass="line" name="L143"> 11ass>114 11ass>1144        pr
e4 name="L150"> 150# pat11a5L100" c11ass="line" name="L145"> 11ass>11a 11ass>1146        pr
e4 name="L150"> 150# pat11a7L100" c11ass="line" name="L147"> 11ass>1147        pr
e4 name="L150"> 150# pat1148L100" c11ass="line" name="L148"> 11ass>114 11ass>1149        pr
e4 name="L150"> 150# pat115"L100" c11ass="line" name="L150"> 11ass>1150        pr
e4 name="L150"> 150# pat11a1L100" c11ass="line" name="L151"> 11ass>115 11ass>115 e.g.    
 11ass>115 /**
        if ($ter'  a~ /^#/)href="scripts/kernel-doc#L121" i1154L100" c11ass="line" name="L154"> 11ass>115  */
            pr
e4 name="L150"> 150# pat11a5L100" c11ass="line" name="L155"> 11ass>115 etc.            nexoref="scripts/kernel-doc#L181" i1156L100" c11ass="line" name="L156"> 11ass>115  * D        }ef="scripts/kernel-doc#L171" i1157L100" c11ass="line" name="L157"> 11ass>115             " nater' _L144 a ater' e="L100"> 300 11ass>115             nter' _L144 a~ s/ [.*//e="L100"> 300 11ass>115     ="L100"> 300 11ass>11ase.g.        ($args{
 11ass>1161            nf mu a aargs{
 300 11ass>1162 * D        if ($f mu a~ m/([^\(]*\(\*);s*\);s*\(([^\)]*);#/)href="scripts/kernel-doc#L121" i1163L100" c11ass="line" name="L163"> 11ass>116 /**
            # pouptsr-to-
n
 11ass>116  */
            pr
e4 name="L150"> 150# pat11a5L100" c11ass="line" name="L165"> 11ass>1165e.g.        } elsif ($f mu a~ m/^(.*?);s*(:.*#/)href="scripts/kernel-doc#L121" i1166L100" c11ass="line" name="L166"> 11ass>116  * D            # bitfieldef="scripts/kernel-doc#L121" i1167L100" c11ass="line" name="L167"> 11ass>116                 pr
e4 name="L150"> 150# pat11a8L100" c11ass="line" name="L168"> 11ass>116             } elshhref="scripts/kernel-doc#L121" i11a9L100" c11ass="line" name="L169"> 11ass>11a                 af mu a~ s/([^\*])$/$1c/e="L100"> 300 11ass>117s                pr
e4 name="L150"> 150# pat1171L100" c11ass="line" name="L171"> 11ass>11a1            }ef="scripts/kernel-doc#L171" i11a2L100" c11ass="line" name="L172"> 11ass>1172e.g.        pr
e4 name="L150"> 150# pat11a3L100" c11ass="line" name="L173"> 11ass>1173.n$ter&#}ef="scripts/kernel-doc#L171" i11a4L100" c11ass="line" name="L174"> 11ass>1174        pr
e4 name="L150"> 150# pat11a5L100" c11ass="line" name="L175"> 11ass>117 11ass>1176        pr
e4 name="L150"> 150# pat1177L100" c11sss="line" name="L27">  11sss>117         
 11ass>11a8            ($ter'  a~ /^#/)h&& nexoref="scripts/kernel-doc#L181" i1179L100" c11ass="line" name="L179"> 11ass>117     ="L100"> 300 11ass>11as            " nater' _L144 a ater' e="L100"> 300 11ass>1181            nter' _L144 a~ s/ [.*//e="L100"> 300 11ass>11a e.g.">e4 name="L150"> 150# pat1183L100" c11ass="line" name="L83">  11ass>1183e.g.        ($args{
  11ass>1184e.g.        pr
e4 name="L150"> 150# pat11a5L100" c11ass="line" name="L85">  11ass>1185e.g.         forma_ghts_html($args{
  11ass>11a6        }ef="scripts/kernel-doc#L171" i1187L100" c11ass="line" name="L87">  11ass>118         
  11sss>11a8e.g.        pr
e4 name="L150"> 150# pat1189L100" c11ass="line" name="L89">  11ass>11a              forma_ghts_html($args{
  11ass>11as        }ef="scripts/kernel-doc#L171" i1191L100" c11ass="line" name="L91">  11ass>11a1 */
}ef="scripts/kernel-doc#L171" i1192L100" c11ass="line" name="L92">  11ass>119 e.g.">e4 name="L150"> 150# pat1193L100" c11ass="line" name="L93">  11ass>11a3    ##ef="scripts/kernel-doc#L16" id1194L100" c11ass="line" name="L94">  11ass>11a  */
rl formatf mudefyinnmauef="scripts/kernel-doc#L164" i11a5L100" c11ass="line" name="L95">  11ass>11a5    sub  forma_f mudef&mau(5-_\w)href="scripts/kernel-doc#L121" i1196L100" c11ass="line" name="L96">  11ass>1196        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i11a7L100" c11ass="line" name="L97">  11ass>119         " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i1198L100" c11ass="line" name="L98">  11ass>119  11sss>1199        pr
e4 name="L150"> 150# pat12="L100" c12="L1"line" name="L29">  12="L>120  12=ss>1201        pr
e4 name="L150"> 150# pat1202L100" c12=ss="line" name="L92">  12=ss>120 e.g.    pr
e4 name="L150"> 150# pat12=3L100" c12=ss="line" name="L93">  12=ss>120  12=ss>120  */
    
  12=ss>12=5e.g.        pr
e4 name="L150"> 150# pat12=6L100" c12=ss="line" name="L96">  12=ss>12=6e.g.         forma_ghts_html($args{
  12=ss>1207        }ef="scripts/kernel-doc#L171" i12=8L100" c12=ss="line" name="L98">  12=ss>120  12=ss>120     ="L100"> 300 12ass>121     sub  forma_blockhead&mau(5-_\w)href="scripts/kernel-doc#L121" i1211L100" c12sss="line" name="L31">  12sss>1211        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i12a2L100" c12ass="line" name="L112"> 12ass>121 e.g.    " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i12a3L100" c12ass="line" name="L113"> 12ass>1213        " naalsuoref="scripts/kernel-doc#L181" i1214L100" c12ass="line" name="L114"> 12ass>121 12ass>1215        pr
e4 name="L150"> 150# pat12a6L100" c12ass="line" name="L116"> 12ass>121
 12ass>121         
 12ass>1218e.g.        pr
e4 name="L150"> 150# pat12a9L100" c12ass="line" name="L119"> 12ass>121              forma_ghts_html($args{
  12ass>122s        }ef="scripts/kernel-doc#L171" i1221L100" c12ass="line" name="L21">  12ass>1221 */
}ef="scripts/kernel-doc#L171" i1222L100" c12sss="line" name="L22">  12sss>122 e.g.">e4 name="L150"> 150# pat12a3L100" c12ass="line" name="L23">  12ass>1223    ##ef="scripts/kernel-doc#L16" id1224L100" c12ass="line" name="L24">  12ass>122  */
rl formatinntextef="scripts/kernel-doc#L16" id1225L100" c12ass="line" name="L25">  12ass>1225    sub  forma_
n
  12ass>1226        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i12a7L100" c12ass="line" name="L27">  12ass>122         " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i12a8L100" c12ass="line" name="L28">  12ass>12a8e.g.    " nastaroref="scripts/kernel-doc#L181" i12a9L100" c12ass="line" name="L29">  12ass>122     ="L100"> 300 12ass>123         pr
e4 name="L150"> 150# pat12a1L100" c12ass="line" name="L131"> 12ass>1231        pr
e4 name="L150"> 150# pat12a2L100" c12ass="line" name="L132"> 12ass>123 e.g.">e4 name="L150"> 150# pat1233L100" c12sss="line" name="L23">  12sss>1233        pr
e4 name="L150"> 150# pat12a4L100" c12ass="line" name="L134"> 12ass>1234        if ($args{
 12ass>12a5e.g.        astaro a aargs{
e4 name="L150"> 150# pat12a6L100" c12ass="line" name="L136"> 12ass>12a  * D    } elshhref="scripts/kernel-doc#L121" i1237L100" c12ass="line" name="L137"> 12ass>12a             astaro a aargs{
e4 name="L150"> 150# pat12a8L100" c12ass="line" name="L138"> 12ass>12a         }ef="scripts/kernel-doc#L171" i12a9L100" c12ass="line" name="L139"> 12ass>1239        pr
 12ass>124 12ass>1241        " naalsuooa href="scripts/kernel-doc#L163" i1242L100" c12ass="line" name="L142"> 12ass>124 e.g.    
 12ass>1243e.g.        nf mu a aargs{
 300 12ass>124  */
        if ($f mu a~ m/([^\(]*\(\*);s*\);s*\(([^\)]*);#/)href="scripts/kernel-doc#L121" i12a5L100" c12ass="line" name="L145"> 12ass>124 etc.            # pouptsr-to-
n
 12ass>124  * D            pr
 300 12ass>124             } elshhref="scripts/kernel-doc#L121" i1248L100" c12ass="line" name="L148"> 12ass>124                 pr
 300 12ass>124             }ef="scripts/kernel-doc#L171" i125"L100" c12ass="line" name="L150"> 12ass>1250 */
        if ($alsuoo!= $#{$args{
 12ass>1251                nalsuo++0">e4 name="L150"> 150# pat1252L100" c12ass="line" name="L152"> 12ass>125 e.g.            pr
e4 name="L150"> 150# pat1253L100" c12ass="line" name="L153"> 12ass>125 /**
            pr
 12ass>125  */
        } elshhref="scripts/kernel-doc#L121" i12a5L100" c12ass="line" name="L155"> 12ass>125 etc.            pr
e4 name="L150"> 150# pat1256L100" c12ass="line" name="L156"> 12ass>125  * D        }ef="scripts/kernel-doc#L171" i1257L100" c12ass="line" name="L157"> 12ass>1257        }ef="scripts/kernel-doc#L171" i12a8L100" c12ass="line" name="L158"> 12ass>125 12ass>1259        pr
e4 name="L150"> 150# pat126"L100" c12ass="line" name="L160"> 12ass>12ase.g.    
 12ass>1261            " nater' _L144 a ater' e="L100"> 300 12ass>1262 * D        nter' _L144 a~ s/ [.*//e="L100"> 300 12ass>126 12ass>1264e.g.        pr
e4 name="L150"> 150# pat12a5L100" c12ass="line" name="L165"> 12ass>1265e.g.    }ef="scripts/kernel-doc#L171" i1266L100" c12ass="line" name="L166"> 12ass>126  * D     forma_se 12ass>126     }ef="scripts/kernel-doc#L171" i1268L100" c12ass="line" name="L168"> 12ass>126 12ass>12a     # formatss shouhtinntextef="scripts/kernel-doc#L16" id127"L100" c12ass="line" name="L170"> 12ass>127     sub  forma_se 12ass>1271        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i12a2L100" c12ass="line" name="L172"> 12ass>127 e.g.    " nase 12ass>127 12ass>1274        pr
e4 name="L150"> 150# pat12a5L100" c12ass="line" name="L175"> 12ass>127 etc.    
 12ass>1276e.g.        pr
e4 name="L150"> 150# pat1277L100" c12sss="line" name="L27">  12sss>12a              forma_ghts_html($args{
 12ass>127         }ef="scripts/kernel-doc#L171" i1279L100" c12ass="line" name="L179"> 12ass>1279        pr
e4 name="L150"> 150# pat128"L100" c12ass="line" name="L180"> 12ass>12as    }ef="scripts/kernel-doc#L171" i1281L100" c12ass="line" name="L181"> 12ass>128 12ass>12a e.g.rl formatenumyinntextef="scripts/kernel-doc#L16" id1283L100" c12ass="line" name="L83">  12ass>1283e.g.sub  forma_enum&text(5-_\w)href="scripts/kernel-doc#L121" i1284L100" c12ass="line" name="L84">  12ass>1284e.g.    " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i12a5L100" c12ass="line" name="L85">  12ass>1285        " n($ter' href="scripts/kernel-doc#L181" i1286L100" c12ass="line" name="L86">  12ass>1286        " naalsuoref="scripts/kernel-doc#L181" i1287L100" c12ass="line" name="L87">  12ass>1287        pr
e4 name="L150"> 150# pat1288L100" c12sss="line" name="L18">  12sss>128  12ass>1289        pr
e4 name="L150"> 150# pat129"L100" c12ass="line" name="L90">  12ass>129         pr
e4 name="L150"> 150# pat1291L100" c12ass="line" name="L91">  12ass>1291        aalsuooa href="scripts/kernel-doc#L163" i1292L100" c12ass="line" name="L92">  12ass>129 e.g.    
  12ass>1293e.g.        pr
e4 name="L150"> 150# pat1294L100" c12ass="line" name="L94">  12ass>129  */
        if ($alsuoo!= $#{$args{
  12ass>129 etc.            nalsuo++0">e4 name="L150"> 150# pat1296L100" c12ass="line" name="L96">  12ass>129  * D            pr
e4 name="L150"> 150# pat1297L100" c12ass="line" name="L97">  12ass>129             }ef="scripts/kernel-doc#L171" i1298L100" c12ass="line" name="L98">  12ass>1298e.g.        pr
e4 name="L150"> 150# pat1299L100" c12sss="line" name="L29">  12sss>1299        }ef="scripts/kernel-doc#L171" i13="L100" c13="L1"line" name="L29">  13="L>130         pr
e4 name="L150"> 150# pat1301L100" c13=ss="line" name="L91">  13=ss>130  13=ss>130 e.g.    pr
e4 name="L150"> 150# pat13=3L100" c13=ss="line" name="L93">  13=ss>1303e.g.    
  13=ss>1304e.g.        pr
e4 name="L150"> 150# pat13=5L100" c13=ss="line" name="L95">  13=ss>13=5e.g.        pr
e4 name="L150"> 150# pat13=6L100" c13=ss="line" name="L96">  13=ss>1306        }ef="scripts/kernel-doc#L171" i13=7L100" c13=ss="line" name="L97">  13=ss>130  13=ss>1308e.g.     forma_se  13=ss>130     }ef="scripts/kernel-doc#L171" i131"L100" c13ass="line" name="L110"> 13ass>131  13sss>1311    rl formatf mudefyinntextef="scripts/kernel-doc#L16" id13a2L100" c13ass="line" name="L112"> 13ass>131 e.g.sub  forma_f mudef&text(5-_\w)href="scripts/kernel-doc#L121" i13a3L100" c13ass="line" name="L113"> 13ass>1313        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1314L100" c13ass="line" name="L114"> 13ass>1314        " n($ter' href="scripts/kernel-doc#L181" i13a5L100" c13ass="line" name="L115"> 13ass>1315        " naalsuoref="scripts/kernel-doc#L181" i13a6L100" c13ass="line" name="L116"> 13ass>1316        pr
e4 name="L150"> 150# pat13a7L100" c13ass="line" name="L117"> 13ass>131 13ass>1318        pr
e4 name="L150"> 150# pat13a9L100" c13ass="line" name="L119"> 13ass>131          forma_se  13ass>132s    }ef="scripts/kernel-doc#L171" i1321L100" c13ass="line" name="L21">  13ass>132  13sss>132 e.g.rl formatstructyasntextef="scripts/kernel-doc#L16" id13a3L100" c13ass="line" name="L23">  13ass>1323e.g.sub  forma_struct&text(5-_\w)href="scripts/kernel-doc#L121" i1324L100" c13ass="line" name="L24">  13ass>1324e.g.    " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1325L100" c13ass="line" name="L25">  13ass>1325        " n($ter' href="scripts/kernel-doc#L181" i13a6L100" c13ass="line" name="L26">  13ass>132
  13ass>1327        pr
e4 name="L150"> 150# pat13a8L100" c13ass="line" name="L28">  13ass>1328        pr
e4 name="L150"> 150# pat13a9L100" c13ass="line" name="L29">  13ass>1329e.g.    
 13ass>1330 */
        if ($ter'  a~ /^#/)href="scripts/kernel-doc#L121" i13a1L100" c13ass="line" name="L131"> 13ass>1331                pr
e4 name="L150"> 150# pat13a2L100" c13ass="line" name="L132"> 13ass>133 e.g.            nexoref="scripts/kernel-doc#L181" i1333L100" c13sss="line" name="L23">  13sss>13a3e.g.        }ef="scripts/kernel-doc#L171" i13a4L100" c13ass="line" name="L134"> 13ass>133 13ass>1335e.g.        " nater' _L144 a ater' e="L100"> 300 13ass>1336            nter' _L144 a~ s/ [.*//e="L100"> 300 13ass>133 13ass>1338            ($args{
 13ass>133             nf mu a aargs{
 300 13ass>1340 */
        if ($f mu a~ m/([^\(]*\(\*);s*\);s*\(([^\)]*);#/)href="scripts/kernel-doc#L121" i1341L100" c13ass="line" name="L141"> 13ass>1341                # pouptsr-to-
n
 13ass>134 e.g.            pr
e4 name="L150"> 150# pat1343L100" c13ass="line" name="L143"> 13ass>1343e.g.        } elsif ($f mu a~ m/^(.*?);s*(:.*#/)href="scripts/kernel-doc#L121" i1344L100" c13ass="line" name="L144"> 13ass>134  */
            # bitfieldef="scripts/kernel-doc#L121" i13a5L100" c13ass="line" name="L145"> 13ass>134 etc.            pr
e4 name="L150"> 150# pat1346L100" c13ass="line" name="L146"> 13ass>134  * D        } elshhref="scripts/kernel-doc#L121" i1347L100" c13ass="line" name="L147"> 13ass>134                 pr
e4 name="L150"> 150# pat1348L100" c13ass="line" name="L148"> 13ass>1348            }ef="scripts/kernel-doc#L171" i1349L100" c13ass="line" name="L149"> 13ass>1349        }ef="scripts/kernel-doc#L171" i135"L100" c13ass="line" name="L150"> 13ass>1350        pr
e4 name="L150"> 150# pat13a1L100" c13ass="line" name="L151"> 13ass>135 13ass>135 e.g.    pr
e4 name="L150"> 150# pat1353L100" c13ass="line" name="L153"> 13ass>1353e.g.    
 13ass>135  */
        ($ter'  a~ /^#/)h&& nexoref="scripts/kernel-doc#L181" i13a5L100" c13ass="line" name="L155"> 13ass>135 13ass>135  * D        " nater' _L144 a ater' e="L100"> 300 13ass>135             nter' _L144 a~ s/ [.*//e="L100"> 300 13ass>135 13ass>1359            ($args{
 13ass>13ase.g.        pr
e4 name="L150"> 150# pat1361L100" c13ass="line" name="L161"> 13ass>1361            pr
e4 name="L150"> 150# pat1362L100" c13ass="line" name="L162"> 13ass>136 .n$ter&#}ef="scripts/kernel-doc#L171" i1363L100" c13ass="line" name="L163"> 13ass>1363        pr
e4 name="L150"> 150# pat1364L100" c13ass="line" name="L164"> 13ass>1364e.g.     forma_se 13ass>1365    }ef="scripts/kernel-doc#L171" i1366L100" c13ass="line" name="L166"> 13ass>136
 13ass>136     sub  forma_blockhead&text(5-_\w)href="scripts/kernel-doc#L121" i1368L100" c13ass="line" name="L168"> 13ass>1368e.g.    " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i13a9L100" c13ass="line" name="L169"> 13ass>13a         " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i137"L100" c13ass="line" name="L170"> 13ass>137 13ass>1371 */
    
 13ass>1372e.g.        pr
e4 name="L150"> 150# pat13a3L100" c13ass="line" name="L173"> 13ass>1373e.g.        pr
e4 name="L150"> 150# pat13a4L100" c13ass="line" name="L174"> 13ass>137  */
         forma_ghts_html($args{
 13ass>1375e.g.    }ef="scripts/kernel-doc#L171" i1376L100" c13ass="line" name="L176"> 13ass>1376    }ef="scripts/kernel-doc#L171" i1377L100" c13sss="line" name="L27">  13sss>137 13ass>137     ## f &# model format
n
 13ass>137     ="L100"> 300 13ass>138     sub  forma_
n
 13ass>1381        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1382L100" c13ass="line" name="L821"> 13ass>13a e.g.">e4 name="L150"> 150# pat1383L100" c13ass="line" name="L83">  13ass>1383        pr
e4 name="L150"> 150# pat1384L100" c13ass="line" name="L84">  13ass>1384e.g.}ef="scripts/kernel-doc#L171" i13a5L100" c13ass="line" name="L85">  13ass>138  13ass>1386    rl formatenumyinnf &#ef="scripts/kernel-doc#L16" id1387L100" c13ass="line" name="L87">  13ass>138     sub  forma_enum&f &#(5-_\w)href="scripts/kernel-doc#L121" i1388L100" c13sss="line" name="L18">  13sss>1388e.g.    " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1389L100" c13ass="line" name="L89">  13ass>1389        pr
e4 name="L150"> 150# pat139"L100" c13ass="line" name="L90">  13ass>139s    }ef="scripts/kernel-doc#L171" i1391L100" c13ass="line" name="L91">  13ass>139  13ass>139 e.g.rl formatf mudefyinnf &#ef="scripts/kernel-doc#L16" id1393L100" c13ass="line" name="L93">  13ass>1393e.g.sub  forma_f mudef&f &#(5-_\w)href="scripts/kernel-doc#L121" i1394L100" c13ass="line" name="L94">  13ass>1394e.g.    " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i13a5L100" c13ass="line" name="L95">  13ass>1395        pr
e4 name="L150"> 150# pat1396L100" c13ass="line" name="L96">  13ass>1396    }ef="scripts/kernel-doc#L171" i1397L100" c13ass="line" name="L97">  13ass>139  13ass>1398e.g.rl formatstructyasnf &#ef="scripts/kernel-doc#L16" id1399L100" c13sss="line" name="L29">  13sss>1399    sub  forma_struct&f &#(5-_\w)href="scripts/kernel-doc#L121" i14="L100" c14="L1"line" name="L29">  14="L>140         " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i1401L100" c14=ss="line" name="L91">  14=ss>140  14=ss>140 e.g.    pr
e4 name="L150"> 150# pat14=3L100" c14=ss="line" name="L93">  14=ss>1403e.g.}ef="scripts/kernel-doc#L171" i1404L100" c14=ss="line" name="L94">  14=ss>140  14=ss>1405    sub  forma_blockhead&f &#(5-_\w)href="scripts/kernel-doc#L121" i14=6L100" c14=ss="line" name="L96">  14=ss>1406        " n5-_\wargs9;(\$\li{$_[0]}ref="scripts/kernel-doc#L171" i14=7L100" c14=ss="line" name="L97">  14=ss>140         " n($ter' ,nans shouhref="scripts/kernel-doc#L181" i14=8L100" c14=ss="line" name="L98">  14=ss>140  14=ss>1409e.g.    
 14ass>141se.g.        pr
e4 name="L150"> 150# pat1411L100" c14sss="line" name="L31">  14sss>1411        }ef="scripts/kernel-doc#L171" i14a2L100" c14ass="line" name="L112"> 14ass>141 e.g.}ef="scripts/kernel-doc#L171" i14a3L100" c14ass="line" name="L113"> 14ass>141 14ass>1414    ##ef="scripts/kernel-doc#L16" id14a5L100" c14ass="line" name="L115"> 14ass>1415    # genericl format
n
 14ass>1416    rlcalls the generated, variablel forma_t
n
 14ass>141 14ass>1418    sub  forma_de"lirat hr ref="scripts/kernel-doc#L121" i1419L100" c14ass="line" name="L119"> 14ass>141         notstricty- namcrih
  14ass>142         " n$L144 a shiforef="scripts/kernel-doc#L181" i1421L100" c14ass="line" name="L21">  14ass>1421        " na
n
  14sss>1422        " na
n
<9;(\="L18 forma_${
n
e4 name="L150"> 150# pat14a3L100" c14ass="line" name="L23">  14ass>1423        if (($
n
e4 name="L150"> 150# pat14a   # gener13ass="line" name="L28"> 4ass>142  */
        ( $
n
e4 name="L150"> 150# pat14a5L100" c14ass="line" name="L25">  14ass>1425 */
        ( $
n
e4 name="L150"> 150# pat14a6L100" c14ass="line" name="L26">  14ass>1426        ref="scripts/kernel-doc#L121" i14a7L100" c14ass="line" name="L27">  14ass>142             &$
n
<(@_href="scripts/kernel-doc#L181" i14a8L100" c14ass="line" name="L28">  14ass>142             nsee4 name="L150"> 150# pat14a9L100" c14ass="line" name="L29">  14ass>1429        }ef="scripts/kernel-doc#L171" i143"L100" c14ass="line" name="L130"> 14ass>143s    }ef="scripts/kernel-doc#L171" i14a1L100" c14ass="line" name="L131"> 14ass>143 14ass>143 e.g.##ef="scripts/kernel-doc#L16" id1433L100" c14sss="line" name="L23">  14sss>14a3e.g.# genericl format
n
 14ass>143 14ass>1435e.g.    notstricty- namcrih
 14ass>1436        " na
n
<9;(\="L18 forma_blockhead& );
 14ass>14a         &$
n
<(@_href="scripts/kernel-doc#L181" i14a8L100" c14ass="line" name="L138"> 14ass>1438        nsee4 name="L150"> 150# pat14a9L100" c14ass="line" name="L139"> 14ass>143     }ef="scripts/kernel-doc#L171" i144"L100" c14ass="line" name="L140"> 14ass>144 14ass>1441    ##ef="scripts/kernel-doc#L16" id1442L100" c14ass="line" name="L142"> 14ass>144 e.g.rltakus a de"lirat hr (struct, un hr,tenum,tf mudef) andef="scripts/kernel-doc#L16" id1443L100" c14ass="line" name="L143"> 14ass>1443e.g.# invokus the rhtml handler. NOTlcalled 
 14ass>144 14ass>1445e.g.    notstricty- namcrih
 14ass>1446        " n($protof mu,na
ile)9;(@_ref="scripts/kernel-doc#L181" i1447L100" c14ass="line" name="L147"> 14ass>1447        " na
n
<9;(\="L18dump_ );
 14ass>1448        &$
n
<(@_href="scripts/kernel-doc#L181" i1449L100" c14ass="line" name="L149"> 14ass>144     }ef="scripts/kernel-doc#L171" i145"L100" c14ass="line" name="L150"> 14ass>145 14ass>145 14ass>145 e.g.    dump_struct(@_href="scripts/kernel-doc#L181" i1453L100" c14ass="line" name="L153"> 14ass>1453e.g.}ef="scripts/kernel-doc#L171" i1454L100" c14ass="line" name="L154"> 14ass>145 14ass>1455a hrsub dump_struct($$)href="scripts/kernel-doc#L121" i1456L100" c14ass="line" name="L156"> 14ass>1456        " nax a shiforef="scripts/kernel-doc#L181" i1457L100" c14ass="line" name="L157"> 14ass>1457        " na
ile a shiforef="scripts/kernel-doc#L181" i1458L100" c14ass="line" name="L158"> 14ass>1458e.g.    " nanestedref="scripts/kernel-doc#L181" i1459L100" c14ass="line" name="L159"> 14ass>145     ="L100"> 300 14ass>14ase.g.    if ($x a~ /(struct|un hr)\s+(\w+);s*{(.*)}/)href="scripts/kernel-doc#L121" i1461L100" c14ass="line" name="L161"> 14ass>1461            #" nade"l_f mu a a1ref="scripts/kernel-doc#L181" i1462L100" c14ass="line" name="L162"> 14ass>1462 * D        nde"lirat hr_L144 a a2e="L100"> 300 14ass>1463e.g.        " namemberh a a3e="L100"> 300 14ass>146 14ass>1465 */
        # ignore embedded structs  14ass>1466            nmemberh a~ s/({.*})//ge="L100"> 300 14ass>146             nnested a a1ref="scripts/kernel-doc#L181" i1468L100" c14ass="line" name="L168"> 14ass>146 14ass>1469 */
        # ignore memberh marked private:ef="scripts/kernel-doc#L29" id147"L100" c14ass="line" name="L170"> 14ass>1470            nmemberh a~ s/\/\*;s*private:.*?\/\*;s*public:.*?\*\///gosref="scripts/kernel-doc#L181" i1471L100" c14ass="line" name="L171"> 14ass>1471            nmemberh a~ s/\/\*;s*private:.*//gosref="scripts/kernel-doc#L181" i1472L100" c14ass="line" name="L172"> 14ass>1472e.g.        #tstrip comments:ef="scripts/kernel-doc#L181" i1473L100" c14ass="line" name="L173"> 14ass>1473e.g.        nmemberh a~ s/\/\*.*?\*\///gosref="scripts/kernel-doc#L181" i1474L100" c14ass="line" name="L174"> 14ass>147  */
        nnested a~ s/\/\*.*?\*\///gosref="scripts/kernel-doc#L181" i1475L100" c14ass="line" name="L175"> 14ass>1475e.g.        #tstrip kmemcheck_bitfield_{begin,end}.*ref="scripts/kernel-doc#L181" i1476L100" c14ass="line" name="L176"> 14ass>1476            nmemberh a~ s/kmemcheck_bitfield_.*?;//gosref="scripts/kernel-doc#L181" i1477L100" c14sss="line" name="L27">  14sss>14a             #tstrip attributesef="scripts/kernel-doc#L158" i1478L100" c14ass="line" name="L178"> 14ass>1478            nmemberh a~ s/__aligned;s*\(\d+\)//gosref="scripts/kernel-doc#L181" i1479L100" c14ass="line" name="L179"> 14ass>147     ="L100"> 300 14ass>1480            create_ter' f &#(nmemberh,y- nam;- nam,na
ile)ref="scripts/kernel-doc#L181" i1481L100" c14ass="line" name="L181"> 14ass>1481            check_ns shouh(a
ile, nde"lirat hr_L144,(\="L18struct\);
 14ass>14a e.g.">e4 name="L150"> 150# pat1483L100" c14ass="line" name="L83">  14ass>1483e.g.         forma_de"lirat hr(nde"lirat hr_L144,">e4 name="L150"> 150# pat1484L100" c14ass="line" name="L84">  14ass>148  */
                           
e4 name="L150"> 150# pat1485L100" c14ass="line" name="L85">  14ass>148 etc.                           {
e4 name="L150"> 150# pat1486L100" c14ass="line" name="L86">  14ass>148  * D                            
e4 name="L150"> 150# pat1487L100" c14ass="line" name="L87">  14ass>148                                 
e4 name="L150"> 150# pat1488L100" c14sss="line" name="L18">  14sss>148                                 
e4 name="L150"> 150# pat1489L100" c14ass="line" name="L89">  14ass>1489                                
e4 name="L150"> 150# pat149"L100" c14ass="line" name="L90">  14ass>1490                                
e4 name="L150"> 150# pat1491L100" c14ass="line" name="L91">  14ass>1491                                
e4 name="L150"> 150# pat1492L100" c14ass="line" name="L92">  14ass>149 e.g.                            
e4 name="L150"> 150# pat1493L100" c14ass="line" name="L93">  14ass>149 /**
                            
e4 name="L150"> 150# pat1494L100" c14ass="line" name="L94">  14ass>149  */
                           }href="scripts/kernel-doc#L181" i14a5L100" c14ass="line" name="L95">  14ass>1495e.g.    }ef="scripts/kernel-doc#L171" i1496L100" c14ass="line" name="L96">  14ass>149  * D    elshhref="scripts/kernel-doc#L121" i1497L100" c14ass="line" name="L97">  14ass>149             pr
e4 name="L150"> 150# pat1498L100" c14ass="line" name="L98">  14ass>1498e.g.        ++$errorsref="scripts/kernel-doc#L181" i1499L100" c14sss="line" name="L29">  14sss>1499        }ef="scripts/kernel-doc#L171" i15="L100" c15="L1"line" name="L29">  15="L>150s    }ef="scripts/kernel-doc#L171" i1501L100" c15=ss="line" name="L91">  15=ss>150  15=ss>150 e.g.sub dump_enum($$)href="scripts/kernel-doc#L121" i15=3L100" c15=ss="line" name="L93">  15=ss>1503        " nax a shiforef="scripts/kernel-doc#L181" i1504L100" c15=ss="line" name="L94">  15=ss>1504e.g.    " na
ile a shiforef="scripts/kernel-doc#L181" i15=5L100" c15=ss="line" name="L95">  15=ss>150  15=ss>1506        $x a~ s@/\*.*?\*/@@gosr     #tstrip comments.ef="scripts/kernel-doc#L16" id15=7L100" c15=ss="line" name="L97">  15=ss>150         $x a~ s/^#;s*def na\s+.*$//; #tstrip #def na macrohtinsidetenumsef="scripts/kernel-doc#L158" i15=8L100" c15=ss="line" name="L98">  15=ss>150  15=ss>1509e.g.    if ($x a~ /enum\s+(\w+);s*{(.*)}/)href="scripts/kernel-doc#L121" i151"L100" c15ass="line" name="L110"> 15ass>151se.g.        nde"lirat hr_L144 a a1ref="scripts/kernel-doc#L181" i1511L100" c15sss="line" name="L31">  15sss>1511            " namemberh a a2e="L100"> 300 15ass>151 e.g.">e4 name="L150"> 150# pat15a3L100" c15ass="line" name="L113"> 15ass>151 /**
        
 15ass>151  */
            aarg a~ s/^;s*(\w+).*/$1/e="L100"> 300 15ass>151 etc.            push @ter' f &#, aarge="L100"> 300 15ass>151  * D            if (!$ter' ptivh{$arg})href="scripts/kernel-doc#L121" i15a7L100" c15ass="line" name="L117"> 15ass>151                     $ter' ptivh{$arg} a aunptivribede="L100"> 300 15ass>151                     pr
 15ass>1519                         );
e4 name="L150"> 150# pat152"L100" c15ass="line" name="L20">  15ass>1520                }ef="scripts/kernel-doc#L171" i1521L100" c15ass="line" name="L21">  15ass>152  15sss>152 e.g.        }ef="scripts/kernel-doc#L171" i1523L100" c15ass="line" name="L23">  15ass>152 5ass>152  */
         forma_de"lirat hr(nde"lirat hr_L144,">e4 name="L150"> 150# pat15a5L100" c15ass="line" name="L25">  15ass>152 etc.                           
e4 name="L150"> 150# pat15a6L100" c15ass="line" name="L26">  15ass>152  * D                           {
e4 name="L150"> 150# pat15a7L100" c15ass="line" name="L27">  15ass>152                                 
e4 name="L150"> 150# pat15a8L100" c15ass="line" name="L28">  15ass>152                                 
e4 name="L150"> 150# pat15a9L100" c15ass="line" name="L29">  15ass>1529                                
e4 name="L150"> 150# pat153"L100" c15ass="line" name="L130"> 15ass>1530                                
e4 name="L150"> 150# pat15a1L100" c15ass="line" name="L131"> 15ass>1531                                
e4 name="L150"> 150# pat15a2L100" c15ass="line" name="L132"> 15ass>153 e.g.                            
e4 name="L150"> 150# pat15a3L100" c15sss="line" name="L23">  15sss>153 /**
                           }href="scripts/kernel-doc#L181" i153   # gene5ass="line" name="L134"> 15ass>153  */
    }ef="scripts/kernel-doc#L171" i15a5L100" c15ass="line" name="L135"> 15ass>1535e.g.    elshhref="scripts/kernel-doc#L121" i15a6L100" c15ass="line" name="L136"> 15ass>1536e.g.        pr
e4 name="L150"> 150# pat15a7L100" c15ass="line" name="L137"> 15ass>153             ++$errorsref="scripts/kernel-doc#L181" i15a8L100" c15ass="line" name="L138"> 15ass>153         }ef="scripts/kernel-doc#L171" i15a9L100" c15ass="line" name="L139"> 15ass>153     }ef="scripts/kernel-doc#L171" i154"L100" c15ass="line" name="L140"> 15ass>154 15ass>154 15ass>1542        " nax a shiforef="scripts/kernel-doc#L181" i1543L100" c15ass="line" name="L143"> 15ass>1543        " na
ile a shiforef="scripts/kernel-doc#L181" i1544L100" c15ass="line" name="L144"> 15ass>154 15ass>1545e.g.    $x a~ s@/\*.*?\*/@@gosr     #tstrip comments.ef="scripts/kernel-doc#L16" id1546L100" c15ass="line" name="L146"> 15ass>1546        while (($x a~ /\(*.\);s*;$/) || ($x a~ /\[*.\];s*;$/))href="scripts/kernel-doc#L121" i1547L100" c15ass="line" name="L147"> 15ass>154             $x a~ s/\(*.\);s*;$/;/e="L100"> 300 15ass>1548            $x a~ s/\[*.\];s*;$/;/e="L100"> 300 15ass>1549        }ef="scripts/kernel-doc#L171" i155"L100" c15ass="line" name="L150"> 15ass>155 15ass>1551        if ($x a~ /f mudef.*\s+(\w+);s*;/)href="scripts/kernel-doc#L121" i1552L100" c15ass="line" name="L152"> 15ass>1552 * D        nde"lirat hr_L144 a a1ref="scripts/kernel-doc#L181" i1553L100" c15ass="line" name="L153"> 15ass>155 15ass>155  */
         forma_de"lirat hr(nde"lirat hr_L144,">e4 name="L150"> 150# pat15a5L100" c15ass="line" name="L155"> 15ass>155 etc.                           
e4 name="L150"> 150# pat15a6L100" c15ass="line" name="L156"> 15ass>155  * D                           {
e4 name="L150"> 150# pat1557L100" c15ass="line" name="L157"> 15ass>155                                 
e4 name="L150"> 150# pat1558L100" c15ass="line" name="L158"> 15ass>155                                 
e4 name="L150"> 150# pat1559L100" c15ass="line" name="L159"> 15ass>1559                                
e4 name="L150"> 150# pat156"L100" c15ass="line" name="L160"> 15ass>1560                                
e4 name="L150"> 150# pat1561L100" c15ass="line" name="L161"> 15ass>1561                               }href="scripts/kernel-doc#L181" i1562L100" c15ass="line" name="L162"> 15ass>156 .n$ter&#}ef="scripts/kernel-doc#L171" i1563L100" c15ass="line" name="L163"> 15ass>1563e.g.    elshhref="scripts/kernel-doc#L121" i1564L100" c15ass="line" name="L164"> 15ass>1564e.g.        pr
e4 name="L150"> 150# pat15a5L100" c15ass="line" name="L165"> 15ass>1565 */
        ++$errorsref="scripts/kernel-doc#L181" i1566L100" c15ass="line" name="L166"> 15ass>1566        }ef="scripts/kernel-doc#L171" i1567L100" c15ass="line" name="L167"> 15ass>156     }ef="scripts/kernel-doc#L171" i1568L100" c15ass="line" name="L168"> 15ass>156 15ass>1569    sub save_struct&actual($)href="scripts/kernel-doc#L121" i157"L100" c15ass="line" name="L170"> 15ass>157         " n$actual a shiforef="scripts/kernel-doc#L181" i1571L100" c15ass="line" name="L171"> 15ass>157 15ass>1572e.g.    #tstrip all spaces from the actual ter&# so that it looksnf ke hr4 string itemef="scripts/kernel-doc#L172" i1573L100" c15ass="line" name="L173"> 15ass>1573e.g.    $actual a~ s/\s*//ge="L100"> 300 15ass>157  */
    nstruct&actual a astruct&actual . $actual .n150 300 15ass>1575    }ef="scripts/kernel-doc#L171" i1576L100" c15ass="line" name="L176"> 15ass>157
  15sss>157     sub create_ter' f &#(n$$)href="scripts/kernel-doc#L121" i1578L100" c15ass="line" name="L178"> 15ass>1578e.g.    " naargs9;(shiforef="scripts/kernel-doc#L181" i1579L100" c15ass="line" name="L179"> 15ass>157         " n$split9;  a(shiforef="scripts/kernel-doc#L181" i158"L100" c15ass="line" name="L180"> 15ass>158         " n$
ile a shiforef="scripts/kernel-doc#L181" i1581L100" c15ass="line" name="L181"> 15ass>1581        " n$f muref="scripts/kernel-doc#L181" i1582L100" c15ass="line" name="L821"> 15ass>1582        " nater&#ref="scripts/kernel-doc#L181" i1583L100" c15ass="line" name="L83">  15ass>158  15ass>158  */
    # temporarily replace commahtinsidet
n
  15ass>158 etc.    while (aargs9;~ /(\([^\),]+),/)href="scripts/kernel-doc#L121" i1586L100" c15ass="line" name="L86">  15ass>158  * D        aargs9;~ s/(\([^\),]+),/$1#/ge="L100"> 300  15ass>158         }ef="scripts/kernel-doc#L171" i1588L100" c15sss="line" name="L18">  15sss>158  15ass>1589e.g.    
  15ass>1590            #tstrip commentsef="scripts/kernel-doc#L121" i1591L100" c15ass="line" name="L91">  15ass>1591            aarg a~ s/\/\*.*\*\///e="L100"> 300  15ass>1592e.g.        #tstrip leading/trailing spaces="L100"> 300  15ass>159 /**
        aarg a~ s/^;s*//e="L100"> 300  15ass>159  */
        aarg a~ s/\s*$//;="L100"> 300  15ass>1595 */
        aarg a~ s/\s+/ /;="L100"> 300  15ass>159
  15ass>159             if ($arg a~ /^#/)href="scripts/kernel-doc#L121" i1598L100" c15ass="line" name="L98">  15ass>159                 # Treat preprocessor dirs shveyasnahf muless variableljust to 
illef="scripts/kernel-doc#L121" i1599L100" c15sss="line" name="L29">  15sss>1599                # corresponding datahstructures  );
  16="L>1600                rl forma_* subs.ef="scripts/kernel-doc#L16" id1601L100" c16=ss="line" name="L91">  16=ss>1601                push_ter' ($arg,(\="L18\);
  16=ss>160 e.g.        } elsif ($arg a~ m/\(.+\);s*\(/)href="scripts/kernel-doc#L121" i16=3L100" c16=ss="line" name="L93">  16=ss>160 /**
            # pouptsr-to-
n
  16=ss>160  */
            aarg a~ tr/#/,/;="L100"> 300  16=ss>160 etc.            $arg a~ m/[^\(]+\(\*?;s*(\w*);s*\)/;="L100"> 300  16=ss>160  * D            ater&# a a1ref="scripts/kernel-doc#L181" i16=7L100" c16=ss="line" name="L97">  16=ss>160                 nf mu a aargref="scripts/kernel-doc#L181" i16=8L100" c16=ss="line" name="L98">  16=ss>160                 $f mu a~ s/([^\(]+\(\*?);s*ater&#/$1/e="L100"> 300  16=ss>1609                save_struct&actual($ter&#)ref="scripts/kernel-doc#L181" i161"L100" c16ass="line" name="L110"> 16ass>1610                push_ter' ($ter&#, $f mu, n
ile)ref="scripts/kernel-doc#L181" i1611L100" c16sss="line" name="L31">  16sss>1611            } elsif ($arg)href="scripts/kernel-doc#L121" i16a2L100" c16ass="line" name="L112"> 16ass>161 e.g.            aarg a~ s/\s*:;s*/:/ge="L100"> 300 16ass>161 /**
            aarg a~ s/\s*\[/\[/ge="L100"> 300 16ass>161 16ass>161 etc.            " n@args9;(split(  nam\s*,\s*- nam,naarg)e="L100"> 300 16ass>161  * D            if (aargs[0] a~ m/\*/)href="scripts/kernel-doc#L121" i16a7L100" c16ass="line" name="L117"> 16ass>161                     $args[0] a~ s/(\*+);s*/ $1/e="L100"> 300 16ass>161                 }ef="scripts/kernel-doc#L171" i1619L100" c16ass="line" name="L119"> 16ass>161     ="L100"> 300  16ass>1620                " n@first&argref="scripts/kernel-doc#L181" i1621L100" c16ass="line" name="L21">  16ass>1621                if (aargs[0] a~ /^(.*\s+)(.*? [.*\].*)$/)href="scripts/kernel-doc#L121" i1622L100" c16sss="line" name="L22">  16sss>162 e.g.                    shifon@argsref="scripts/kernel-doc#L181" i1623L100" c16ass="line" name="L23">  16ass>162 /**
                    push(@first&arg,(split(  nam\s+- nam,na1))e="L100"> 300 6ass>162  */
                    push(@first&arg,($2)a="L100"> 300  16ass>162 etc.            } elshhref="scripts/kernel-doc#L121" i16a6L100" c16ass="line" name="L26">  16ass>162  * D                    @first&arg9;(split(  nam\s+- nam,nshifon@args)a="L100"> 300  16ass>162                 }ef="scripts/kernel-doc#L171" i16a8L100" c16ass="line" name="L28">  16ass>162  16ass>1629                unshifo(@args, pop @first&arg)a="L100"> 300 16ass>1630                nf mu a joupn150 16ass>163 16ass>163 e.g.            
  16sss>163 /**
                if (ater&# a~ m/^(\*+);s*(.*#/)href="scripts/kernel-doc#L121" i163   # gene6ass="line" name="L134"> 16ass>163  */
                    save_struct&actual($2)a="L100"> 300 16ass>163 etc.                    push_ter' ($2,(\="L18nf mu $1\);
 16ass>163  * D                }ef="scripts/kernel-doc#L171" i16a7L100" c16ass="line" name="L137"> 16ass>163                     elsif ($ter&# a~ m/(.*?):(\d+#/)href="scripts/kernel-doc#L121" i1638L100" c16ass="line" name="L138"> 16ass>163                         if ($f mu ne(\="L18\);
 300 16ass>1639                            save_struct&actual($1)ref="scripts/kernel-doc#L181" i164"L100" c16ass="line" name="L140"> 16ass>1640                            push_ter' ($1,(\="L18nf mu:$2\);
 16ass>1641                        }ef="scripts/kernel-doc#L171" i1642L100" c16ass="line" name="L142"> 16ass>164 e.g.                }ef="scripts/kernel-doc#L171" i1643L100" c16ass="line" name="L143"> 16ass>164 /**
                elshhref="scripts/kernel-doc#L121" i1644L100" c16ass="line" name="L144"> 16ass>164  */
                    save_struct&actual($ter&#)ref="scripts/kernel-doc#L181" i16a5L100" c16ass="line" name="L145"> 16ass>164 etc.                    push_ter' ($ter&#, $f mu, n
ile)ref="scripts/kernel-doc#L181" i1646L100" c16ass="line" name="L146"> 16ass>164  * D                }ef="scripts/kernel-doc#L171" i1647L100" c16ass="line" name="L147"> 16ass>164                 }ef="scripts/kernel-doc#L171" i1648L100" c16ass="line" name="L148"> 16ass>1648            }ef="scripts/kernel-doc#L171" i1649L100" c16ass="line" name="L149"> 16ass>1649        }ef="scripts/kernel-doc#L171" i165"L100" c16ass="line" name="L150"> 16ass>165s    }ef="scripts/kernel-doc#L171" i16a1L100" c16ass="line" name="L151"> 16ass>165 16ass>165 e.g.sub push_ter' ($$$)href="scripts/kernel-doc#L121" i1653L100" c16ass="line" name="L153"> 16ass>1653e.g.        " nater&# a shiforef="scripts/kernel-doc#L181" i1654L100" c16ass="line" name="L154"> 16ass>165  */
        " n$f mu a shiforef="scripts/kernel-doc#L181" i1655L100" c16ass="line" name="L155"> 16ass>165 etc.        " n$
ile a shiforef="scripts/kernel-doc#L181" i16a6L100" c16ass="line" name="L156"> 16ass>165
 16ass>165             if ((aanon_struct&un hr == 1)h&& ($f mu eq(\="L18\);
 16ass>165                 ($ter&# eq(\="L18}\);
 16ass>1659                    return;         # ignore the ending }; from anon.tstruct/un href="scripts/kernel-doc#L121" i166"L100" c16ass="line" name="L160"> 16ass>1660            }ef="scripts/kernel-doc#L171" i1661L100" c16ass="line" name="L161"> 16ass>166 16ass>1662 * D        nanon_struct&un hr = 0;ef="scripts/kernel-doc#L171" i1663L100" c16ass="line" name="L163"> 16ass>1663e.g.        " nater&#_L144 a ater&#ref="scripts/kernel-doc#L181" i1664L100" c16ass="line" name="L164"> 16ass>1664e.g.        ater&#_L144 a~ s/\[.*//e="L100"> 300 16ass>166 16ass>1666            if ($f mu eq(\="L18\);
 16ass>166             ref="scripts/kernel-doc#L121" i1668L100" c16ass="line" name="L168"> 16ass>166                 if (!def nad $ter' ptivh{$ter&#} || $ter' ptivh{$ter&#} eq(\="L18\);
 16ass>1669                    $ter' ptivh{$ter&#} ;(\="L18variablelarguments );
 300 16ass>1670                }ef="scripts/kernel-doc#L171" i1671L100" c16ass="line" name="L171"> 16ass>1671            }ef="scripts/kernel-doc#L171" i1672L100" c16ass="line" name="L172"> 16ass>1672e.g.        elsif ($f mu eq(\="L18\);
 16ass>1673e.g.        ref="scripts/kernel-doc#L121" i1674L100" c16ass="line" name="L174"> 16ass>167  */
            ater&#=\="L18void\);
 300 16ass>167 etc.            $ter' ptivh{void} ;(\="L18nolarguments );
 300 16ass>1676            }ef="scripts/kernel-doc#L171" i1677L100" c16sss="line" name="L27">  16sss>16a             elsif ($f mu eq(\="L18\);
 16ass>1678            # handle unL138d (anonymous) un hrhor struct:ef="scripts/kernel-doc#L181" i1679L100" c16ass="line" name="L179"> 16ass>1679e.g.        ref="scripts/kernel-doc#L121" i168"L100" c16ass="line" name="L180"> 16ass>1680                    nf mu a ater&#ref="scripts/kernel-doc#L181" i1681L100" c16ass="line" name="L181"> 16ass>1681                    ater&# a \);
 16ass>168 e.g.                $ter' ptivh{$ter&#} ;(\="L18anonymous\n5="L180">e4 name="L150"> 150# pat1683L100" c16ass="line" name="L83">  16ass>168 /**
                nanon_struct&un hr = 1ref="scripts/kernel-doc#L181" i1684L100" c16ass="line" name="L84">  16ass>168  */
        }ef="scripts/kernel-doc#L171" i1685L100" c16ass="line" name="L85">  16ass>168  16ass>168  * D        # warn if ter'  has notptivripa href="scripts/kernel-doc#L153" i1687L100" c16ass="line" name="L87">  16ass>168             #t(but ignore ones starting with #tas theselare not ter' s="L100"> 300  16sss>1688            # but inname preprocessor statements)ref="scripts/kernel-doc#L181" i1689L100" c16ass="line" name="L89">  16ass>1689 */
        # also ignore unL138d structs/un hrsref="scripts/kernel-doc#L181" i169"L100" c16ass="line" name="L90">  16ass>1690            if (!$anon_struct&un hr)href="scripts/kernel-doc#L121" i1691L100" c16ass="line" name="L91">  16ass>1691            if (!def nad $ter' ptivh{$ter&#_L144}h&& $ter&#_L144 !~ /^#/)href="scripts/kernel-doc#L121" i1692L100" c16ass="line" name="L92">  16ass>169 e.g.">e4 name="L150"> 150# pat1693L100" c16ass="line" name="L93">  16ass>169 /**
            $ter' ptivh{$ter&#_L144}ha aunptivribede="L100"> 300  16ass>169  16ass>169 etc.            if ((af mu eq(\ nam
n
  16ass>169  * D                pr
  16ass>169                         \="L18 r membery  nam$per&#\$\w+ not  );
  16ass>169                         \="L18ptivribedyinn  nam$de"lirat hr_L144  nam\n5="L180">e4 name="L150"> 150# pat1699L100" c16sss="line" name="L29">  16sss>1699                }ef="scripts/kernel-doc#L171" i17="L100" c17="L1"line" name="L29">  17="L>1700                pr
  17=ss>1701                             \="L18 Notptivripa hr founp 
e4 name="L150"> 150# pat1702L100" c17=ss="line" name="L92">  17=ss>170 e.g.            ++$warningsref="scripts/kernel-doc#L181" i17=3L100" c17=ss="line" name="L93">  17=ss>170 /**
        }ef="scripts/kernel-doc#L171" i17=4L100" c17=ss="line" name="L94">  17=ss>170  */
        }ef="scripts/kernel-doc#L171" i17=5L100" c17=ss="line" name="L95">  17=ss>170  17=ss>170  * D        ater&# a xml_tivape($ter&#)ref="scripts/kernel-doc#L181" i17=7L100" c17=ss="line" name="L97">  17=ss>170     ef="scripts/kernel-doc#L181" i17=8L100" c17=ss="line" name="L98">  17=ss>1708            # strip spaces from $ter&# so that it is hr4 continuous stringef="scripts/kernel-doc#L181" i17=9L100" c17=ss="line" name="L29">  17=ss>1709 */
        # hr @ter' f &#ref="scripts/kernel-doc#L181" i171"L100" c17ass="line" name="L110"> 17ass>1710            #tthis fixus a problem where check_ns shouh() cannot f ndef="scripts/kernel-doc#L16" id1711L100" c17sss="line" name="L31">  17sss>1711            # a per'  f ke \="L18addr[6 + 2]\="L18 becauselit actually appea s="L100"> 300 17ass>1712e.g.        #tas \="L18addr[6\);
 17ass>171 /**
        # but i#- nams bet9;  to ma
e4 name="L150"> 150# pat17a4L100" c17ass="line" name="L114"> 17ass>171  */
        # so just weake< the string compare 
< check_ns shouh() to ignore">e4 name="L150"> 150# pat17a5L100" c17ass="line" name="L115"> 17ass>1715e.g.        #t\="L18[blah\="L18 
< a per'  stringref="scripts/kernel-doc#L181" i1716L100" c17ass="line" name="L116"> 17ass>171  * D        ###$ter&# a~ s/\s*//ge="L100"> 300 17ass>171             push @ter' f &#, ater&#ref="scripts/kernel-doc#L181" i17a8L100" c17ass="line" name="L118"> 17ass>171             $ter' nfors{$ter&#} ;($f muref="scripts/kernel-doc#L181" i1719L100" c17ass="line" name="L119"> 17ass>171     }ef="scripts/kernel-doc#L171" i172"L100" c17ass="line" name="L20">  17ass>172  17ass>172  17sss>172 e.g.        " n($
ile, nde"l_L144,(nde"l_f mu, nse  17ass>1723e.g.        " n@ns ss9;(split \$\w+   nam,nase 7ass>172  */
        " n@prms9;(split \$\w+   nam,naprmscheckref="scripts/kernel-doc#L181" i1725L100" c17ass="line" name="L25">  17ass>172 etc.        " n$errref="scripts/kernel-doc#L181" i1726L100" c17ass="line" name="L26">  17ass>172  * D        " n($px,nasx)ref="scripts/kernel-doc#L181" i17a7L100" c17ass="line" name="L27">  17ass>172             " natrm_clean;          # strip trailing \="L18[array size]\="L18 and/  17ass>172  17ass>1729            
 17ass>1730                    $err = 1ref="scripts/kernel-doc#L181" i17a1L100" c17ass="line" name="L131"> 17ass>1731                    
 17ass>173 e.g.                        atrm_clean a atrms[atx]ref="scripts/kernel-doc#L181" i17a3L100" c17sss="line" name="L23">  17sss>173 /**
                        atrm_clean a~ s/\[.*\]//e="L100"> 300 17ass>173  */
                        atrm_clean a~ s/__attribute__;s*\(\([a-z,_\*;s\(\)]*\)\)//ie="L100"> 300 17ass>173 etc.                        # ignore array size 
< a per'  stringref="scripts/kernel-doc#L181" i17a6L100" c17ass="line" name="L136"> 17ass>173  * D                        # howev; , the original ter&# string may contairef="scripts/kernel-doc#L153" i17a7L100" c17ass="line" name="L137"> 17ass>173                             # spaces, e.g.:  addr[6 + 2]ef="scripts/kernel-doc#L153" i17a8L100" c17ass="line" name="L138"> 17ass>173                             # andtthis appea s 
< @prms9as \="L18addr[6\);
 17ass>1739                            # per'  f &# is split at spacesref="scripts/kernel-doc#L181" i174"L100" c17ass="line" name="L140"> 17ass>1740                            # hence just ignore \="L18[...\);
 17ass>1741                            atrm_clean a~ s/\[.*//e="L100"> 300 17ass>174 e.g.">e4 name="L150"> 150# pat1743L100" c17ass="line" name="L143"> 17ass>174 /**
                        ##atrm_clean a~ s/^\**//e="L100"> 300 17ass>174  */
                        if ($trm_clean eqnase 17ass>174 etc.                                aerr = 0;ef="scripts/kernel-doc#L171" i1746L100" c17ass="line" name="L146"> 17ass>174  * D                                lin18ef="scripts/kernel-doc#L181" i1747L100" c17ass="line" name="L147"> 17ass>174                             }ef="scripts/kernel-doc#L171" i1748L100" c17ass="line" name="L148"> 17ass>174                     }ef="scripts/kernel-doc#L171" i1749L100" c17ass="line" name="L149"> 17ass>1749                    if ($err)href="scripts/kernel-doc#L121" i175"L100" c17ass="line" name="L150"> 17ass>1750                            if ($de"l_f mu eq(\="L18
n
 17ass>1751                                    pr
 17ass>175 e.g.                                         );
 17ass>175 /**
                                         );
 17ass>175  */
                                         );
e4 name="L150"> 150# pat1755L100" c17ass="line" name="L155"> 17ass>175 etc.                                ++$warningsref="scripts/kernel-doc#L181" i17a6L100" c17ass="line" name="L156"> 17ass>175  * D                        } elshhref="scripts/kernel-doc#L121" i1757L100" c17ass="line" name="L157"> 17ass>175                                     if ($nested !~ m/\Q$se 17ass>175                                         pr
 17ass>1759                                             );
 17ass>1760                                             );
 17ass>1761                                             );
e4 name="L150"> 150# pat1762L100" c17ass="line" name="L162"> 17ass>176 e.g.                                    ++$warningsref="scripts/kernel-doc#L181" i1763L100" c17ass="line" name="L163"> 17ass>176 /**
                                }ef="scripts/kernel-doc#L171" i1764L100" c17ass="line" name="L164"> 17ass>176  */
                        }ef="scripts/kernel-doc#L171" i1765L100" c17ass="line" name="L165"> 17ass>176 etc.                }ef="scripts/kernel-doc#L171" i1766L100" c17ass="line" name="L166"> 17ass>1766            }ef="scripts/kernel-doc#L171" i1767L100" c17ass="line" name="L167"> 17ass>176     }ef="scripts/kernel-doc#L171" i1768L100" c17ass="line" name="L168"> 17ass>176 17ass>1769    ##ef="scripts/kernel-doc#L29" id177"L100" c17ass="line" name="L170"> 17ass>1770    # takus a 
n
 17ass>1771    # processed andtspits  fo all the"detailststoredyinnthe"globalef="scripts/kernel-doc#L121" i1772L100" c17ass="line" name="L172"> 17ass>1772e.g.# arrays/hashes.ef="scripts/kernel-doc#L16" id1773L100" c17ass="line" name="L173"> 17ass>1773e.g.sub dump_
n
 17ass>1774e.g.    " naprotof mu a shiforef="scripts/kernel-doc#L181" i1775L100" c17ass="line" name="L175"> 17ass>177 etc.    " n$
ile a shiforef="scripts/kernel-doc#L181" i1776L100" c17ass="line" name="L176"> 17ass>177
  17sss>17a         aprotof mu a~ s/^static +//e="L100"> 300 17ass>1778        aprotof mu a~ s/^ex9; n +//e="L100"> 300 17ass>1779e.g.    aprotof mu a~ s/^asmnamkage +//e="L100"> 300 17ass>1780        aprotof mu a~ s/^inname +//e="L100"> 300 17ass>1781        aprotof mu a~ s/^__inname__ +//e="L100"> 300 17ass>178 e.g.    aprotof mu a~ s/^__inname +//e="L100"> 300  17ass>178 /**
    aprotof mu a~ s/^__always_inname +//e="L100"> 300  17ass>178  */
    aprotof mu a~ s/^noinname +//e="L100"> 300  17ass>178 etc.    aprotof mu a~ s/__dev nia +//e="L100"> 300  17ass>178  * D    aprotof mu a~ s/__ nia +//e="L100"> 300  17ass>178         aprotof mu a~ s/__ nia_or_module +//e="L100"> 300  17sss>1788        aprotof mu a~ s/__must_check +//e="L100"> 300  17ass>1789e.g.    aprotof mu a~ s/__weak +//e="L100"> 300  17ass>1790        aprotof mu a~ s/^#\s*def na\s+//; #ak addedef="scripts/kernel-doc#L16" id1791L100" c17ass="line" name="L91">  17ass>1791        aprotof mu a~ s/__attribute__;s*\(\([a-z,]*\)\)//e="L100"> 300  17ass>179 e.g.">e4 name="L150"> 150# pat1793L100" c17ass="line" name="L93">  17ass>179 /**
    # Yes, this truly is vile.  Welare looking for:ef="scripts/kernel-doc#L181" i1794L100" c17ass="line" name="L94">  17ass>179  */
    # 1. Returnhf mu (may be nothing if w4  namre looking ao a macro)ef="scripts/kernel-doc#L171" i1795L100" c17ass="line" name="L95">  17ass>179 etc.    # 2. Fn
  17ass>179  * D    # 3. Fn
  17ass>179         #ef="scripts/kernel-doc#L29" id1798L100" c17ass="line" name="L98">  17ass>179         # All the"while we have to watchn fo 
 300  17sss>1799        # (whichnIIRC is what the"two ss shouh are 
 300  18="L>1800        # regexps dhr\ namt even start to expresstall the"possibilities), andef="scripts/kernel-doc#L16" id1801L100" c18=ss="line" name="L91">  18=ss>1801        # so on.ef="scripts/kernel-doc#L16" id1802L100" c18=ss="line" name="L92">  18=ss>180 e.g.    #ef="scripts/kernel-doc#L29" id18=3L100" c18=ss="line" name="L93">  18=ss>180 /**
    # If you messtwith theselregexps, i#- nams a goodyidea to check thatef="scripts/kernel-doc#L29" id18=4L100" c18=ss="line" name="L94">  18=ss>180  */
    # the 
  18=ss>180 etc.    # - terport_regis9; _dev cu (
n
  18=ss>1806etc.    # - atomic_set (macro)ef="scripts/kernel-doc#L171" i18=7L100" c18=ss="line" name="L97">  18=ss>180         # - tci_match_dev cu, __copy_to_ussr (long returnhf mu)ef="scripts/kernel-doc#L171" i18=8L100" c18=ss="line" name="L98">  18=ss>180  18=ss>1809 */
    if ($trotof mu a~ m/^()([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id181"L100" c18ass="line" name="L110"> 18ass>1810            $trotof mu a~ m/^(\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id1811L100" c18sss="line" name="L31">  18sss>1811            $trotof mu a~ m/^(\w+;s*\*);s*([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id1812L100" c18ass="line" name="L112"> 18ass>1812e.g.        $trotof mu a~ m/^(\w+;s+\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id1813L100" c18ass="line" name="L113"> 18ass>181 /**
        $trotof mu a~ m/^(\w+;s+\w+;s*\*+);s*([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id1814L100" c18ass="line" name="L114"> 18ass>1814/**
        $trotof mu a~ m/^(\w+;s+\w+;s+\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id1815L100" c18ass="line" name="L115"> 18ass>1815e.g.        $trotof mu a~ m/^(\w+;s+\w+;s+\w+;s*\*);s*([a-zA-Z0-9_~:]+);s*\(([^\(]*)\)/ ||ef="scripts/kernel-doc#L29" id1816L100" c18ass="line" name="L116"> 18ass>1816e.g.        $trotof mu a~ m/^()([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1817L100" c18ass="line" name="L117"> 18ass>181             $trotof mu a~ m/^(\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1818L100" c18ass="line" name="L118"> 18ass>181             $trotof mu a~ m/^(\w+;s*\*);s*([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1819L100" c18ass="line" name="L119"> 18ass>1819e.g.        $trotof mu a~ m/^(\w+;s+\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id182"L100" c18ass="line" name="L20">  18ass>1820            $trotof mu a~ m/^(\w+;s+\w+;s*\*);s*([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1821L100" c18ass="line" name="L21">  18ass>1821            $trotof mu a~ m/^(\w+;s+\w+;s+\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1822L100" c18sss="line" name="L22">  18sss>1822e.g.        $trotof mu a~ m/^(\w+;s+\w+;s+\w+;s*\*);s*([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1823L100" c18ass="line" name="L23">  18ass>182 /**
        $trotof mu a~ m/^(\w+;s+\w+;s+\w+;s+\w+);s+([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1824L100" c1813ass="line" name="L28"> 8ass>1824/**
        $trotof mu a~ m/^(\w+;s+\w+;s+\w+;s+\w+;s*\*);s*([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/ ||ef="scripts/kernel-doc#L29" id1825L100" c18ass="line" name="L25">  18ass>1825e.g.        $trotof mu a~ m/^(\w+;s+\w+;s*\*\s*\w+;s*\*\s*);s*([a-zA-Z0-9_~:]+);s*\(([^\{]*)\)/)  ref="scripts/kernel-doc#L121" i1826L100" c18ass="line" name="L26">  18ass>182  * D        $return_f mu a a1ref="scripts/kernel-doc#L181" i18a7L100" c18ass="line" name="L27">  18ass>182             $de"lirat hr_L144 a a2ref="scripts/kernel-doc#L181" i18a8L100" c18ass="line" name="L28">  18ass>182             " naargs9;($3ref="scripts/kernel-doc#L181" i18a9L100" c18ass="line" name="L29">  18ass>182     ="L100"> 300 18ass>1830            create_ter' f &#(nargs,   nam,  nam,na
ile)ref="scripts/kernel-doc#L181" i18a1L100" c18ass="line" name="L131"> 18ass>1831        } elshhref="scripts/kernel-doc#L121" i1832L100" c18ass="line" name="L132"> 18ass>183 e.g.        pr
e4 name="L150"> 150# pat18a3L100" c18sss="line" name="L23">  18sss>183 /**
        ++$errorsref="scripts/kernel-doc#L181" i183   # gene8ass="line" name="L134"> 18ass>183  */
        return;ef="scripts/kernel-doc#L181" i1835L100" c18ass="line" name="L135"> 18ass>183 etc.    }ef="scripts/kernel-doc#L171" i18a6L100" c18ass="line" name="L136"> 18ass>183
 18ass>183             " natrms a joupn150 18ass>183             check_ns shouh(a
ile, nde"lirat hr_L144,(\="L18
n
 18ass>183     ="L100"> 300 18ass>1840         forma_de"lirat hr(nde"lirat hr_L144,="L100"> 300 18ass>1841                           \ nam
n
 300 18ass>184 e.g.                       {\ nam
n
 300 18ass>184 /**
                        \ nammodule\ nam =&g/a nmoduleL144,="L100"> 300 18ass>184  */
                        \ nam
n
 300 18ass>184 etc.                          namter' f &#  nam =&g/a \@ter' f &#,="L100"> 300 18ass>184  * D                          namter' ptivh  nam =&g/a \  n7mter' ptivh,="L100"> 300 18ass>184                               namter' f mus  nam =&g/a \  n7mter' f mus,="L100"> 300 18ass>184                               namns shouf &#  nam =&g/a \@ns shouf &#,="L100"> 300 18ass>1849                              namns shous  nam =&g/a \  n7mns shous,="L100"> 300 18ass>1850                              namturpose\ nam =&g/a nde"lirat hr_turpose="L100"> 300 18ass>1851                           })ref="scripts/kernel-doc#L181" i1852L100" c18ass="line" name="L152"> 18ass>185 e.g.}ef="scripts/kernel-doc#L171" i1853L100" c18ass="line" name="L153"> 18ass>185 /**
ef="scripts/kernel-doc#L171" i185   # gene8ass="line" name="L154"> 18ass>185  */
sub reset_statehref="scripts/kernel-doc#L121" i1855L100" c18ass="line" name="L155"> 18ass>185 etc.    $
n
 18ass>185  * D      n7mcoustanss9;(()ref="scripts/kernel-doc#L181" i1857L100" c18ass="line" name="L157"> 18ass>185           n7mter' ptivh9;(()ref="scripts/kernel-doc#L181" i1858L100" c18ass="line" name="L158"> 18ass>185           n7mter' f mus9;(()ref="scripts/kernel-doc#L181" i1859L100" c18ass="line" name="L159"> 18ass>1859        @ter' f 	(()ref="scripts/kernel-doc#L181" i186"L100" c18ass="line" name="L160"> 18ass>1860          n7mns shous9;(()ref="scripts/kernel-doc#L181" i1861L100" c18ass="line" name="L161"> 18ass>1861        @ns shouf 	(()ref="scripts/kernel-doc#L181" i1862L100" c18ass="line" name="L162"> 18ass>186 e.g.    nse 18ass>186 /**
    $struct&actual =(\="L18\);
 18ass>186  */
    aprotof mu a(\="L18\);
 18ass>186 18ass>1866        $stateh= 0;ef="scripts/kernel-doc#L171" i1867L100" c18ass="line" name="L167"> 18ass>186     }ef="scripts/kernel-doc#L171" i1868L100" c18ass="line" name="L168"> 18ass>186 18ass>1869    sub tracepoupt_munge($)href="scripts/kernel-doc#L121" i187"L100" c18ass="line" name="L170"> 18ass>1870            " n$
ile a shiforef="scripts/kernel-doc#L181" i1871L100" c18ass="line" name="L171"> 18ass>1871            " n$fracepouptL144 a 0;ef="scripts/kernel-doc#L171" i1872L100" c18ass="line" name="L172"> 18ass>187 e.g.        " n$fracepouptargs9;(0;ef="scripts/kernel-doc#L171" i1873L100" c18ass="line" name="L173"> 18ass>187 /**
ef="scripts/kernel-doc#L171" i1874L100" c18ass="line" name="L174"> 18ass>187  */
        if ($trotof mu a~ m/TRACE_EVENT\((.*?),/)href="scripts/kernel-doc#L121" i1875L100" c18ass="line" name="L175"> 18ass>187 etc.                $fracepouptL144 a a1ref="scripts/kernel-doc#L181" i1876L100" c18ass="line" name="L176"> 18ass>1876            }ef="scripts/kernel-doc#L171" i1877L100" c18sss="line" name="L27">  18sss>187             if ($trotof mu a~ m/DEFINE_SINGLE_EVENT\((.*?),/)href="scripts/kernel-doc#L121" i1878L100" c18ass="line" name="L178"> 18ass>187                     $fracepouptL144 a a1ref="scripts/kernel-doc#L181" i1879L100" c18ass="line" name="L179"> 18ass>1879e.g.        }ef="scripts/kernel-doc#L171" i188"L100" c18ass="line" name="L180"> 18ass>1880            if ($trotof mu a~ m/DEFINE_EVENT\((.*?),(.*?),/)href="scripts/kernel-doc#L121" i1881L100" c18ass="line" name="L181"> 18ass>1881                    afracepouptL144 a a2ref="scripts/kernel-doc#L181" i1882L100" c18ass="line" name="L821"> 18ass>188 e.g.        }ef="scripts/kernel-doc#L171" i1883L100" c18ass="line" name="L83">  18ass>188 /**
        afracepouptL144 a~ s/^\s+//; #strip leading whitespaceef="scripts/kernel-doc#L171" i1884L100" c18ass="line" name="L84">  18ass>188  */
        if ($trotof mu a~ m/TP_PROTO\((.*?)\#/)href="scripts/kernel-doc#L121" i1885L100" c18ass="line" name="L85">  18ass>188 etc.                $fracepouptargs9;($1ref="scripts/kernel-doc#L181" i1886L100" c18ass="line" name="L86">  18ass>1886            }ef="scripts/kernel-doc#L171" i1887L100" c18ass="line" name="L87">  18ass>188             if ((afracepouptL144 eq 0) || ($fracepouptargs9eq 0))href="scripts/kernel-doc#L121" i1888L100" c18sss="line" name="L18">  18sss>188                     pr
  18ass>1889                                 \="L18ntrotof mu\n5="L180">e4 name="L150"> 150# pat189"L100" c18ass="line" name="L90">  18ass>1890            } elshhref="scripts/kernel-doc#L121" i1891L100" c18ass="line" name="L91">  18ass>1891                    atrotof mu a(\="L18static inname void trace_afracepouptL144($fracepouptargs)5="L180">e4 name="L150"> 150# pat1892L100" c18ass="line" name="L92">  18ass>189 e.g.        }ef="scripts/kernel-doc#L171" i1893L100" c18ass="line" name="L93">  18ass>189 /**
}ef="scripts/kernel-doc#L171" i1894L100" c18ass="line" name="L94">  18ass>189  18ass>189 etc.sub syscall_munge()href="scripts/kernel-doc#L121" i1896L100" c18ass="line" name="L96">  18ass>189  * D        " n$void ;(0;ef="scripts/kernel-doc#L171" i1897L100" c18ass="line" name="L97">  18ass>189     ef="scripts/kernel-doc#L181" i1898L100" c18ass="line" name="L98">  18ass>189             $trotof mu a~ s@[\r\n\t]+@ @gos; # strip newnames/CR  namn/tabs="L100"> 300  18sss>1899    ##      if ($trotof mu a~ m/SYSCALL_DEFINE0;s*\(\s*(a-zA-Z0-9_)*\s*\#/)href="scripts/kernel-doc#L121" i19="L100" c19="L1"line" name="L29">  19="L>1900            if ($trotof mu a~ m/SYSCALL_DEFINE0/)href="scripts/kernel-doc#L121" i19=1L100" c19=ss="line" name="L91">  19=ss>1901                    $void ;(1ref="scripts/kernel-doc#L181" i1902L100" c19=ss="line" name="L92">  19=ss>190 e.g.##              atrotof mu a(\="L18long sys_$1(void)5="L180">e4 name="L150"> 150# pat19=3L100" c19=ss="line" name="L93">  19=ss>190 /**
        }ef="scripts/kernel-doc#L171" i19=4L100" c19=ss="line" name="L94">  19=ss>190  19=ss>1905e.g.        $trotof mu a~ s/SYSCALL_DEFINE.*\(/long sys_/; # fix returnhf muh& fn
< L95"ef="scripts/kernel-doc#L171" i19=6L100" c19=ss="line" name="L96">  19=ss>1906            if ($trotof mu a~ m/long (sys_.*?),/)href="scripts/kernel-doc#L121" i19=7L100" c19=ss="line" name="L97">  19=ss>190                     $trotof mu a~ s/,/\(/0">e4 name="L150"> 150# pat19=8L100" c19=ss="line" name="L98">  19=ss>1908            } elsif ($void)href="scripts/kernel-doc#L121" i19=9L100" c19=ss="line" name="L29">  19=ss>1909                    $trotof mu a~ s/\#/\(void\#/0">e4 name="L150"> 150# pat191"L100" c19ass="line" name="L110"> 19ass>1910            }ef="scripts/kernel-doc#L171" i1911L100" c19sss="line" name="L31">  19sss>191 19ass>1912e.g.        #tnow deletetall oftthe"odd-numberycommas 
< $trotof muef="scripts/kernel-doc#L172" i1913L100" c19ass="line" name="L113"> 19ass>191 /**
        # so that arghf mus & arghL113s dhr\ namt have aycomma betwee< themef="scripts/kernel-doc#L172" i1914L100" c19ass="line" name="L114"> 19ass>191  */
        " n$count ;(0;ef="scripts/kernel-doc#L171" i1915L100" c19ass="line" name="L115"> 19ass>191 etc.        " n$ler =(lergth($trotof mu)ref="scripts/kernel-doc#L181" i1916L100" c19ass="line" name="L116"> 19ass>1916            if ($void)href="scripts/kernel-doc#L121" i1917L100" c19ass="line" name="L117"> 19ass>191                     $ler =(0;       # skip the 
 19ass>191             }ef="scripts/kernel-doc#L171" i1919L100" c19ass="line" name="L119"> 19ass>1919            
  19ass>1920                    if (substr($trotof mu, $ix, 1)heq(\ nam,\ nam) ref="scripts/kernel-doc#L121" i1921L100" c19ass="line" name="L21">  19ass>1921                            acount++ref="scripts/kernel-doc#L181" i1922L100" c19sss="line" name="L22">  19sss>192 e.g.                        if ($count   n7m 2 == 1)href="scripts/kernel-doc#L121" i1923L100" c19ass="line" name="L23">  19ass>192 /**
                                substr($trotof mu, $ix, 1)h= \$\w+   namref="scripts/kernel-doc#L181" i1924L100" c1913ass="line" name="L28"> 9ass>192  */
                        }ef="scripts/kernel-doc#L171" i1925L100" c19ass="line" name="L25">  19ass>192 etc.                }ef="scripts/kernel-doc#L171" i1926L100" c19ass="line" name="L26">  19ass>1926            }ef="scripts/kernel-doc#L171" i19a7L100" c19ass="line" name="L27">  19ass>192     }ef="scripts/kernel-doc#L171" i19a8L100" c19ass="line" name="L28">  19ass>192  19ass>1929    sub process_state3_
n
 19ass>1930        " n$x a shiforef="scripts/kernel-doc#L181" i19a1L100" c19ass="line" name="L131"> 19ass>1931        " n$
ile a shiforef="scripts/kernel-doc#L181" i1932L100" c19ass="line" name="L132"> 19ass>193 e.g.">e4 name="L150"> 150# pat19a3L100" c19sss="line" name="L23">  19sss>193 /**
    $x a~ s@\/\/.*$@@gos; # strip C99-styleycomments to end oftname">e4 name="L150"> 150# pat19a4L100" c19ass="line" name="L134"> 19ass>193 19ass>193 etc.    if ($x a~ m#\s*/\*\s+MACDOC\s*#io || ($x a~ /^#/h&& $x !~ /^#\s*def na/))href="scripts/kernel-doc#L121" i19a6L100" c19ass="line" name="L136"> 19ass>193  * D        # do nothingef="scripts/kernel-doc#L121" i19a7L100" c19ass="line" name="L137"> 19ass>193         }ef="scripts/kernel-doc#L171" i19a8L100" c19ass="line" name="L138"> 19ass>193         elsif ($x a~ /([^\{]*)/)href="scripts/kernel-doc#L121" i19a9L100" c19ass="line" name="L139"> 19ass>1939e.g.        $trotof mu .;($1ref="scripts/kernel-doc#L181" i194"L100" c19ass="line" name="L140"> 19ass>1940        }ef="scripts/kernel-doc#L171" i1941L100" c19ass="line" name="L141"> 19ass>194 19ass>194 e.g.    if ((ax a~ /\{/) || ($x a~ /\#\s*def na/) || ($x a~ /;/))href="scripts/kernel-doc#L121" i1943L100" c19ass="line" name="L143"> 19ass>194 /**
        $trotof mu a~ s@/\*.*?\*/@@gos; # strip comments.ef="scripts/kernel-doc#L16" id194   # gene9ass="line" name="L144"> 19ass>1944/**
        $trotof mu a~ s@[\r\n]+@ @gos; # strip newnames/cr  namn.ef="scripts/kernel-doc#L16" id1945L100" c19ass="line" name="L145"> 19ass>1945e.g.        $trotof mu a~ s@^\s+@@gos; # strip leading spacesef="scripts/kernel-doc#L16" id1946L100" c19ass="line" name="L146"> 19ass>1946            if ($trotof mu a~ /SYSCALL_DEFINE/)href="scripts/kernel-doc#L121" i1947L100" c19ass="line" name="L147"> 19ass>194                     syscall_munge()ref="scripts/kernel-doc#L181" i1948L100" c19ass="line" name="L148"> 19ass>194             }ef="scripts/kernel-doc#L171" i1949L100" c19ass="line" name="L149"> 19ass>1949            if ($trotof mu a~ /TRACE_EVENT/ || $trotof mu a~ /DEFINE_EVENT/ ||ef="scripts/kernel-doc#L29" id195"L100" c19ass="line" name="L150"> 19ass>1950                $trotof mu a~ /DEFINE_SINGLE_EVENT/)ef="scripts/kernel-doc#L171" i1951L100" c19ass="line" name="L151"> 19ass>1951            ref="scripts/kernel-doc#L121" i1952L100" c19ass="line" name="L152"> 19ass>195 e.g.                tracepoupt_munge($
ile)ref="scripts/kernel-doc#L181" i1953L100" c19ass="line" name="L153"> 19ass>195 /**
        }ef="scripts/kernel-doc#L171" i195   # gene9ass="line" name="L154"> 19ass>195  */
        dump_
n
 19ass>195 etc.        reset_state()ref="scripts/kernel-doc#L181" i1956L100" c19ass="line" name="L156"> 19ass>195  * D    }ef="scripts/kernel-doc#L171" i1957L100" c19ass="line" name="L157"> 19ass>195     }ef="scripts/kernel-doc#L171" i1958L100" c19ass="line" name="L158"> 19ass>195 19ass>1959    sub process_state3_f mu($$)href="scripts/kernel-doc#L121" i196"L100" c19ass="line" name="L160"> 19ass>1960        " n$x a shiforef="scripts/kernel-doc#L181" i1961L100" c19ass="line" name="L161"> 19ass>1961        " n$
ile a shiforef="scripts/kernel-doc#L181" i1962L100" c19ass="line" name="L162"> 19ass>196 e.g.">e4 name="L150"> 150# pat1963L100" c19ass="line" name="L163"> 19ass>196 /**
    $x a~ s@[\r\n]+@ @gos; # strip newnames/cr  namn.ef="scripts/kernel-doc#L16" id196   # gene9ass="line" name="L164"> 19ass>196  */
    ax a~ s@^\s+@@gos; # strip leading spacesef="scripts/kernel-doc#L16" id1965L100" c19ass="line" name="L165"> 19ass>196 etc.    $x a~ s@\s+$@@gos; # strip trailing spacesef="scripts/kernel-doc#L16" id1966L100" c19ass="line" name="L166"> 19ass>1966        $x a~ s@\/\/.*$@@gos; # strip C99-styleycomments to end oftname">e4 name="L150"> 150# pat1967L100" c19ass="line" name="L167"> 19ass>196     ef="scripts/kernel-doc#L181" i1968L100" c19ass="line" name="L168"> 19ass>1968e.g.    if ($x a~ /^#/)href="scripts/kernel-doc#L121" i1969L100" c19ass="line" name="L169"> 19ass>1969 */
        # To distinguish preprocessor dirs shve from regular de"lirat hr later.ef="scripts/kernel-doc#L16" id197"L100" c19ass="line" name="L170"> 19ass>1970            $x .a(\="L188\);
 19ass>1971        }ef="scripts/kernel-doc#L171" i1972L100" c19ass="line" name="L172"> 19ass>197 e.g.">e4 name="L150"> 150# pat1973L100" c19ass="line" name="L173"> 19ass>197 /**
    while (1)href="scripts/kernel-doc#L121" i1974L100" c19ass="line" name="L174"> 19ass>197  */
        if ( $x a~ /([^{};]*)([{};])(.*)/ )href="scripts/kernel-doc#L121" i1975L100" c19ass="line" name="L175"> 19ass>197 etc.            $trotof mu .;($1 . a2ref="scripts/kernel-doc#L181" i1976L100" c19ass="line" name="L176"> 19ass>197  * D            ($2heq(\ nam{\ nam) && $brcount++ref="scripts/kernel-doc#L181" i1977L100" c19sss="line" name="L27">  19sss>197                 ($2heq(\ nam}\ nam) && $brcount--ref="scripts/kernel-doc#L181" i1978L100" c19ass="line" name="L178"> 19ass>197                 if ((a2heq(\ nam;\ nam) && ($brcount == 0))href="scripts/kernel-doc#L121" i1979L100" c19ass="line" name="L179"> 19ass>1979                    dump_de"lirat hr(ntrotof mu, $
ile)ref="scripts/kernel-doc#L181" i198"L100" c19ass="line" name="L180"> 19ass>1980                    reset_state()ref="scripts/kernel-doc#L181" i1981L100" c19ass="line" name="L181"> 19ass>1981                    lin18ef="scripts/kernel-doc#L181" i1982L100" c19ass="line" name="L821"> 19ass>198 e.g.            }ef="scripts/kernel-doc#L171" i1983L100" c19ass="line" name="L83">  19ass>198 /**
            $x a $3ref="scripts/kernel-doc#L181" i1984L100" c19ass="line" name="L84">  19ass>198  */
        } elshhref="scripts/kernel-doc#L121" i1985L100" c19ass="line" name="L85">  19ass>198 etc.            $trotof mu .;($xref="scripts/kernel-doc#L181" i1986L100" c19ass="line" name="L86">  19ass>198  * D            lin18ef="scripts/kernel-doc#L181" i1987L100" c19ass="line" name="L87">  19ass>198             }ef="scripts/kernel-doc#L171" i1988L100" c19sss="line" name="L18">  19sss>198         }ef="scripts/kernel-doc#L171" i1989L100" c19ass="line" name="L89">  19ass>198     }ef="scripts/kernel-doc#L171" i199"L100" c19ass="line" name="L90">  19ass>199  19ass>1991    # xml_escamu: replace &l/a, &g/a, and & innthe"text stream8ef="scripts/kernel-doc#L181" i1992L100" c19ass="line" name="L92">  19ass>199 e.g.#ef="scripts/kernel-doc#L29" id1993L100" c19ass="line" name="L93">  19ass>199 /**
# howev; , 
  19ass>199  19ass>199 etc.# $blankname_html (4 oft  nam\\$\w+ 
  19ass>199  * D# are conv; tedyto their mnemonic-exps sedy forma,twith fo the"4 *t  nam\\$\w+ &   nam:\ nam,="L100"> 300  19ass>199     # just before actual  forma; (this is done by local_unescamu())ef="scripts/kernel-doc#L171" i1998L100" c19ass="line" name="L98">  19ass>199     sub xml_escamu($)href="scripts/kernel-doc#L121" i1999L100" c19sss="line" name="L29">  19sss>1999            " n$fext a shiforef="scripts/kernel-doc#L181" i20="L100" c20="L1"line" name="L29">  20="L>20="            if ((a forma_modu eq(\="L18fext\);
  20=ss>20=1                    returnh$fextref="scripts/kernel-doc#L181" i20=2L100" c20=ss="line" name="L92">  20=ss>20= e.g.        }ef="scripts/kernel-doc#L171" i20=3L100" c20=ss="line" name="L93">  20=ss>20= /**
        afext a~ s/\&/\\\\\\amp;/gref="scripts/kernel-doc#L181" i20=4L100" c20=ss="line" name="L94">  20=ss>20=4/**
        afext a~ s/\&l/a/\\\\\\l/a/gref="scripts/kernel-doc#L181" i20=5L100" c20=ss="line" name="L95">  20=ss>20=5/**
        afext a~ s/\&g/a/\\\\\\g/a/gref="scripts/kernel-doc#L181" i20=6L100" c20=ss="line" name="L96">  20=ss>20=  * D        returnh$fextref="scripts/kernel-doc#L181" i20=7L100" c20=ss="line" name="L97">  20=ss>20=     }ef="scripts/kernel-doc#L171" i20=8L100" c20=ss="line" name="L98">  20=ss>20=  20=ss>20=9    # conv; t local escamulstringsyto htmlef="scripts/kernel-doc#L29" id201"L100" c20ass="line" name="L110"> 20ass>20as    # local escamulstringsylooktnake:    nam\\\\menmonic:\ nam (tha#- nams 4 backslashes)ef="scripts/kernel-doc#L171" i20a1L100" c20sss="line" name="L31">  20sss>20a1    sub local_unescamu($)href="scripts/kernel-doc#L121" i20a2L100" c20ass="line" name="L112"> 20ass>20a e.g.        " n$fext a shiforef="scripts/kernel-doc#L181" i2013L100" c20ass="line" name="L113"> 20ass>20a3            if ((a forma_modu eq(\="L18fext\);
 20ass>20a  */
                returnh$fextref="scripts/kernel-doc#L181" i2015L100" c20ass="line" name="L115"> 20ass>20a5e.g.        }ef="scripts/kernel-doc#L171" i2016L100" c20ass="line" name="L116"> 20ass>20a6/**
        afext a~ s/\\\\\\\\l/:/&l/a/gref="scripts/kernel-doc#L181" i2017L100" c20ass="line" name="L117"> 20ass>20a7/**
        afext a~ s/\\\\\\\\g/:/&g/a/gref="scripts/kernel-doc#L181" i2018L100" c20ass="line" name="L118"> 20ass>20a8 * D        returnh$fextref="scripts/kernel-doc#L181" i2019L100" c20ass="line" name="L119"> 20ass>20a     }ef="scripts/kernel-doc#L171" i202"L100" c20ass="line" name="L20">  20ass>20asa href="scripts/kernel-doc#L29" id2021L100" c20ass="line" name="L21">  20ass>20a1    sub process_
ile($)href="scripts/kernel-doc#L121" i2022L100" c20sss="line" name="L22">  20sss>20a e.g.    " n$
ileref="scripts/kernel-doc#L181" i2023L100" c20ass="line" name="L23">  20ass>20a3e.g.    " n$identifierref="scripts/kernel-doc#L181" i2024L100" c2013ass="line" name="L28">2013a>20a4e.g.    " na
n
  20ass>20a etc.    " n$ptivrref="scripts/kernel-doc#L181" i2026L100" c20ass="line" name="L26">  20ass>20a6e.g.    " n$ir_turpose ;(0;ef="scripts/kernel-doc#L171" i20a7L100" c20ass="line" name="L27">  20ass>20a7e.g.    " n$iritial_ns shou_counter a $ns shou_counter;ef="scripts/kernel-doc#L171" i20a8L100" c20ass="line" name="L28">  20ass>20a  20ass>20a9 */
    if (def nad($ENV{\ namSRCTREE\ nam}))href="scripts/kernel-doc#L181" i203"L100" c20ass="line" name="L130"> 20ass>20as/**
        a
ile a \="L18nENV{\ namSRCTREE\ nam} );
 20ass>20a1        }ef="scripts/kernel-doc#L171" i20a2L100" c20ass="line" name="L132"> 20ass>20a e.g.    elshhref="scripts/kernel-doc#L121" i20a3L100" c20sss="line" name="L23">  20sss>20a3/**
        a
ile a \="L18@_\);
 20ass>20a4        }ef="scripts/kernel-doc#L171" i20a5L100" c20ass="line" name="L135"> 20ass>20a5 */
    if (def nad($source_map{a
ile}))href="scripts/kernel-doc#L181" i2036L100" c20ass="line" name="L136"> 20ass>20a6/**
        a
ile a $source_map{a
ile}ref="scripts/kernel-doc#L181" i20a7L100" c20ass="line" name="L137"> 20ass>20a         }ef="scripts/kernel-doc#L171" i20a8L100" c20ass="line" name="L138"> 20ass>20a 20ass>20a9 */
    if (!open(IN,\="L18\l/aa
ile\);
 20ass>20as/**
        pr
e4 name="L150"> 150# pat20a1L100" c20ass="line" name="L141"> 20ass>20a1            ++$errorsref="scripts/kernel-doc#L181" i20a2L100" c20ass="line" name="L142"> 20ass>20a2 * D        returnref="scripts/kernel-doc#L181" i20a3L100" c20ass="line" name="L143"> 20ass>20a3        }ef="scripts/kernel-doc#L171" i2044L100" c20ass="line" name="L144"> 20ass>20a 20ass>20a etc.    $. ;(1ref="scripts/kernel-doc#L181" i20a6L100" c20ass="line" name="L146"> 20ass>20a
 20ass>20a         ans shou_counter a 0;ef="scripts/kernel-doc#L171" i2048L100" c20ass="line" name="L148"> 20ass>20a8 * D    while (\l/aIN&g/a)href="scripts/kernel-doc#L181" i2049L100" c20ass="line" name="L149"> 20ass>20a9            if ($stateh== 0)href="scripts/kernel-doc#L181" i205"L100" c20ass="line" name="L150"> 20ass>20as                if (/$81"_start/o)href="scripts/kernel-doc#L181" i2051L100" c20ass="line" name="L151"> 20ass>20a1                    $stateh= 1;             # next name is always the 
n
 20ass>20a e.g.                $ir_81"_ss s a 0;ef="scripts/kernel-doc#L171" i2053L100" c20ass="line" name="L153"> 20ass>20a /**
            }ef="scripts/kernel-doc#L171" i2054L100" c20ass="line" name="L154"> 20ass>20a  */
        } elsif ($stateh== 1)hr # this name is the 
n
 20ass>20a etc.            if (/$81"_block/o)href="scripts/kernel-doc#L181" i2056L100" c20ass="line" name="L156"> 20ass>20a  * D                $stateh= 4;ef="scripts/kernel-doc#L171" i2057L100" c20ass="line" name="L157"> 20ass>20a                     $contenss9;(\="L18\);
 20ass>20a                     if ( $1 eq(\="L18 );
 20ass>20a9                            ans shou a $ns shou_introref="scripts/kernel-doc#L181" i206"L100" c20ass="line" name="L160"> 20ass>20as                    } elshhref="scripts/kernel-doc#L121" i20a1L100" c20ass="line" name="L161"> 20ass>20a1                            ans shou a $1ref="scripts/kernel-doc#L181" i2062L100" c20ass="line" name="L162"> 20ass>20a e.g.                }ef="scripts/kernel-doc#L171" i2063L100" c20ass="line" name="L163"> 20ass>20a /**
            }ef="scripts/kernel-doc#L171" i2064L100" c20ass="line" name="L164"> 20ass>20a  */
            elsif (/$81"_de"l/o)href="scripts/kernel-doc#L181" i2065L100" c20ass="line" name="L165"> 20ass>20a etc.                $identifier a $1ref="scripts/kernel-doc#L181" i2066L100" c20ass="line" name="L166"> 20ass>20a  * D                if (/;s*([\w\s]+?);s*-/)href="scripts/kernel-doc#L121" i20a7L100" c20ass="line" name="L167"> 20ass>20a                         $identifier a $1ref="scripts/kernel-doc#L181" i2068L100" c20ass="line" name="L168"> 20ass>20a                     }ef="scripts/kernel-doc#L171" i2069L100" c20ass="line" name="L169"> 20ass>20a     ="L100"> 300 20ass>20as * D                $stateh= 2ref="scripts/kernel-doc#L181" i20a1L100" c20ass="line" name="L171"> 20ass>20a1                    if (/-(.*)/)href="scripts/kernel-doc#L121" i2072L100" c20ass="line" name="L172"> 20ass>20a e.g.                    # strip leading/trailing/multiple spacesef="scripts/kernel-doc#L16" id20a3L100" c20ass="line" name="L173"> 20ass>20a /**
                    $ptivra $1ref="scripts/kernel-doc#L181" i2074L100" c20ass="line" name="L174"> 20ass>20a  */
                    $ptivr a~ s/^\s*//0">e4 name="L150"> 150# pat20a5L100" c20ass="line" name="L175"> 20ass>20a etc.                    $ptivr a~ s/\s*$//0">e4 name="L150"> 150# pat20a6L100" c20ass="line" name="L176"> 20ass>20a  * D                    $ptivr a~ s/\s+/ /0">e4 name="L150"> 150# pat20a7L100" c20sss="line" name="L27">  20sss>20a                         $de"lirat hr_turposeh= xml_escamu($ptivr)ref="scripts/kernel-doc#L181" i20a8L100" c20ass="line" name="L178"> 20ass>20a                         $ir_turpose ;(1ref="scripts/kernel-doc#L181" i2079L100" c20ass="line" name="L179"> 20ass>20a9                    } elshhref="scripts/kernel-doc#L121" i208"L100" c20ass="line" name="L180"> 20ass>20as                        $de"lirat hr_turposeh= \="L18\);
 20ass>20a1                    }ef="scripts/kernel-doc#L171" i2082L100" c20ass="line" name="L821"> 20ass>20a e.g.">e4 name="L150"> 150# pat20a3L100" c20ass="line" name="L83">  20ass>20a /**
                if ((ade"lirat hr_turposeheq(\="L18 );
  20ass>20a  */
                        pr
e4 name="L150"> 150# pat2085L100" c20ass="line" name="L85">  20ass>20a etc.                        pr
e4 name="L150"> 150# pat2086L100" c20ass="line" name="L86">  20ass>20a  * D                        ++$warningsref="scripts/kernel-doc#L181" i2087L100" c20ass="line" name="L87">  20ass>20a                     }ef="scripts/kernel-doc#L171" i2088L100" c20sss="line" name="L18">  20sss>20a  20ass>20a9                    if ($identifier a~ m/^struct/)href="scripts/kernel-doc#L121" i209"L100" c20ass="line" name="L90">  20ass>20as                        $de"l_f mu a - namstruct  namref="scripts/kernel-doc#L181" i20a1L100" c20ass="line" name="L91">  20ass>20a1                    } elsif ($identifier a~ m/^unhou/)href="scripts/kernel-doc#L121" i2092L100" c20ass="line" name="L92">  20ass>20a e.g.                    $de"l_f mu a - namunhou  namref="scripts/kernel-doc#L181" i20a3L100" c20ass="line" name="L93">  20ass>20a /**
                } elsif ($identifier a~ m/^enum/)href="scripts/kernel-doc#L121" i2094L100" c20ass="line" name="L94">  20ass>20a  */
                    $pt"l_f mu a - namenum  namref="scripts/kernel-doc#L181" i20a5L100" c20ass="line" name="L95">  20ass>20a etc.                } elsif ($identifier a~ m/^f mudef/)href="scripts/kernel-doc#L121" i2096L100" c20ass="line" name="L96">  20ass>20a  * D                    $pt"l_f mu a - namf mudef  namref="scripts/kernel-doc#L181" i20a7L100" c20ass="line" name="L97">  20ass>20a                     } elshhref="scripts/kernel-doc#L121" i2098L100" c20ass="line" name="L98">  20ass>20a                         $pt"l_f mu a - nam
n
  20sss>20a9                    }ef="scripts/kernel-doc#L181" i21="L100" c21="L1"line" name="L29">  21="L>210sa href="scripts/kernel-doc#L29" id21=1L100" c21=ss="line" name="L91">  21=ss>21=1                    if ($verbose)href="scripts/kernel-doc#L121" i21=2L100" c21=ss="line" name="L92">  21=ss>210 e.g.                    pr
e4 name="L150"> 150# pat21=3L100" c21=ss="line" name="L93">  21=ss>210 /**
                }">e4 name="L150"> 150# pat21=4L100" c21=ss="line" name="L94">  21=ss>210  */
            } elshhref="scripts/kernel-doc#L121" i21=5L100" c21=ss="line" name="L95">  21=ss>210 etc.                pr
  21=ss>210  * D                 );
e4 name="L150"> 150# pat21=7L100" c21=ss="line" name="L97">  21=ss>210                     ++$warningsref="scripts/kernel-doc#L181" i21=8L100" c21=ss="line" name="L98">  21=ss>210                     $stateh= 0;ef="scripts/kernel-doc#L171" i2109L100" c21=ss="line" name="L29">  21=ss>2109                }">e4 name="L150"> 150# pat211"L100" c21ass="line" name="L110"> 21ass>2110            } elsif ($stateh== 2)hr # lookt
e4 name="L150"> 150# pat2111L100" c21sss="line" name="L31">  21sss>2111                if (/$81"_sect/o)href="scripts/kernel-doc#L181" i21a2L100" c21ass="line" name="L112"> 21ass>211 e.g.                $newns shou a $1ref="scripts/kernel-doc#L181" i2113L100" c21ass="line" name="L113"> 21ass>211 /**
                $newcontenss9;(a2ref="scripts/kernel-doc#L181" i2114L100" c21ass="line" name="L114"> 21ass>211 21ass>211 etc.                if ((acontenss9me \="L18 );
 21ass>211  * D                    if (!$ir_81"_ss s && $verbose)href="scripts/kernel-doc#L121" i2117L100" c21ass="line" name="L117"> 21ass>211                             pr
e4 name="L150"> 150# pat2118L100" c21ass="line" name="L118"> 21ass>211                             ++$warningsref="scripts/kernel-doc#L181" i2119L100" c21ass="line" name="L119"> 21ass>2119                        }">e4 name="L150"> 150# pat212"L100" c21ass="line" name="L20">  21ass>2120                        dump_ns shou($
ile, ans shou, xml_escamu($contenss))ref="scripts/kernel-doc#L181" i2121L100" c21ass="line" name="L21">  21ass>2121                        ans shou a $ns shou_defaultref="scripts/kernel-doc#L181" i2122L100" c21sss="line" name="L22">  21sss>212 e.g.                }">e4 name="L150"> 150# pat2123L100" c21ass="line" name="L23">  21ass>212 /**
ef="scripts/kernel-doc#L171" i2124L100" c2113ass="line" name="L28">2113a>212  */
                $ir_81"_ss s a 1ref="scripts/kernel-doc#L181" i2125L100" c21ass="line" name="L25">  21ass>212 etc.                $ir_turpose ;(0;ef="scripts/kernel-doc#L171" i2126L100" c21ass="line" name="L26">  21ass>212  * D                $contenss9;(anewcontenss;ef="scripts/kernel-doc#L171" i2127L100" c21ass="line" name="L27">  21ass>212                     if ($contenss9me \="L18 );
  21ass>212                         while ((substr($contenss, 0, 1)heq(\);
  21ass>2129                            substr($contenss, 0, 1)heq(\);
 21ass>2130                                $contenss9;(substr($contenss, 1)ref="scripts/kernel-doc#L181" i21a1L100" c21ass="line" name="L131"> 21ass>2131                        }">e4 name="L150"> 150# pat21a2L100" c21ass="line" name="L132"> 21ass>213 e.g.                    $contenss9.a(\="L18\n5="L180">e4 name="L150"> 150# pat21a3L100" c21sss="line" name="L23">  21sss>213 /**
                }">e4 name="L150"> 150# pat21a4L100" c21ass="line" name="L134"> 21ass>213  */
                $ns shou a $newns shou0">e4 name="L150"> 150# pat21a5L100" c21ass="line" name="L135"> 21ass>213 etc.            } elsif (/$81"_end/)href="scripts/kernel-doc#L121" i2136L100" c21ass="line" name="L136"> 21ass>213
 21ass>213                     if ((acontenss9me \="L18 );
 21ass>213                         dump_ns shou($
ile, ans shou, xml_escamu($contenss))ref="scripts/kernel-doc#L181" i2139L100" c21ass="line" name="L139"> 21ass>2139                        ans shou a $ns shou_defaultref="scripts/kernel-doc#L181" i214"L100" c21ass="line" name="L140"> 21ass>214s                        $contenss9;(\="L18\);
 21ass>2141                    }ef="scripts/kernel-doc#L171" i21a2L100" c21ass="line" name="L142"> 21ass>214 e.g.                # lookt
 21ass>214 /**
                if ($_ a~ m  nam\s*\*\s*[a-zA-Z_0-9:\.]+\*/\ nam) ref="scripts/kernel-doc#L121" i2144L100" c21ass="line" name="L144"> 21ass>214  */
                    pr
 21ass>214 etc.                    ++$warningsref="scripts/kernel-doc#L181" i21a6L100" c21ass="line" name="L146"> 21ass>214  * D                }ef="scripts/kernel-doc#L171" i21a7L100" c21ass="line" name="L147"> 21ass>214     ef="scripts/kernel-doc#L181" i2148L100" c21ass="line" name="L148"> 21ass>214                     $trotof mu a(\="L18\);
 21ass>2149                    $stateh= 3ref="scripts/kernel-doc#L181" i215"L100" c21ass="line" name="L150"> 21ass>21as                    $brcount =(0;ef="scripts/kernel-doc#L171" i2151L100" c21ass="line" name="L151"> 21ass>2151    #               pr
e4 name="L150"> 150# pat2152L100" c21ass="line" name="L152"> 21ass>21a e.g.            } elsif (/$81"_contens/)href="scripts/kernel-doc#L121" i2153L100" c21ass="line" name="L153"> 21ass>21a /**
                # migu#L1styleycomment kludge, lookt
 21ass>215  */
                # @par154ter lame to signify start oft9tivrernhouef="scripts/kernel-doc#L121" i2155L100" c21ass="line" name="L155"> 21ass>21a etc.                if ($1 eq(\="L18 );
 21ass>21a  * D                    if ($ns shou a~ m/^@/ || $ns shou eq(ans shou_confext)href="scripts/kernel-doc#L121" i2157L100" c21ass="line" name="L157"> 21ass>21a                             dump_ns shou($
ile, ans shou, xml_escamu($contenss))ref="scripts/kernel-doc#L181" i21a8L100" c21ass="line" name="L158"> 21ass>21a                             $ns shou a $ns shou_defaultref="scripts/kernel-doc#L181" i2159L100" c21ass="line" name="L159"> 21ass>21a9                            acontenss9;(\="L18\);
 21ass>21as                        } elshhref="scripts/kernel-doc#L121" i21a1L100" c21ass="line" name="L161"> 21ass>21a1                            acontenss9.a(\="L18\n5="L180">e4 name="L150"> 150# pat2162L100" c21ass="line" name="L162"> 21ass>21a e.g.                    }">e4 name="L150"> 150# pat2163L100" c21ass="line" name="L163"> 21ass>21a /**
                    air_turpose ;(0;ef="scripts/kernel-doc#L171" i2164L100" c21ass="line" name="L164"> 21ass>21a  */
                } elsif ($ir_turpose ;= 1)href="scripts/kernel-doc#L121" i21a5L100" c21ass="line" name="L165"> 21ass>21a etc.                    # Continued de"lirat hr turposeef="scripts/kernel-doc#L121" i21a6L100" c21ass="line" name="L166"> 21ass>21a  * D                    chomp(ade"lirat hr_turpose)ref="scripts/kernel-doc#L181" i21a7L100" c21ass="line" name="L167"> 21ass>21a                         $de"lirat hr_turposeh.a(\="L18(\="L18(. xml_escamu($1)ref="scripts/kernel-doc#L181" i2168L100" c21ass="line" name="L168"> 21ass>21a                     } elshhref="scripts/kernel-doc#L121" i21a9L100" c21ass="line" name="L169"> 21ass>2169                        acontenss9.a($1 . \="L18\n5="L180">e4 name="L150"> 150# pat217"L100" c21ass="line" name="L170"> 21ass>21as * D                }">e4 name="L150"> 150# pat21a1L100" c21ass="line" name="L171"> 21ass>21a1                } elshhref="scripts/kernel-doc#L121" i2172L100" c21ass="line" name="L172"> 21ass>21a e.g.                # i dont know - bad lame?  ignore.ef="scripts/kernel-doc#L16" id21a3L100" c21ass="line" name="L173"> 21ass>21a /**
                pr
 21ass>21a  */
                ++$warningsref="scripts/kernel-doc#L181" i21a5L100" c21ass="line" name="L175"> 21ass>21a etc.            }">e4 name="L150"> 150# pat21a6L100" c21ass="line" name="L176"> 21ass>21a  * D        } elsif ($stateh== 3)hr # scanning 
e4 name="L150"> 150# pat21a7L100" c21sss="line" name="L27">  21sss>21a                 if ($pt"l_f mu eq(\ nam
n
 21ass>21a                     process_state3_
n
 21ass>21a9                } elshhref="scripts/kernel-doc#L121" i218"L100" c21ass="line" name="L180"> 21ass>21as                    process_state3_f mu($_, $
ile)ref="scripts/kernel-doc#L181" i2181L100" c21ass="line" name="L181"> 21ass>21a1                }">e4 name="L150"> 150# pat2182L100" c21ass="line" name="L821"> 21ass>218 e.g.        } elsif ($stateh== 4)href="scripts/kernel-doc#L121" i21a3L100" c21ass="line" name="L83">  21ass>21a /**
                # Documentat hr blockef="scripts/kernel-doc#L121" i21a4L100" c21ass="line" name="L84">  21ass>21a  */
                if (/$81"_block/)href="scripts/kernel-doc#L121" i21a5L100" c21ass="line" name="L85">  21ass>21a etc.                        dump_d1"_ss shou($
ile, ans shou, xml_escamu($contenss))ref="scripts/kernel-doc#L181" i2186L100" c21ass="line" name="L86">  21ass>21a  * D                        acontenss9;(\="L18\);
  21ass>21a                             a
n
  21sss>218                               n7mconstanss9;(()ref="scripts/kernel-doc#L181" i2189L100" c21ass="line" name="L89">  21ass>21a9                              n7mpar154ter9tivs9;(()ref="scripts/kernel-doc#L181" i219"L100" c21ass="line" name="L90">  21ass>21as                              n7mpar154terf mus9;(()ref="scripts/kernel-doc#L181" i2191L100" c21ass="line" name="L91">  21ass>21a1                            @par154terlist9;(()ref="scripts/kernel-doc#L181" i2192L100" c21ass="line" name="L92">  21ass>21a e.g.                          n7mns shous9;(()ref="scripts/kernel-doc#L181" i2193L100" c21ass="line" name="L93">  21ass>21a /**
                        @ns shoulist9;(()ref="scripts/kernel-doc#L181" i2194L100" c21ass="line" name="L94">  21ass>21a  */
                        $trotof mu a(\="L18\);
  21ass>21a etc.                        if ( $1 eq(\="L18 );
  21ass>21a  * D                                $ns shou a $ns shou_introref="scripts/kernel-doc#L181" i21a7L100" c21ass="line" name="L97">  21ass>21a                             } elshhref="scripts/kernel-doc#L121" i2198L100" c21ass="line" name="L98">  21ass>21a                                     $ns shou a $1ref="scripts/kernel-doc#L181" i21a9L100" c21sss="line" name="L29">  21sss>21a9                            }ef="scripts/kernel-doc#L181" i22="L100" c22="L1"line" name="L29">  22="L>220s * D                }">e4 name="L150"> 150# pat22=1L100" c22=ss="line" name="L91">  22=ss>22=1                    elsif (/$81"_end/)">e4 name="L150"> 150# pat22=2L100" c22=ss="line" name="L92">  22=ss>220 e.g.                ref="scripts/kernel-doc#L121" i22=3L100" c22=ss="line" name="L93">  22=ss>220 /**
                        dump_d1"_ss shou($
ile, ans shou, xml_escamu($contenss))ref="scripts/kernel-doc#L181" i22=4L100" c22=ss="line" name="L94">  22=ss>220  */
                        $contenss9;(\="L18\);
  22=ss>220 etc.                        $
n
  22=ss>220  * D                          n7mconstanss9;(()ref="scripts/kernel-doc#L181" i22=7L100" c22=ss="line" name="L97">  22=ss>220                               n7mpar154ter9tivs9;(()ref="scripts/kernel-doc#L181" i22=8L100" c22=ss="line" name="L98">  22=ss>220                               n7mpar154terf mus9;(()ref="scripts/kernel-doc#L181" i2209L100" c22=ss="line" name="L29">  22=ss>2209                            @par154terlist9;(()ref="scripts/kernel-doc#L181" i221"L100" c22ass="line" name="L110"> 22ass>221s                              n7mns shous9;(()ref="scripts/kernel-doc#L181" i2211L100" c22sss="line" name="L31">  22sss>2211                            @ns shoulist9;(()ref="scripts/kernel-doc#L181" i22a2L100" c22ass="line" name="L112"> 22ass>221 e.g.                        $trotof mu a(\="L18\);
 22ass>221 /**
                        $stateh= 0;ef="scripts/kernel-doc#L171" i2214L100" c22ass="line" name="L114"> 22ass>22a  */
                }">e4 name="L150"> 150# pat2215L100" c22ass="line" name="L115"> 22ass>221 etc.                elsif (/$81"_contens/)">e4 name="L150"> 150# pat2216L100" c22ass="line" name="L116"> 22ass>221  * D                ref="scripts/kernel-doc#L121" i2217L100" c22ass="line" name="L117"> 22ass>221                             if ( $1 eq(\="L18 );
 22ass>221                             ref="scripts/kernel-doc#L121" i2219L100" c22ass="line" name="L119"> 22ass>2219                                    $contenss9.a($blankname;ef="scripts/kernel-doc#L171" i222"L100" c22ass="line" name="L20">  22ass>2220                            }">e4 name="L150"> 150# pat2221L100" c22ass="line" name="L21">  22ass>2221                            elsh">e4 name="L150"> 150# pat2222L100" c22sss="line" name="L22">  22sss>222 e.g.                        ref="scripts/kernel-doc#L121" i2223L100" c22ass="line" name="L23">  22ass>222 /**
                                $contenss9.a($1 . \="L18\n5="L180">e4 name="L150"> 150# pat2224L100" c2213ass="line" name="L28">2213a>222  */
                        }">e4 name="L150"> 150# pat2225L100" c22ass="line" name="L25">  22ass>222 etc.                }">e4 name="L150"> 150# pat2226L100" c22ass="line" name="L26">  22ass>222  * D        }">e4 name="L150"> 150# pat2227L100" c22ass="line" name="L27">  22ass>222         }ef="scripts/kernel-doc#L171" i22a8L100" c22ass="line" name="L28">  22ass>2228e.g.    if ($iritial_ns shou_counter aa $ns shou_counter)href="scripts/kernel-doc#L181" i22a9L100" c22ass="line" name="L29">  22ass>2229            pr
e4 name="L150"> 150# pat223"L100" c22ass="line" name="L130"> 22ass>223"            if ($ forma_modu eq(\="L18xml );
 22ass>2231                # The"template wanss9at least9one RefEntry here; make9one.ef="scripts/kernel-doc#L16" id22a2L100" c22ass="line" name="L132"> 22ass>223 e.g.            pr
e4 name="L150"> 150# pat2233L100" c22sss="line" name="L23">  22sss>223 /**
            pr
e4 name="L150"> 150# pat2234L100" c22ass="line" name="L134"> 22ass>223  */
            pr
e4 name="L150"> 150# pat2235L100" c22ass="line" name="L135"> 22ass>223 etc.            pr
e4 name="L150"> 150# pat2236L100" c22ass="line" name="L136"> 22ass>223  * D            pr
e4 name="L150"> 150# pat2237L100" c22ass="line" name="L137"> 22ass>223                 pr
e4 name="L150"> 150# pat2238L100" c22ass="line" name="L138"> 22ass>223                 pr
e4 name="L150"> 150# pat2239L100" c22ass="line" name="L139"> 22ass>2239                pr
e4 name="L150"> 150# pat224"L100" c22ass="line" name="L140"> 22ass>224s                pr
e4 name="L150"> 150# pat22a1L100" c22ass="line" name="L141"> 22ass>2241                pr
e4 name="L150"> 150# pat22a2L100" c22ass="line" name="L142"> 22ass>224 e.g.            pr
e4 name="L150"> 150# pat2243L100" c22ass="line" name="L143"> 22ass>224 /**
            pr
e4 name="L150"> 150# pat2244L100" c22ass="line" name="L144"> 22ass>224  */
            pr
e4 name="L150"> 150# pat2245L100" c22ass="line" name="L145"> 22ass>224 etc.            pr
e4 name="L150"> 150# pat2246L100" c22ass="line" name="L146"> 22ass>224  * D            pr
e4 name="L150"> 150# pat2247L100" c22ass="line" name="L147"> 22ass>224                 pr
e4 name="L150"> 150# pat2248L100" c22ass="line" name="L148"> 22ass>224                 pr
e4 name="L150"> 150# pat22a9L100" c22ass="line" name="L149"> 22ass>2249                pr
e4 name="L150"> 150# pat225"L100" c22ass="line" name="L150"> 22ass>22as                pr
e4 name="L150"> 150# pat2251L100" c22ass="line" name="L151"> 22ass>22a1                pr
e4 name="L150"> 150# pat2252L100" c22ass="line" name="L152"> 22ass>22a e.g.            pr
e4 name="L150"> 150# pat2253L100" c22ass="line" name="L153"> 22ass>22a /**
            pr
e4 name="L150"> 150# pat2254L100" c22ass="line" name="L154"> 22ass>225  */
            pr
e4 name="L150"> 150# pat2255L100" c22ass="line" name="L155"> 22ass>22a etc.            pr
e4 name="L150"> 150# pat2256L100" c22ass="line" name="L156"> 22ass>22a  * D            pr
e4 name="L150"> 150# pat2257L100" c22ass="line" name="L157"> 22ass>22a             }ef="scripts/kernel-doc#L171" i22a8L100" c22ass="line" name="L158"> 22ass>22a         }ef="scripts/kernel-doc#L171" i22a9L100" c22ass="line" name="L159"> 22ass>225     }ef="scripts/kernel-doc#L171" i226"L100" c22ass="line" name="L160"> 22ass>226sa href="scripts/kernel-doc#L29" id22a1L100" c22ass="line" name="L161"> 22ass>22a1    ef="scripts/kernel-doc#L29" id22a2L100" c22ass="line" name="L162"> 22ass>22a e.g.$-doc#Lvers hr ;(get_-doc#L_vers hr()ref="scripts/kernel-doc#L181" i2263L100" c22ass="line" name="L163"> 22ass>226 /**
ef="scripts/kernel-doc#L171" i2264L100" c22ass="line" name="L164"> 22ass>22a  */
# generate a nsquence oftcodu tha# will splice in highlighting ir
 22ass>22a etc.# using the s// operator.ef="scripts/kernel-doc#L16" id22a6L100" c22ass="line" name="L166"> 22ass>22a  * Dforeach " n$pattdoc (keys   n7mhighlights)href="scripts/kernel-doc#L121" i22a7L100" c22ass="line" name="L167"> 22ass>22a     #   pr
e4 name="L150"> 150# pat2268L100" c22ass="line" name="L168"> 22ass>22a         $dohighlight9.a( \="L18\$contenss9;~ s:$pattdoc:$highlights{$pattdoc}:gsa\n5="L180">e4 name="L150"> 150# pat22a9L100" c22ass="line" name="L169"> 22ass>226     }ef="scripts/kernel-doc#L171" i227"L100" c22ass="line" name="L170"> 22ass>227sa href="scripts/kernel-doc#L29" id22a1L100" c22ass="line" name="L171"> 22ass>2271    # Read the 
ile tha# maps relative"L171syto absolute"L171syforef="scripts/kernel-doc#L29" id22a2L100" c22ass="line" name="L172"> 22ass>22a e.g.# nspar1te"source and objs s dirs sories and 
 22ass>22a /**
if (open(SOURCE_MAP, \="L18\l/a.tmp_
ilelist.txt\);
 22ass>22a  */
        " n($relL174, $absL174)ref="scripts/kernel-doc#L181" i22a5L100" c22ass="line" name="L175"> 22ass>22a etc.        while(\l/aSOURCE_MAP&g/a)href="scripts/kernel-doc#L181" i22a6L100" c22ass="line" name="L176"> 22ass>22a  * D                chop()ref="scripts/kernel-doc#L181" i22a7L100" c22sss="line" name="L27">  22sss>22a                     ($relL174, $absL174)9;((split())[0..1]ref="scripts/kernel-doc#L181" i22a8L100" c22ass="line" name="L178"> 22ass>22a                     $relL1749;~ s:^/+::ref="scripts/kernel-doc#L181" i22a9L100" c22ass="line" name="L179"> 22ass>22a9                    $source_map{arelL174} a $absL174ref="scripts/kernel-doc#L181" i228"L100" c22ass="line" name="L180"> 22ass>22as            }ef="scripts/kernel-doc#L171" i2281L100" c22ass="line" name="L181"> 22ass>22a1            close(SOURCE_MAP)ref="scripts/kernel-doc#L181" i2282L100" c22ass="line" name="L821"> 22ass>228 e.g.}ef="scripts/kernel-doc#L171" i2283L100" c22ass="line" name="L83">  22ass>228 /**
ef="scripts/kernel-doc#L171" i22a4L100" c22ass="line" name="L84">  22ass>22a  */
foreach (@ARGV)href="scripts/kernel-doc#L181" i22a5L100" c22ass="line" name="L85">  22ass>22a etc.    chompref="scripts/kernel-doc#L181" i2286L100" c22ass="line" name="L86">  22ass>22a  * D    process_
ile($_)ref="scripts/kernel-doc#L181" i2287L100" c22ass="line" name="L87">  22ass>22a     }ef="scripts/kernel-doc#L171" i2288L100" c22sss="line" name="L18">  22sss>228     if ($verbose && $errors)href="scripts/kernel-doc#L181" i22a9L100" c22ass="line" name="L89">  22ass>22a9      pr
e4 name="L150"> 150# pat229"L100" c22ass="line" name="L90">  22ass>22as    }ef="scripts/kernel-doc#L171" i2291L100" c22ass="line" name="L91">  22ass>22a1    if ($verbose && $warnings)href="scripts/kernel-doc#L181" i2292L100" c22ass="line" name="L92">  22ass>22a e.g.  pr
e4 name="L150"> 150# pat2293L100" c22ass="line" name="L93">  22ass>22a /**
}ef="scripts/kernel-doc#L171" i2294L100" c22ass="line" name="L94">  22ass>229  22ass>22a etc.exit($errors)0">e4 name="L150"> 150# pat2296L100" c22ass="line" name="L96">  22ass>22a  * D


The"original LXR"software by the >e4 name=http://sourceforge.net/projs ss/lxo">LXR"community * D, this experimental vers hr by >e4 name=mailto:lxo@namux.no">lxo@namux.no * D.
lxo.namux.no kindly hostedyby >e4 name=http://www.redpill-nampro.no">Redpill Lampro AS * D, provider oftLamux consulting and operat hrs nsrvices nince 1995.