home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-perl-addon-1.4.9-installer.exe / MethodLookup.pm < prev    next >
Encoding:
Perl POD Document  |  2004-09-23  |  108.9 KB  |  3,240 lines

  1. # /*
  2. #  * *********** WARNING **************
  3. #  * This file generated by ModPerl::WrapXS/0.01
  4. #  * Any changes made here will be lost
  5. #  * ***********************************
  6. #  * 01: lib/ModPerl/Code.pm:701
  7. #  * 02: O:\147xampp\sources\mod_perl-1.99_16\blib\lib/ModPerl/WrapXS.pm:712
  8. #  * 03: O:\147xampp\sources\mod_perl-1.99_16\blib\lib/ModPerl/WrapXS.pm:1103
  9. #  * 04: Makefile.PL:335
  10. #  * 05: Makefile.PL:283
  11. #  * 06: Makefile.PL:51
  12. #  */
  13.  
  14. package ModPerl::MethodLookup;
  15.  
  16. use strict;
  17. use warnings;
  18.  
  19. my $methods = {
  20.           'BINMODE' => [
  21.                          [
  22.                            'Apache::RequestIO',
  23.                            'Apache::RequestRec'
  24.                          ]
  25.                        ],
  26.           'CLEAR' => [
  27.                        [
  28.                          'APR::Table',
  29.                          'APR::Table'
  30.                        ]
  31.                      ],
  32.           'CLOSE' => [
  33.                        [
  34.                          'Apache::RequestIO',
  35.                          'Apache::RequestRec'
  36.                        ]
  37.                      ],
  38.           'DELETE' => [
  39.                         [
  40.                           'APR::Table',
  41.                           'APR::Table'
  42.                         ]
  43.                       ],
  44.           'DESTROY' => [
  45.                          [
  46.                            'APR::ThreadMutex',
  47.                            'APR::ThreadMutex'
  48.                          ],
  49.                          [
  50.                            'Apache::SubRequest',
  51.                            'Apache::SubRequest'
  52.                          ],
  53.                          [
  54.                            'APR::Pool',
  55.                            'APR::Pool'
  56.                          ]
  57.                        ],
  58.           'EXISTS' => [
  59.                         [
  60.                           'APR::Table',
  61.                           'APR::Table'
  62.                         ]
  63.                       ],
  64.           'FETCH' => [
  65.                        [
  66.                          'APR::Table',
  67.                          'APR::Table'
  68.                        ]
  69.                      ],
  70.           'FILENO' => [
  71.                         [
  72.                           'Apache::RequestIO',
  73.                           'Apache::RequestRec'
  74.                         ]
  75.                       ],
  76.           'FIRSTKEY' => [
  77.                           [
  78.                             'APR::Table',
  79.                             'APR::Table'
  80.                           ]
  81.                         ],
  82.           'GETC' => [
  83.                       [
  84.                         'Apache::RequestIO',
  85.                         'Apache::RequestRec'
  86.                       ]
  87.                     ],
  88.           'LOG_MARK' => [
  89.                           [
  90.                             'Apache::Log',
  91.                             undef
  92.                           ]
  93.                         ],
  94.           'MODIFY_CODE_ATTRIBUTES' => [
  95.                                         [
  96.                                           'Apache::Filter',
  97.                                           undef
  98.                                         ]
  99.                                       ],
  100.           'NEXTKEY' => [
  101.                          [
  102.                            'APR::Table',
  103.                            'APR::Table'
  104.                          ]
  105.                        ],
  106.           'OPEN' => [
  107.                       [
  108.                         'Apache::RequestIO',
  109.                         'Apache::RequestRec'
  110.                       ]
  111.                     ],
  112.           'PRINT' => [
  113.                        [
  114.                          'Apache::RequestIO',
  115.                          'Apache::RequestRec'
  116.                        ],
  117.                        [
  118.                          'Apache::Filter',
  119.                          'Apache::Filter'
  120.                        ]
  121.                      ],
  122.           'PRINTF' => [
  123.                         [
  124.                           'Apache::RequestIO',
  125.                           'Apache::RequestRec'
  126.                         ]
  127.                       ],
  128.           'READ' => [
  129.                       [
  130.                         'Apache::RequestIO',
  131.                         'Apache::RequestRec'
  132.                       ]
  133.                     ],
  134.           'STORE' => [
  135.                        [
  136.                          'APR::Table',
  137.                          'APR::Table'
  138.                        ]
  139.                      ],
  140.           'TIEHANDLE' => [
  141.                            [
  142.                              'Apache::RequestIO',
  143.                              'Apache::RequestRec'
  144.                            ],
  145.                            [
  146.                              'Apache::Filter',
  147.                              'Apache::Filter'
  148.                            ]
  149.                          ],
  150.           'UNTIE' => [
  151.                        [
  152.                          'Apache::RequestIO',
  153.                          'Apache::RequestRec'
  154.                        ]
  155.                      ],
  156.           'WRITE' => [
  157.                        [
  158.                          'Apache::RequestIO',
  159.                          'Apache::RequestRec'
  160.                        ]
  161.                      ],
  162.           'aborted' => [
  163.                          [
  164.                            'Apache::Connection',
  165.                            'Apache::Connection'
  166.                          ]
  167.                        ],
  168.           'add' => [
  169.                      [
  170.                        'APR::Table',
  171.                        'APR::Table'
  172.                      ]
  173.                    ],
  174.           'add_config' => [
  175.                             [
  176.                               'Apache::ServerUtil',
  177.                               'Apache::ServerRec'
  178.                             ],
  179.                             [
  180.                               'Apache::RequestUtil',
  181.                               'Apache::RequestRec'
  182.                             ]
  183.                           ],
  184.           'add_input_filter' => [
  185.                                   [
  186.                                     'Apache::Filter',
  187.                                     'Apache::Connection'
  188.                                   ],
  189.                                   [
  190.                                     'Apache::Filter',
  191.                                     'Apache::RequestRec'
  192.                                   ]
  193.                                 ],
  194.           'add_output_filter' => [
  195.                                    [
  196.                                      'Apache::Filter',
  197.                                      'Apache::Connection'
  198.                                    ],
  199.                                    [
  200.                                      'Apache::Filter',
  201.                                      'Apache::RequestRec'
  202.                                    ]
  203.                                  ],
  204.           'add_version_component' => [
  205.                                        [
  206.                                          'Apache::ServerUtil',
  207.                                          'Apache::ServerRec'
  208.                                        ]
  209.                                      ],
  210.           'addrs' => [
  211.                        [
  212.                          'Apache::ServerRec',
  213.                          'Apache::ServerRec'
  214.                        ]
  215.                      ],
  216.           'alert' => [
  217.                        [
  218.                          'Apache::Log',
  219.                          undef
  220.                        ]
  221.                      ],
  222.           'allow_methods' => [
  223.                                [
  224.                                  'Apache::Access',
  225.                                  'Apache::RequestRec'
  226.                                ]
  227.                              ],
  228.           'allow_options' => [
  229.                                [
  230.                                  'Apache::Access',
  231.                                  'Apache::RequestRec'
  232.                                ]
  233.                              ],
  234.           'allow_overrides' => [
  235.                                  [
  236.                                    'Apache::Access',
  237.                                    'Apache::RequestRec'
  238.                                  ]
  239.                                ],
  240.           'allowed' => [
  241.                          [
  242.                            'Apache::RequestRec',
  243.                            'Apache::RequestRec'
  244.                          ]
  245.                        ],
  246.           'allowed_methods' => [
  247.                                  [
  248.                                    'Apache::RequestRec',
  249.                                    'Apache::RequestRec'
  250.                                  ]
  251.                                ],
  252.           'allowed_xmethods' => [
  253.                                   [
  254.                                     'Apache::RequestRec',
  255.                                     'Apache::RequestRec'
  256.                                   ]
  257.                                 ],
  258.           'ap_auth_type' => [
  259.                               [
  260.                                 'Apache::RequestRec',
  261.                                 'Apache::RequestRec'
  262.                               ]
  263.                             ],
  264.           'args' => [
  265.                       [
  266.                         'Apache::RequestRec',
  267.                         'Apache::RequestRec'
  268.                       ],
  269.                       [
  270.                         'Apache::Directive',
  271.                         'Apache::Directive'
  272.                       ]
  273.                     ],
  274.           'args_how' => [
  275.                           [
  276.                             'Apache::Command',
  277.                             'Apache::Command'
  278.                           ]
  279.                         ],
  280.           'as_hash' => [
  281.                          [
  282.                            'Apache::Directive',
  283.                            'Apache::Directive'
  284.                          ]
  285.                        ],
  286.           'as_string' => [
  287.                            [
  288.                              'Apache::RequestUtil',
  289.                              'Apache::RequestRec'
  290.                            ],
  291.                            [
  292.                              'Apache::Directive',
  293.                              'Apache::Directive'
  294.                            ]
  295.                          ],
  296.           'assbackwards' => [
  297.                               [
  298.                                 'Apache::RequestRec',
  299.                                 'Apache::RequestRec'
  300.                               ]
  301.                             ],
  302.           'atime' => [
  303.                        [
  304.                          'APR::Finfo',
  305.                          'APR::Finfo'
  306.                        ]
  307.                      ],
  308.           'auth_name' => [
  309.                            [
  310.                              'Apache::Access',
  311.                              'Apache::RequestRec'
  312.                            ]
  313.                          ],
  314.           'auth_type' => [
  315.                            [
  316.                              'Apache::Access',
  317.                              'Apache::RequestRec'
  318.                            ]
  319.                          ],
  320.           'base_server' => [
  321.                              [
  322.                                'Apache::Connection',
  323.                                'Apache::Connection'
  324.                              ]
  325.                            ],
  326.           'bind' => [
  327.                       [
  328.                         'APR::Socket',
  329.                         'APR::Socket'
  330.                       ]
  331.                     ],
  332.           'bucket_alloc' => [
  333.                               [
  334.                                 'Apache::Connection',
  335.                                 'Apache::Connection'
  336.                               ]
  337.                             ],
  338.           'bytes_sent' => [
  339.                             [
  340.                               'Apache::RequestRec',
  341.                               'Apache::RequestRec'
  342.                             ]
  343.                           ],
  344.           'c' => [
  345.                    [
  346.                      'Apache::Filter',
  347.                      'Apache::Filter'
  348.                    ]
  349.                  ],
  350.           'check_cmd_context' => [
  351.                                    [
  352.                                      'Apache::CmdParms',
  353.                                      'Apache::CmdParms'
  354.                                    ]
  355.                                  ],
  356.           'cleanup' => [
  357.                          [
  358.                            'APR::Brigade',
  359.                            'APR::Brigade'
  360.                          ]
  361.                        ],
  362.           'cleanup_for_exec' => [
  363.                                   [
  364.                                     'APR::Pool',
  365.                                     'APR::Pool'
  366.                                   ]
  367.                                 ],
  368.           'cleanup_register' => [
  369.                                   [
  370.                                     'APR::Pool',
  371.                                     'APR::Pool'
  372.                                   ]
  373.                                 ],
  374.           'clear' => [
  375.                        [
  376.                          'APR::Table',
  377.                          'APR::Table'
  378.                        ],
  379.                        [
  380.                          'APR::Pool',
  381.                          'APR::Pool'
  382.                        ]
  383.                      ],
  384.           'client_socket' => [
  385.                                [
  386.                                  'Apache::Connection',
  387.                                  'Apache::Connection'
  388.                                ]
  389.                              ],
  390.           'close' => [
  391.                        [
  392.                          'APR::Socket',
  393.                          'APR::Socket'
  394.                        ]
  395.                      ],
  396.           'cmd' => [
  397.                      [
  398.                        'Apache::CmdParms',
  399.                        'Apache::CmdParms'
  400.                      ]
  401.                    ],
  402.           'cmds' => [
  403.                       [
  404.                         'Apache::Module',
  405.                         'Apache::Module'
  406.                       ]
  407.                     ],
  408.           'compress' => [
  409.                           [
  410.                             'APR::Table',
  411.                             'APR::Table'
  412.                           ]
  413.                         ],
  414.           'concat' => [
  415.                         [
  416.                           'APR::Brigade',
  417.                           'APR::Brigade'
  418.                         ]
  419.                       ],
  420.           'conftree' => [
  421.                           [
  422.                             'Apache::Directive',
  423.                             'Apache::Directive'
  424.                           ]
  425.                         ],
  426.           'conn_config' => [
  427.                              [
  428.                                'Apache::Connection',
  429.                                'Apache::Connection'
  430.                              ]
  431.                            ],
  432.           'connect' => [
  433.                          [
  434.                            'APR::Socket',
  435.                            'APR::Socket'
  436.                          ]
  437.                        ],
  438.           'connection' => [
  439.                             [
  440.                               'Apache::RequestRec',
  441.                               'Apache::RequestRec'
  442.                             ]
  443.                           ],
  444.           'construct_server' => [
  445.                                   [
  446.                                     'Apache::URI',
  447.                                     'Apache::RequestRec'
  448.                                   ]
  449.                                 ],
  450.           'construct_url' => [
  451.                                [
  452.                                  'Apache::URI',
  453.                                  'Apache::RequestRec'
  454.                                ]
  455.                              ],
  456.           'content_encoding' => [
  457.                                   [
  458.                                     'Apache::RequestRec',
  459.                                     'Apache::RequestRec'
  460.                                   ]
  461.                                 ],
  462.           'content_languages' => [
  463.                                    [
  464.                                      'Apache::RequestRec',
  465.                                      'Apache::RequestRec'
  466.                                    ]
  467.                                  ],
  468.           'content_type' => [
  469.                               [
  470.                                 'Apache::RequestRec',
  471.                                 'Apache::RequestRec'
  472.                               ]
  473.                             ],
  474.           'context' => [
  475.                          [
  476.                            'Apache::CmdParms',
  477.                            'Apache::CmdParms'
  478.                          ]
  479.                        ],
  480.           'copy' => [
  481.                       [
  482.                         'APR::Table',
  483.                         'APR::Table'
  484.                       ]
  485.                     ],
  486.           'crit' => [
  487.                       [
  488.                         'Apache::Log',
  489.                         undef
  490.                       ]
  491.                     ],
  492.           'csize' => [
  493.                        [
  494.                          'APR::Finfo',
  495.                          'APR::Finfo'
  496.                        ]
  497.                      ],
  498.           'ctime' => [
  499.                        [
  500.                          'APR::Finfo',
  501.                          'APR::Finfo'
  502.                        ]
  503.                      ],
  504.           'ctx' => [
  505.                      [
  506.                        'Apache::Filter',
  507.                        'Apache::Filter'
  508.                      ]
  509.                    ],
  510.           'current_callback' => [
  511.                                   [
  512.                                     'ModPerl::Util',
  513.                                     'Apache'
  514.                                   ]
  515.                                 ],
  516.           'custom_response' => [
  517.                                  [
  518.                                    'Apache::Response',
  519.                                    'Apache::RequestRec'
  520.                                  ]
  521.                                ],
  522.           'data' => [
  523.                       [
  524.                         'APR::Bucket',
  525.                         'APR::Bucket'
  526.                       ]
  527.                     ],
  528.           'debug' => [
  529.                        [
  530.                          'Apache::Log',
  531.                          undef
  532.                        ]
  533.                      ],
  534.           'decode' => [
  535.                         [
  536.                           'APR::Base64',
  537.                           undef
  538.                         ]
  539.                       ],
  540.           'default_type' => [
  541.                               [
  542.                                 'Apache::RequestUtil',
  543.                                 'Apache::RequestRec'
  544.                               ]
  545.                             ],
  546.           'delete' => [
  547.                         [
  548.                           'APR::Bucket',
  549.                           'APR::Bucket'
  550.                         ]
  551.                       ],
  552.           'destroy' => [
  553.                          [
  554.                            'APR::Bucket',
  555.                            'APR::Bucket'
  556.                          ],
  557.                          [
  558.                            'APR::Brigade',
  559.                            'APR::Brigade'
  560.                          ],
  561.                          [
  562.                            'APR::Pool',
  563.                            'APR::Pool'
  564.                          ]
  565.                        ],
  566.           'device' => [
  567.                         [
  568.                           'APR::Finfo',
  569.                           'APR::Finfo'
  570.                         ]
  571.                       ],
  572.           'die' => [
  573.                      [
  574.                        'Apache::HookRun',
  575.                        'Apache::RequestRec'
  576.                      ]
  577.                    ],
  578.           'dir_config' => [
  579.                             [
  580.                               'Apache::ServerUtil',
  581.                               'Apache::ServerRec'
  582.                             ],
  583.                             [
  584.                               'Apache::RequestUtil',
  585.                               'Apache::RequestRec'
  586.                             ]
  587.                           ],
  588.           'directive' => [
  589.                            [
  590.                              'Apache::CmdParms',
  591.                              'Apache::CmdParms'
  592.                            ],
  593.                            [
  594.                              'Apache::Directive',
  595.                              'Apache::Directive'
  596.                            ]
  597.                          ],
  598.           'discard_request_body' => [
  599.                                       [
  600.                                         'Apache::RequestIO',
  601.                                         'Apache::RequestRec'
  602.                                       ]
  603.                                     ],
  604.           'do' => [
  605.                     [
  606.                       'APR::Table',
  607.                       'APR::Table'
  608.                     ]
  609.                   ],
  610.           'document_root' => [
  611.                                [
  612.                                  'Apache::RequestUtil',
  613.                                  'Apache::RequestRec'
  614.                                ]
  615.                              ],
  616.           'emerg' => [
  617.                        [
  618.                          'Apache::Log',
  619.                          undef
  620.                        ]
  621.                      ],
  622.           'encode' => [
  623.                         [
  624.                           'APR::Base64',
  625.                           undef
  626.                         ]
  627.                       ],
  628.           'encode_len' => [
  629.                             [
  630.                               'APR::Base64',
  631.                               'APR::Base64'
  632.                             ]
  633.                           ],
  634.           'eos_create' => [
  635.                             [
  636.                               'APR::Bucket',
  637.                               'APR::Bucket'
  638.                             ]
  639.                           ],
  640.           'equal' => [
  641.                        [
  642.                          'APR::SockAddr',
  643.                          'APR::SockAddr'
  644.                        ]
  645.                      ],
  646.           'err_headers_out' => [
  647.                                  [
  648.                                    'Apache::RequestRec',
  649.                                    'Apache::RequestRec'
  650.                                  ]
  651.                                ],
  652.           'errmsg' => [
  653.                         [
  654.                           'Apache::Command',
  655.                           'Apache::Command'
  656.                         ]
  657.                       ],
  658.           'error' => [
  659.                        [
  660.                          'Apache::Log',
  661.                          undef
  662.                        ]
  663.                      ],
  664.           'error_fname' => [
  665.                              [
  666.                                'Apache::ServerRec',
  667.                                'Apache::ServerRec'
  668.                              ]
  669.                            ],
  670.           'error_log2stderr' => [
  671.                                   [
  672.                                     'Apache::ServerUtil',
  673.                                     'Apache::ServerRec'
  674.                                   ]
  675.                                 ],
  676.           'escape_path' => [
  677.                              [
  678.                                'Apache::Util',
  679.                                'Apache::Util'
  680.                              ]
  681.                            ],
  682.           'exists_config_define' => [
  683.                                       [
  684.                                         'Apache::ServerUtil',
  685.                                         'Apache::ServerUtil'
  686.                                       ]
  687.                                     ],
  688.           'exit' => [
  689.                       [
  690.                         'ModPerl::Util',
  691.                         'ModPerl::Util'
  692.                       ]
  693.                     ],
  694.           'fflush' => [
  695.                         [
  696.                           'Apache::Filter',
  697.                           'Apache::Filter'
  698.                         ]
  699.                       ],
  700.           'filename' => [
  701.                           [
  702.                             'Apache::RequestRec',
  703.                             'Apache::RequestRec'
  704.                           ],
  705.                           [
  706.                             'Apache::Directive',
  707.                             'Apache::Directive'
  708.                           ]
  709.                         ],
  710.           'filepath_name_get' => [
  711.                                    [
  712.                                      'APR::Util',
  713.                                      'APR::Util'
  714.                                    ]
  715.                                  ],
  716.           'filetype' => [
  717.                           [
  718.                             'APR::Finfo',
  719.                             'APR::Finfo'
  720.                           ]
  721.                         ],
  722.           'filter_flush' => [
  723.                               [
  724.                                 'Apache::Filter',
  725.                                 'APR::Brigade'
  726.                               ]
  727.                             ],
  728.           'find_linked_module' => [
  729.                                     [
  730.                                       'Apache::Module',
  731.                                       'Apache::Module'
  732.                                     ]
  733.                                   ],
  734.           'finfo' => [
  735.                        [
  736.                          'Apache::RequestRec',
  737.                          'Apache::RequestRec'
  738.                        ]
  739.                      ],
  740.           'first' => [
  741.                        [
  742.                          'APR::Brigade',
  743.                          'APR::Brigade'
  744.                        ]
  745.                      ],
  746.           'first_child' => [
  747.                              [
  748.                                'Apache::Directive',
  749.                                'Apache::Directive'
  750.                              ]
  751.                            ],
  752.           'flatten' => [
  753.                          [
  754.                            'APR::Brigade',
  755.                            'APR::Brigade'
  756.                          ]
  757.                        ],
  758.           'flush_create' => [
  759.                               [
  760.                                 'APR::Bucket',
  761.                                 'APR::Bucket'
  762.                               ]
  763.                             ],
  764.           'fname' => [
  765.                        [
  766.                          'APR::Finfo',
  767.                          'APR::Finfo'
  768.                        ]
  769.                      ],
  770.           'format' => [
  771.                         [
  772.                           'APR::UUID',
  773.                           undef
  774.                         ]
  775.                       ],
  776.           'format_size' => [
  777.                              [
  778.                                'APR::String',
  779.                                'APR::String'
  780.                              ]
  781.                            ],
  782.           'fragment' => [
  783.                           [
  784.                             'APR::URI',
  785.                             'APR::URI'
  786.                           ]
  787.                         ],
  788.           'frec' => [
  789.                       [
  790.                         'Apache::Filter',
  791.                         'Apache::Filter'
  792.                       ]
  793.                     ],
  794.           'get' => [
  795.                      [
  796.                        'APR::Table',
  797.                        undef
  798.                      ]
  799.                    ],
  800.           'get_basic_auth_pw' => [
  801.                                    [
  802.                                      'Apache::Access',
  803.                                      undef
  804.                                    ]
  805.                                  ],
  806.           'get_brigade' => [
  807.                              [
  808.                                'Apache::Filter',
  809.                                'Apache::Filter'
  810.                              ]
  811.                            ],
  812.           'get_client_block' => [
  813.                                   [
  814.                                     'Apache::RequestIO',
  815.                                     'Apache::RequestRec'
  816.                                   ]
  817.                                 ],
  818.           'get_config' => [
  819.                             [
  820.                               'Apache::Module',
  821.                               'Apache::Module'
  822.                             ]
  823.                           ],
  824.           'get_handlers' => [
  825.                               [
  826.                                 'Apache::ServerUtil',
  827.                                 'Apache::ServerRec'
  828.                               ],
  829.                               [
  830.                                 'Apache::RequestUtil',
  831.                                 'Apache::RequestRec'
  832.                               ]
  833.                             ],
  834.           'get_limit_req_body' => [
  835.                                     [
  836.                                       'Apache::RequestUtil',
  837.                                       'Apache::RequestRec'
  838.                                     ]
  839.                                   ],
  840.           'get_remote_host' => [
  841.                                  [
  842.                                    'Apache::Connection',
  843.                                    'Apache::Connection'
  844.                                  ]
  845.                                ],
  846.           'get_remote_logname' => [
  847.                                     [
  848.                                       'Apache::Access',
  849.                                       'Apache::RequestRec'
  850.                                     ]
  851.                                   ],
  852.           'get_server_name' => [
  853.                                  [
  854.                                    'Apache::RequestUtil',
  855.                                    'Apache::RequestRec'
  856.                                  ]
  857.                                ],
  858.           'get_server_port' => [
  859.                                  [
  860.                                    'Apache::RequestUtil',
  861.                                    'Apache::RequestRec'
  862.                                  ]
  863.                                ],
  864.           'get_status_line' => [
  865.                                  [
  866.                                    'Apache::RequestUtil',
  867.                                    'Apache::RequestUtil'
  868.                                  ]
  869.                                ],
  870.           'group' => [
  871.                        [
  872.                          'APR::Finfo',
  873.                          'APR::Finfo'
  874.                        ]
  875.                      ],
  876.           'handler' => [
  877.                          [
  878.                            'Apache::RequestRec',
  879.                            'Apache::RequestRec'
  880.                          ]
  881.                        ],
  882.           'header_only' => [
  883.                              [
  884.                                'Apache::RequestRec',
  885.                                'Apache::RequestRec'
  886.                              ]
  887.                            ],
  888.           'headers_in' => [
  889.                             [
  890.                               'Apache::RequestRec',
  891.                               'Apache::RequestRec'
  892.                             ]
  893.                           ],
  894.           'headers_out' => [
  895.                              [
  896.                                'Apache::RequestRec',
  897.                                'Apache::RequestRec'
  898.                              ]
  899.                            ],
  900.           'hostinfo' => [
  901.                           [
  902.                             'APR::URI',
  903.                             'APR::URI'
  904.                           ]
  905.                         ],
  906.           'hostname' => [
  907.                           [
  908.                             'APR::URI',
  909.                             'APR::URI'
  910.                           ],
  911.                           [
  912.                             'Apache::RequestRec',
  913.                             'Apache::RequestRec'
  914.                           ]
  915.                         ],
  916.           'ht_time' => [
  917.                          [
  918.                            'Apache::Util',
  919.                            'Apache::Util'
  920.                          ]
  921.                        ],
  922.           'id' => [
  923.                     [
  924.                       'Apache::Connection',
  925.                       'Apache::Connection'
  926.                     ]
  927.                   ],
  928.           'info' => [
  929.                       [
  930.                         'Apache::CmdParms',
  931.                         'Apache::CmdParms'
  932.                       ],
  933.                       [
  934.                         'Apache::Log',
  935.                         undef
  936.                       ]
  937.                     ],
  938.           'inode' => [
  939.                        [
  940.                          'APR::Finfo',
  941.                          'APR::Finfo'
  942.                        ]
  943.                      ],
  944.           'input_filters' => [
  945.                                [
  946.                                  'Apache::Connection',
  947.                                  'Apache::Connection'
  948.                                ],
  949.                                [
  950.                                  'Apache::RequestRec',
  951.                                  'Apache::RequestRec'
  952.                                ]
  953.                              ],
  954.           'insert_after' => [
  955.                               [
  956.                                 'APR::Bucket',
  957.                                 'APR::Bucket'
  958.                               ]
  959.                             ],
  960.           'insert_before' => [
  961.                                [
  962.                                  'APR::Bucket',
  963.                                  'APR::Bucket'
  964.                                ]
  965.                              ],
  966.           'insert_head' => [
  967.                              [
  968.                                'APR::Brigade',
  969.                                'APR::Brigade'
  970.                              ]
  971.                            ],
  972.           'insert_tail' => [
  973.                              [
  974.                                'APR::Brigade',
  975.                                'APR::Brigade'
  976.                              ]
  977.                            ],
  978.           'internal_fast_redirect' => [
  979.                                         [
  980.                                           'Apache::SubRequest',
  981.                                           'Apache::RequestRec'
  982.                                         ]
  983.                                       ],
  984.           'internal_redirect' => [
  985.                                    [
  986.                                      'Apache::SubRequest',
  987.                                      'Apache::RequestRec'
  988.                                    ]
  989.                                  ],
  990.           'internal_redirect_handler' => [
  991.                                            [
  992.                                              'Apache::SubRequest',
  993.                                              'Apache::RequestRec'
  994.                                            ]
  995.                                          ],
  996.           'invoke_handler' => [
  997.                                 [
  998.                                   'Apache::HookRun',
  999.                                   'Apache::RequestRec'
  1000.                                 ]
  1001.                               ],
  1002.           'ip_get' => [
  1003.                         [
  1004.                           'APR::SockAddr',
  1005.                           'APR::SockAddr'
  1006.                         ]
  1007.                       ],
  1008.           'is_ancestor' => [
  1009.                              [
  1010.                                'APR::Pool',
  1011.                                'APR::Pool'
  1012.                              ]
  1013.                            ],
  1014.           'is_empty' => [
  1015.                           [
  1016.                             'APR::Brigade',
  1017.                             'APR::Brigade'
  1018.                           ]
  1019.                         ],
  1020.           'is_eos' => [
  1021.                         [
  1022.                           'APR::Bucket',
  1023.                           'APR::Bucket'
  1024.                         ]
  1025.                       ],
  1026.           'is_flush' => [
  1027.                           [
  1028.                             'APR::Bucket',
  1029.                             'APR::Bucket'
  1030.                           ]
  1031.                         ],
  1032.           'is_initial_req' => [
  1033.                                 [
  1034.                                   'Apache::RequestUtil',
  1035.                                   'Apache::RequestRec'
  1036.                                 ]
  1037.                               ],
  1038.           'is_perl_option_enabled' => [
  1039.                                         [
  1040.                                           'Apache::ServerUtil',
  1041.                                           'Apache::ServerRec'
  1042.                                         ],
  1043.                                         [
  1044.                                           'Apache::RequestUtil',
  1045.                                           'Apache::RequestRec'
  1046.                                         ]
  1047.                                       ],
  1048.           'is_virtual' => [
  1049.                             [
  1050.                               'Apache::ServerRec',
  1051.                               'Apache::ServerRec'
  1052.                             ]
  1053.                           ],
  1054.           'keep_alive' => [
  1055.                             [
  1056.                               'Apache::ServerRec',
  1057.                               'Apache::ServerRec'
  1058.                             ]
  1059.                           ],
  1060.           'keep_alive_max' => [
  1061.                                 [
  1062.                                   'Apache::ServerRec',
  1063.                                   'Apache::ServerRec'
  1064.                                 ]
  1065.                               ],
  1066.           'keep_alive_timeout' => [
  1067.                                     [
  1068.                                       'Apache::ServerRec',
  1069.                                       'Apache::ServerRec'
  1070.                                     ]
  1071.                                   ],
  1072.           'keepalive' => [
  1073.                            [
  1074.                              'Apache::Connection',
  1075.                              'Apache::Connection'
  1076.                            ]
  1077.                          ],
  1078.           'keepalives' => [
  1079.                             [
  1080.                               'Apache::Connection',
  1081.                               'Apache::Connection'
  1082.                             ]
  1083.                           ],
  1084.           'last' => [
  1085.                       [
  1086.                         'APR::Brigade',
  1087.                         'APR::Brigade'
  1088.                       ]
  1089.                     ],
  1090.           'length' => [
  1091.                         [
  1092.                           'APR::Bucket',
  1093.                           'APR::Bucket'
  1094.                         ],
  1095.                         [
  1096.                           'APR::Brigade',
  1097.                           'APR::Brigade'
  1098.                         ]
  1099.                       ],
  1100.           'limit_req_fields' => [
  1101.                                   [
  1102.                                     'Apache::ServerRec',
  1103.                                     'Apache::ServerRec'
  1104.                                   ]
  1105.                                 ],
  1106.           'limit_req_fieldsize' => [
  1107.                                      [
  1108.                                        'Apache::ServerRec',
  1109.                                        'Apache::ServerRec'
  1110.                                      ]
  1111.                                    ],
  1112.           'limit_req_line' => [
  1113.                                 [
  1114.                                   'Apache::ServerRec',
  1115.                                   'Apache::ServerRec'
  1116.                                 ]
  1117.                               ],
  1118.           'line_num' => [
  1119.                           [
  1120.                             'Apache::Directive',
  1121.                             'Apache::Directive'
  1122.                           ]
  1123.                         ],
  1124.           'listen' => [
  1125.                         [
  1126.                           'APR::Socket',
  1127.                           'APR::Socket'
  1128.                         ]
  1129.                       ],
  1130.           'loaded' => [
  1131.                         [
  1132.                           'Apache::Module',
  1133.                           'Apache::Module'
  1134.                         ]
  1135.                       ],
  1136.           'local_addr' => [
  1137.                             [
  1138.                               'Apache::Connection',
  1139.                               'Apache::Connection'
  1140.                             ]
  1141.                           ],
  1142.           'local_host' => [
  1143.                             [
  1144.                               'Apache::Connection',
  1145.                               'Apache::Connection'
  1146.                             ]
  1147.                           ],
  1148.           'local_ip' => [
  1149.                           [
  1150.                             'Apache::Connection',
  1151.                             'Apache::Connection'
  1152.                           ]
  1153.                         ],
  1154.           'location' => [
  1155.                           [
  1156.                             'Apache::RequestUtil',
  1157.                             'Apache::RequestRec'
  1158.                           ]
  1159.                         ],
  1160.           'location_merge' => [
  1161.                                 [
  1162.                                   'Apache::RequestUtil',
  1163.                                   'Apache::RequestRec'
  1164.                                 ]
  1165.                               ],
  1166.           'lock' => [
  1167.                       [
  1168.                         'APR::ThreadMutex',
  1169.                         'APR::ThreadMutex'
  1170.                       ]
  1171.                     ],
  1172.           'log' => [
  1173.                      [
  1174.                        'Apache::Log',
  1175.                        'Apache::ServerRec'
  1176.                      ],
  1177.                      [
  1178.                        'Apache::Log',
  1179.                        'Apache::RequestRec'
  1180.                      ]
  1181.                    ],
  1182.           'log_error' => [
  1183.                            [
  1184.                              'Apache::Log',
  1185.                              undef
  1186.                            ],
  1187.                            [
  1188.                              'Apache::Log',
  1189.                              undef
  1190.                            ]
  1191.                          ],
  1192.           'log_pid' => [
  1193.                          [
  1194.                            'Apache::Log',
  1195.                            'Apache::Log'
  1196.                          ]
  1197.                        ],
  1198.           'log_rerror' => [
  1199.                             [
  1200.                               'Apache::Log',
  1201.                               undef
  1202.                             ]
  1203.                           ],
  1204.           'log_serror' => [
  1205.                             [
  1206.                               'Apache::Log',
  1207.                               undef
  1208.                             ]
  1209.                           ],
  1210.           'loglevel' => [
  1211.                           [
  1212.                             'Apache::ServerRec',
  1213.                             'Apache::ServerRec'
  1214.                           ]
  1215.                         ],
  1216.           'lookup' => [
  1217.                         [
  1218.                           'Apache::Directive',
  1219.                           undef
  1220.                         ]
  1221.                       ],
  1222.           'lookup_defaults' => [
  1223.                                  [
  1224.                                    'Apache::ServerRec',
  1225.                                    'Apache::ServerRec'
  1226.                                  ]
  1227.                                ],
  1228.           'lookup_dirent' => [
  1229.                                [
  1230.                                  'Apache::SubRequest',
  1231.                                  'Apache::RequestRec'
  1232.                                ]
  1233.                              ],
  1234.           'lookup_file' => [
  1235.                              [
  1236.                                'Apache::SubRequest',
  1237.                                'Apache::RequestRec'
  1238.                              ]
  1239.                            ],
  1240.           'lookup_method_uri' => [
  1241.                                    [
  1242.                                      'Apache::SubRequest',
  1243.                                      'Apache::RequestRec'
  1244.                                    ]
  1245.                                  ],
  1246.           'lookup_uri' => [
  1247.                             [
  1248.                               'Apache::SubRequest',
  1249.                               'Apache::RequestRec'
  1250.                             ]
  1251.                           ],
  1252.           'main' => [
  1253.                       [
  1254.                         'Apache::RequestRec',
  1255.                         'Apache::RequestRec'
  1256.                       ]
  1257.                     ],
  1258.           'make' => [
  1259.                       [
  1260.                         'APR::Table',
  1261.                         'APR::Table'
  1262.                       ]
  1263.                     ],
  1264.           'make_etag' => [
  1265.                            [
  1266.                              'Apache::Response',
  1267.                              'Apache::RequestRec'
  1268.                            ]
  1269.                          ],
  1270.           'meets_conditions' => [
  1271.                                   [
  1272.                                     'Apache::Response',
  1273.                                     'Apache::RequestRec'
  1274.                                   ]
  1275.                                 ],
  1276.           'merge' => [
  1277.                        [
  1278.                          'APR::Table',
  1279.                          'APR::Table'
  1280.                        ]
  1281.                      ],
  1282.           'method' => [
  1283.                         [
  1284.                           'Apache::RequestRec',
  1285.                           'Apache::RequestRec'
  1286.                         ]
  1287.                       ],
  1288.           'method_is_limited' => [
  1289.                                    [
  1290.                                      'Apache::CmdParms',
  1291.                                      'Apache::CmdParms'
  1292.                                    ]
  1293.                                  ],
  1294.           'method_number' => [
  1295.                                [
  1296.                                  'Apache::RequestRec',
  1297.                                  'Apache::RequestRec'
  1298.                                ]
  1299.                              ],
  1300.           'method_register' => [
  1301.                                  [
  1302.                                    'Apache::ServerUtil',
  1303.                                    'Apache::ServerRec'
  1304.                                  ]
  1305.                                ],
  1306.           'minor_version' => [
  1307.                                [
  1308.                                  'Apache::Module',
  1309.                                  'Apache::Module'
  1310.                                ]
  1311.                              ],
  1312.           'module_config' => [
  1313.                                [
  1314.                                  'Apache::ServerRec',
  1315.                                  'Apache::ServerRec'
  1316.                                ]
  1317.                              ],
  1318.           'module_index' => [
  1319.                               [
  1320.                                 'Apache::Module',
  1321.                                 'Apache::Module'
  1322.                               ]
  1323.                             ],
  1324.           'mtime' => [
  1325.                        [
  1326.                          'APR::Finfo',
  1327.                          'APR::Finfo'
  1328.                        ],
  1329.                        [
  1330.                          'Apache::RequestRec',
  1331.                          'Apache::RequestRec'
  1332.                        ]
  1333.                      ],
  1334.           'name' => [
  1335.                       [
  1336.                         'Apache::FilterRec',
  1337.                         'Apache::FilterRec'
  1338.                       ],
  1339.                       [
  1340.                         'APR::Finfo',
  1341.                         'APR::Finfo'
  1342.                       ],
  1343.                       [
  1344.                         'APR::BucketType',
  1345.                         'APR::BucketType'
  1346.                       ],
  1347.                       [
  1348.                         'Apache::Module',
  1349.                         'Apache::Module'
  1350.                       ],
  1351.                       [
  1352.                         'Apache::Command',
  1353.                         'Apache::Command'
  1354.                       ]
  1355.                     ],
  1356.           'names' => [
  1357.                        [
  1358.                          'Apache::ServerRec',
  1359.                          'Apache::ServerRec'
  1360.                        ]
  1361.                      ],
  1362.           'new' => [
  1363.                      [
  1364.                        'APR::Bucket',
  1365.                        'APR::Bucket'
  1366.                      ],
  1367.                      [
  1368.                        'APR::UUID',
  1369.                        'APR::UUID'
  1370.                      ],
  1371.                      [
  1372.                        'Apache::RequestUtil',
  1373.                        'Apache::RequestRec'
  1374.                      ],
  1375.                      [
  1376.                        'APR::Brigade',
  1377.                        'APR::Brigade'
  1378.                      ],
  1379.                      [
  1380.                        'APR::ThreadMutex',
  1381.                        'APR::ThreadMutex'
  1382.                      ],
  1383.                      [
  1384.                        'APR::IpSubnet',
  1385.                        'APR::IpSubnet'
  1386.                      ],
  1387.                      [
  1388.                        'APR::Pool',
  1389.                        'APR::Pool'
  1390.                      ]
  1391.                    ],
  1392.           'next' => [
  1393.                       [
  1394.                         'Apache::ServerRec',
  1395.                         'Apache::ServerRec'
  1396.                       ],
  1397.                       [
  1398.                         'Apache::Module',
  1399.                         'Apache::Module'
  1400.                       ],
  1401.                       [
  1402.                         'APR::Brigade',
  1403.                         'APR::Brigade'
  1404.                       ],
  1405.                       [
  1406.                         'Apache::Command',
  1407.                         'Apache::Command'
  1408.                       ],
  1409.                       [
  1410.                         'Apache::RequestRec',
  1411.                         'Apache::RequestRec'
  1412.                       ],
  1413.                       [
  1414.                         'Apache::Directive',
  1415.                         'Apache::Directive'
  1416.                       ],
  1417.                       [
  1418.                         'Apache::Filter',
  1419.                         'Apache::Filter'
  1420.                       ]
  1421.                     ],
  1422.           'nlink' => [
  1423.                        [
  1424.                          'APR::Finfo',
  1425.                          'APR::Finfo'
  1426.                        ]
  1427.                      ],
  1428.           'no_cache' => [
  1429.                           [
  1430.                             'Apache::RequestUtil',
  1431.                             'Apache::RequestRec'
  1432.                           ]
  1433.                         ],
  1434.           'no_local_copy' => [
  1435.                                [
  1436.                                  'Apache::RequestRec',
  1437.                                  'Apache::RequestRec'
  1438.                                ]
  1439.                              ],
  1440.           'note_auth_failure' => [
  1441.                                    [
  1442.                                      'Apache::Access',
  1443.                                      'Apache::RequestRec'
  1444.                                    ]
  1445.                                  ],
  1446.           'note_basic_auth_failure' => [
  1447.                                          [
  1448.                                            'Apache::Access',
  1449.                                            'Apache::RequestRec'
  1450.                                          ]
  1451.                                        ],
  1452.           'note_digest_auth_failure' => [
  1453.                                           [
  1454.                                             'Apache::Access',
  1455.                                             'Apache::RequestRec'
  1456.                                           ]
  1457.                                         ],
  1458.           'notes' => [
  1459.                        [
  1460.                          'Apache::Connection',
  1461.                          'Apache::Connection'
  1462.                        ],
  1463.                        [
  1464.                          'Apache::RequestRec',
  1465.                          'Apache::RequestRec'
  1466.                        ]
  1467.                      ],
  1468.           'notice' => [
  1469.                         [
  1470.                           'Apache::Log',
  1471.                           undef
  1472.                         ]
  1473.                       ],
  1474.           'opt_get' => [
  1475.                          [
  1476.                            'APR::Socket',
  1477.                            'APR::Socket'
  1478.                          ]
  1479.                        ],
  1480.           'opt_set' => [
  1481.                          [
  1482.                            'APR::Socket',
  1483.                            'APR::Socket'
  1484.                          ]
  1485.                        ],
  1486.           'output_filters' => [
  1487.                                 [
  1488.                                   'Apache::Connection',
  1489.                                   'Apache::Connection'
  1490.                                 ],
  1491.                                 [
  1492.                                   'Apache::RequestRec',
  1493.                                   'Apache::RequestRec'
  1494.                                 ]
  1495.                               ],
  1496.           'overlap' => [
  1497.                          [
  1498.                            'APR::Table',
  1499.                            'APR::Table'
  1500.                          ]
  1501.                        ],
  1502.           'overlay' => [
  1503.                          [
  1504.                            'APR::Table',
  1505.                            'APR::Table'
  1506.                          ]
  1507.                        ],
  1508.           'override' => [
  1509.                           [
  1510.                             'Apache::CmdParms',
  1511.                             'Apache::CmdParms'
  1512.                           ]
  1513.                         ],
  1514.           'parent' => [
  1515.                         [
  1516.                           'Apache::Directive',
  1517.                           'Apache::Directive'
  1518.                         ]
  1519.                       ],
  1520.           'parent_get' => [
  1521.                             [
  1522.                               'APR::Pool',
  1523.                               'APR::Pool'
  1524.                             ]
  1525.                           ],
  1526.           'parse' => [
  1527.                        [
  1528.                          'APR::UUID',
  1529.                          'APR::UUID'
  1530.                        ],
  1531.                        [
  1532.                          'APR::URI',
  1533.                          'APR::URI'
  1534.                        ]
  1535.                      ],
  1536.           'parse_http' => [
  1537.                             [
  1538.                               'APR::Date',
  1539.                               'APR::Date'
  1540.                             ]
  1541.                           ],
  1542.           'parse_rfc' => [
  1543.                            [
  1544.                              'APR::Date',
  1545.                              'APR::Date'
  1546.                            ]
  1547.                          ],
  1548.           'parse_uri' => [
  1549.                            [
  1550.                              'Apache::URI',
  1551.                              'Apache::RequestRec'
  1552.                            ]
  1553.                          ],
  1554.           'parsed_uri' => [
  1555.                             [
  1556.                               'Apache::URI',
  1557.                               'Apache::RequestRec'
  1558.                             ]
  1559.                           ],
  1560.           'pass_brigade' => [
  1561.                               [
  1562.                                 'Apache::Filter',
  1563.                                 'Apache::Filter'
  1564.                               ]
  1565.                             ],
  1566.           'password' => [
  1567.                           [
  1568.                             'APR::URI',
  1569.                             'APR::URI'
  1570.                           ]
  1571.                         ],
  1572.           'password_get' => [
  1573.                               [
  1574.                                 'APR::Util',
  1575.                                 'APR::Util'
  1576.                               ]
  1577.                             ],
  1578.           'password_validate' => [
  1579.                                    [
  1580.                                      'APR::Util',
  1581.                                      'APR::Util'
  1582.                                    ]
  1583.                                  ],
  1584.           'path' => [
  1585.                       [
  1586.                         'Apache::CmdParms',
  1587.                         'Apache::CmdParms'
  1588.                       ],
  1589.                       [
  1590.                         'Apache::ServerRec',
  1591.                         'Apache::ServerRec'
  1592.                       ],
  1593.                       [
  1594.                         'APR::URI',
  1595.                         'APR::URI'
  1596.                       ]
  1597.                     ],
  1598.           'path_info' => [
  1599.                            [
  1600.                              'Apache::RequestRec',
  1601.                              'Apache::RequestRec'
  1602.                            ]
  1603.                          ],
  1604.           'pconf' => [
  1605.                        [
  1606.                          'Apache::Process',
  1607.                          'Apache::Process'
  1608.                        ]
  1609.                      ],
  1610.           'per_dir_config' => [
  1611.                                 [
  1612.                                   'Apache::RequestRec',
  1613.                                   'Apache::RequestRec'
  1614.                                 ]
  1615.                               ],
  1616.           'pnotes' => [
  1617.                         [
  1618.                           'Apache::RequestUtil',
  1619.                           'Apache::RequestRec'
  1620.                         ]
  1621.                       ],
  1622.           'pool' => [
  1623.                       [
  1624.                         'APR::Finfo',
  1625.                         'APR::Finfo'
  1626.                       ],
  1627.                       [
  1628.                         'Apache::CmdParms',
  1629.                         'Apache::CmdParms'
  1630.                       ],
  1631.                       [
  1632.                         'Apache::Connection',
  1633.                         'Apache::Connection'
  1634.                       ],
  1635.                       [
  1636.                         'Apache::Process',
  1637.                         'Apache::Process'
  1638.                       ],
  1639.                       [
  1640.                         'APR::Brigade',
  1641.                         'APR::Brigade'
  1642.                       ],
  1643.                       [
  1644.                         'Apache::RequestRec',
  1645.                         'Apache::RequestRec'
  1646.                       ]
  1647.                     ],
  1648.           'pool_get' => [
  1649.                           [
  1650.                             'APR::ThreadMutex',
  1651.                             'APR::ThreadMutex'
  1652.                           ]
  1653.                         ],
  1654.           'port' => [
  1655.                       [
  1656.                         'APR::SockAddr',
  1657.                         'APR::SockAddr'
  1658.                       ],
  1659.                       [
  1660.                         'Apache::ServerRec',
  1661.                         'Apache::ServerRec'
  1662.                       ],
  1663.                       [
  1664.                         'APR::URI',
  1665.                         'APR::URI'
  1666.                       ]
  1667.                     ],
  1668.           'port_of_scheme' => [
  1669.                                 [
  1670.                                   'APR::URI',
  1671.                                   'APR::URI'
  1672.                                 ]
  1673.                               ],
  1674.           'prev' => [
  1675.                       [
  1676.                         'APR::Brigade',
  1677.                         'APR::Brigade'
  1678.                       ],
  1679.                       [
  1680.                         'Apache::RequestRec',
  1681.                         'Apache::RequestRec'
  1682.                       ]
  1683.                     ],
  1684.           'print' => [
  1685.                        [
  1686.                          'Apache::RequestIO',
  1687.                          'Apache::RequestRec'
  1688.                        ],
  1689.                        [
  1690.                          'Apache::Filter',
  1691.                          'Apache::Filter'
  1692.                        ]
  1693.                      ],
  1694.           'printf' => [
  1695.                         [
  1696.                           'Apache::RequestIO',
  1697.                           'Apache::RequestRec'
  1698.                         ]
  1699.                       ],
  1700.           'process' => [
  1701.                          [
  1702.                            'Apache::ServerRec',
  1703.                            'Apache::ServerRec'
  1704.                          ]
  1705.                        ],
  1706.           'protection' => [
  1707.                             [
  1708.                               'APR::Finfo',
  1709.                               'APR::Finfo'
  1710.                             ]
  1711.                           ],
  1712.           'proto_input_filters' => [
  1713.                                      [
  1714.                                        'Apache::RequestRec',
  1715.                                        'Apache::RequestRec'
  1716.                                      ]
  1717.                                    ],
  1718.           'proto_num' => [
  1719.                            [
  1720.                              'Apache::RequestRec',
  1721.                              'Apache::RequestRec'
  1722.                            ]
  1723.                          ],
  1724.           'proto_output_filters' => [
  1725.                                       [
  1726.                                         'Apache::RequestRec',
  1727.                                         'Apache::RequestRec'
  1728.                                       ]
  1729.                                     ],
  1730.           'protocol' => [
  1731.                           [
  1732.                             'Apache::RequestRec',
  1733.                             'Apache::RequestRec'
  1734.                           ]
  1735.                         ],
  1736.           'proxyreq' => [
  1737.                           [
  1738.                             'Apache::RequestRec',
  1739.                             'Apache::RequestRec'
  1740.                           ]
  1741.                         ],
  1742.           'psignature' => [
  1743.                             [
  1744.                               'Apache::RequestUtil',
  1745.                               'Apache::RequestRec'
  1746.                             ]
  1747.                           ],
  1748.           'push_handlers' => [
  1749.                                [
  1750.                                  'Apache::ServerUtil',
  1751.                                  'Apache::ServerRec'
  1752.                                ],
  1753.                                [
  1754.                                  'Apache::RequestUtil',
  1755.                                  'Apache::RequestRec'
  1756.                                ]
  1757.                              ],
  1758.           'puts' => [
  1759.                       [
  1760.                         'Apache::RequestIO',
  1761.                         'Apache::RequestRec'
  1762.                       ]
  1763.                     ],
  1764.           'query' => [
  1765.                        [
  1766.                          'APR::URI',
  1767.                          'APR::URI'
  1768.                        ],
  1769.                        [
  1770.                          'Apache::MPM',
  1771.                          'Apache::MPM'
  1772.                        ]
  1773.                      ],
  1774.           'r' => [
  1775.                    [
  1776.                      'Apache::Filter',
  1777.                      'Apache::Filter'
  1778.                    ]
  1779.                  ],
  1780.           'rationalize_mtime' => [
  1781.                                    [
  1782.                                      'Apache::Response',
  1783.                                      'Apache::RequestRec'
  1784.                                    ]
  1785.                                  ],
  1786.           'read' => [
  1787.                       [
  1788.                         'APR::Bucket',
  1789.                         'APR::Bucket'
  1790.                       ],
  1791.                       [
  1792.                         'Apache::RequestIO',
  1793.                         'Apache::RequestRec'
  1794.                       ],
  1795.                       [
  1796.                         'Apache::Filter',
  1797.                         'Apache::Filter'
  1798.                       ]
  1799.                     ],
  1800.           'recv' => [
  1801.                       [
  1802.                         'APR::Socket',
  1803.                         'APR::Socket'
  1804.                       ]
  1805.                     ],
  1806.           'recvfrom' => [
  1807.                           [
  1808.                             'APR::Socket',
  1809.                             'APR::Socket'
  1810.                           ]
  1811.                         ],
  1812.           'remote_addr' => [
  1813.                              [
  1814.                                'Apache::Connection',
  1815.                                'Apache::Connection'
  1816.                              ]
  1817.                            ],
  1818.           'remote_host' => [
  1819.                              [
  1820.                                'Apache::Connection',
  1821.                                'Apache::Connection'
  1822.                              ]
  1823.                            ],
  1824.           'remote_ip' => [
  1825.                            [
  1826.                              'Apache::Connection',
  1827.                              'Apache::Connection'
  1828.                            ]
  1829.                          ],
  1830.           'remove' => [
  1831.                         [
  1832.                           'APR::Bucket',
  1833.                           'APR::Bucket'
  1834.                         ],
  1835.                         [
  1836.                           'Apache::Filter',
  1837.                           'Apache::Filter'
  1838.                         ]
  1839.                       ],
  1840.           'remove_loaded_module' => [
  1841.                                       [
  1842.                                         'Apache::Module',
  1843.                                         'Apache::Module'
  1844.                                       ]
  1845.                                     ],
  1846.           'req_override' => [
  1847.                               [
  1848.                                 'Apache::Command',
  1849.                                 'Apache::Command'
  1850.                               ]
  1851.                             ],
  1852.           'request' => [
  1853.                          [
  1854.                            'Apache::RequestUtil',
  1855.                            'Apache'
  1856.                          ]
  1857.                        ],
  1858.           'request_config' => [
  1859.                                 [
  1860.                                   'Apache::RequestRec',
  1861.                                   'Apache::RequestRec'
  1862.                                 ]
  1863.                               ],
  1864.           'request_time' => [
  1865.                               [
  1866.                                 'Apache::RequestRec',
  1867.                                 'Apache::RequestRec'
  1868.                               ]
  1869.                             ],
  1870.           'requires' => [
  1871.                           [
  1872.                             'Apache::Access',
  1873.                             'Apache::RequestRec'
  1874.                           ]
  1875.                         ],
  1876.           'rflush' => [
  1877.                         [
  1878.                           'Apache::RequestIO',
  1879.                           'Apache::RequestRec'
  1880.                         ]
  1881.                       ],
  1882.           'run' => [
  1883.                      [
  1884.                        'Apache::SubRequest',
  1885.                        'Apache::SubRequest'
  1886.                      ]
  1887.                    ],
  1888.           'run_access_checker' => [
  1889.                                     [
  1890.                                       'Apache::HookRun',
  1891.                                       'Apache::RequestRec'
  1892.                                     ]
  1893.                                   ],
  1894.           'run_auth_checker' => [
  1895.                                   [
  1896.                                     'Apache::HookRun',
  1897.                                     'Apache::RequestRec'
  1898.                                   ]
  1899.                                 ],
  1900.           'run_check_user_id' => [
  1901.                                    [
  1902.                                      'Apache::HookRun',
  1903.                                      'Apache::RequestRec'
  1904.                                    ]
  1905.                                  ],
  1906.           'run_fixups' => [
  1907.                             [
  1908.                               'Apache::HookRun',
  1909.                               'Apache::RequestRec'
  1910.                             ]
  1911.                           ],
  1912.           'run_handler' => [
  1913.                              [
  1914.                                'Apache::HookRun',
  1915.                                'Apache::RequestRec'
  1916.                              ]
  1917.                            ],
  1918.           'run_header_parser' => [
  1919.                                    [
  1920.                                      'Apache::HookRun',
  1921.                                      'Apache::RequestRec'
  1922.                                    ]
  1923.                                  ],
  1924.           'run_log_transaction' => [
  1925.                                      [
  1926.                                        'Apache::HookRun',
  1927.                                        'Apache::RequestRec'
  1928.                                      ]
  1929.                                    ],
  1930.           'run_map_to_storage' => [
  1931.                                     [
  1932.                                       'Apache::HookRun',
  1933.                                       'Apache::RequestRec'
  1934.                                     ]
  1935.                                   ],
  1936.           'run_post_read_request' => [
  1937.                                        [
  1938.                                          'Apache::HookRun',
  1939.                                          'Apache::RequestRec'
  1940.                                        ]
  1941.                                      ],
  1942.           'run_translate_name' => [
  1943.                                     [
  1944.                                       'Apache::HookRun',
  1945.                                       'Apache::RequestRec'
  1946.                                     ]
  1947.                                   ],
  1948.           'run_type_checker' => [
  1949.                                   [
  1950.                                     'Apache::HookRun',
  1951.                                     'Apache::RequestRec'
  1952.                                   ]
  1953.                                 ],
  1954.           'satisfies' => [
  1955.                            [
  1956.                              'Apache::Access',
  1957.                              'Apache::RequestRec'
  1958.                            ]
  1959.                          ],
  1960.           'sbh' => [
  1961.                      [
  1962.                        'Apache::Connection',
  1963.                        'Apache::Connection'
  1964.                      ]
  1965.                    ],
  1966.           'scheme' => [
  1967.                         [
  1968.                           'APR::URI',
  1969.                           'APR::URI'
  1970.                         ]
  1971.                       ],
  1972.           'seen_eos' => [
  1973.                           [
  1974.                             'Apache::Filter',
  1975.                             'Apache::Filter'
  1976.                           ]
  1977.                         ],
  1978.           'send' => [
  1979.                       [
  1980.                         'APR::Socket',
  1981.                         'APR::Socket'
  1982.                       ]
  1983.                     ],
  1984.           'send_cgi_header' => [
  1985.                                  [
  1986.                                    'Apache::Response',
  1987.                                    'Apache::RequestRec'
  1988.                                  ]
  1989.                                ],
  1990.           'send_error_response' => [
  1991.                                      [
  1992.                                        'Apache::Response',
  1993.                                        'Apache::RequestRec'
  1994.                                      ]
  1995.                                    ],
  1996.           'send_mmap' => [
  1997.                            [
  1998.                              'Apache::Response',
  1999.                              'Apache::RequestRec'
  2000.                            ]
  2001.                          ],
  2002.           'sendfile' => [
  2003.                           [
  2004.                             'Apache::RequestIO',
  2005.                             'Apache::RequestRec'
  2006.                           ]
  2007.                         ],
  2008.           'sendto' => [
  2009.                         [
  2010.                           'APR::Socket',
  2011.                           'APR::Socket'
  2012.                         ]
  2013.                       ],
  2014.           'server' => [
  2015.                         [
  2016.                           'Apache::CmdParms',
  2017.                           'Apache::CmdParms'
  2018.                         ],
  2019.                         [
  2020.                           'Apache::ServerUtil',
  2021.                           'Apache'
  2022.                         ],
  2023.                         [
  2024.                           'Apache::RequestRec',
  2025.                           'Apache::RequestRec'
  2026.                         ]
  2027.                       ],
  2028.           'server_admin' => [
  2029.                               [
  2030.                                 'Apache::ServerRec',
  2031.                                 'Apache::ServerRec'
  2032.                               ]
  2033.                             ],
  2034.           'server_hostname' => [
  2035.                                  [
  2036.                                    'Apache::ServerRec',
  2037.                                    'Apache::ServerRec'
  2038.                                  ]
  2039.                                ],
  2040.           'server_root_relative' => [
  2041.                                       [
  2042.                                         'Apache::ServerUtil',
  2043.                                         'Apache::ServerUtil'
  2044.                                       ]
  2045.                                     ],
  2046.           'set' => [
  2047.                      [
  2048.                        'APR::Table',
  2049.                        'APR::Table'
  2050.                      ]
  2051.                    ],
  2052.           'set_basic_credentials' => [
  2053.                                        [
  2054.                                          'Apache::RequestUtil',
  2055.                                          'Apache::RequestRec'
  2056.                                        ]
  2057.                                      ],
  2058.           'set_content_length' => [
  2059.                                     [
  2060.                                       'Apache::Response',
  2061.                                       'Apache::RequestRec'
  2062.                                     ]
  2063.                                   ],
  2064.           'set_etag' => [
  2065.                           [
  2066.                             'Apache::Response',
  2067.                             'Apache::RequestRec'
  2068.                           ]
  2069.                         ],
  2070.           'set_handlers' => [
  2071.                               [
  2072.                                 'Apache::ServerUtil',
  2073.                                 'Apache::ServerRec'
  2074.                               ],
  2075.                               [
  2076.                                 'Apache::RequestUtil',
  2077.                                 'Apache::RequestRec'
  2078.                               ]
  2079.                             ],
  2080.           'set_keepalive' => [
  2081.                                [
  2082.                                  'Apache::Response',
  2083.                                  'Apache::RequestRec'
  2084.                                ]
  2085.                              ],
  2086.           'set_last_modified' => [
  2087.                                    [
  2088.                                      'Apache::Response',
  2089.                                      'Apache::RequestRec'
  2090.                                    ]
  2091.                                  ],
  2092.           'setup_client_block' => [
  2093.                                     [
  2094.                                       'Apache::RequestIO',
  2095.                                       'Apache::RequestRec'
  2096.                                     ]
  2097.                                   ],
  2098.           'short_name' => [
  2099.                             [
  2100.                               'Apache::Process',
  2101.                               'Apache::Process'
  2102.                             ]
  2103.                           ],
  2104.           'should_client_block' => [
  2105.                                      [
  2106.                                        'Apache::RequestIO',
  2107.                                        'Apache::RequestRec'
  2108.                                      ]
  2109.                                    ],
  2110.           'size' => [
  2111.                       [
  2112.                         'APR::Finfo',
  2113.                         'APR::Finfo'
  2114.                       ]
  2115.                     ],
  2116.           'slurp_filename' => [
  2117.                                 [
  2118.                                   'Apache::RequestUtil',
  2119.                                   'Apache::RequestRec'
  2120.                                 ]
  2121.                               ],
  2122.           'some_auth_required' => [
  2123.                                     [
  2124.                                       'Apache::Access',
  2125.                                       'Apache::RequestRec'
  2126.                                     ]
  2127.                                   ],
  2128.           'spawn_proc_prog' => [
  2129.                                  [
  2130.                                    'Apache::SubProcess',
  2131.                                    undef
  2132.                                  ]
  2133.                                ],
  2134.           'special_list_call' => [
  2135.                                    [
  2136.                                      'ModPerl::Global',
  2137.                                      'ModPerl::Global'
  2138.                                    ]
  2139.                                  ],
  2140.           'special_list_clear' => [
  2141.                                     [
  2142.                                       'ModPerl::Global',
  2143.                                       'ModPerl::Global'
  2144.                                     ]
  2145.                                   ],
  2146.           'special_list_register' => [
  2147.                                        [
  2148.                                          'ModPerl::Global',
  2149.                                          'ModPerl::Global'
  2150.                                        ]
  2151.                                      ],
  2152.           'split' => [
  2153.                        [
  2154.                          'APR::Brigade',
  2155.                          'APR::Brigade'
  2156.                        ]
  2157.                      ],
  2158.           'start' => [
  2159.                        [
  2160.                          'APR::Bucket',
  2161.                          'APR::Bucket'
  2162.                        ]
  2163.                      ],
  2164.           'stat' => [
  2165.                       [
  2166.                         'APR::Finfo',
  2167.                         'APR::Finfo'
  2168.                       ]
  2169.                     ],
  2170.           'status' => [
  2171.                         [
  2172.                           'Apache::RequestRec',
  2173.                           'Apache::RequestRec'
  2174.                         ]
  2175.                       ],
  2176.           'status_line' => [
  2177.                              [
  2178.                                'Apache::RequestRec',
  2179.                                'Apache::RequestRec'
  2180.                              ]
  2181.                            ],
  2182.           'strerror' => [
  2183.                           [
  2184.                             'APR::Error',
  2185.                             'APR::Error'
  2186.                           ]
  2187.                         ],
  2188.           'subprocess_env' => [
  2189.                                 [
  2190.                                   'Apache::RequestRec',
  2191.                                   'Apache::RequestRec'
  2192.                                 ]
  2193.                               ],
  2194.           'tag' => [
  2195.                      [
  2196.                        'APR::Pool',
  2197.                        'APR::Pool'
  2198.                      ]
  2199.                    ],
  2200.           'temp_pool' => [
  2201.                            [
  2202.                              'Apache::CmdParms',
  2203.                              'Apache::CmdParms'
  2204.                            ]
  2205.                          ],
  2206.           'test' => [
  2207.                       [
  2208.                         'APR::IpSubnet',
  2209.                         'APR::IpSubnet'
  2210.                       ]
  2211.                     ],
  2212.           'the_request' => [
  2213.                              [
  2214.                                'Apache::RequestRec',
  2215.                                'Apache::RequestRec'
  2216.                              ]
  2217.                            ],
  2218.           'thread_current' => [
  2219.                                 [
  2220.                                   'APR::OS',
  2221.                                   'APR::OS'
  2222.                                 ]
  2223.                               ],
  2224.           'timeout' => [
  2225.                          [
  2226.                            'Apache::ServerRec',
  2227.                            'Apache::ServerRec'
  2228.                          ]
  2229.                        ],
  2230.           'timeout_get' => [
  2231.                              [
  2232.                                'APR::Socket',
  2233.                                'APR::Socket'
  2234.                              ]
  2235.                            ],
  2236.           'timeout_set' => [
  2237.                              [
  2238.                                'APR::Socket',
  2239.                                'APR::Socket'
  2240.                              ]
  2241.                            ],
  2242.           'top_module' => [
  2243.                             [
  2244.                               'Apache::Module',
  2245.                               'Apache::Module'
  2246.                             ]
  2247.                           ],
  2248.           'trylock' => [
  2249.                          [
  2250.                            'APR::ThreadMutex',
  2251.                            'APR::ThreadMutex'
  2252.                          ]
  2253.                        ],
  2254.           'type' => [
  2255.                       [
  2256.                         'APR::Bucket',
  2257.                         'APR::Bucket'
  2258.                       ]
  2259.                     ],
  2260.           'unescape_url' => [
  2261.                               [
  2262.                                 'Apache::URI',
  2263.                                 'Apache::URI'
  2264.                               ]
  2265.                             ],
  2266.           'unlock' => [
  2267.                         [
  2268.                           'APR::ThreadMutex',
  2269.                           'APR::ThreadMutex'
  2270.                         ]
  2271.                       ],
  2272.           'unparse' => [
  2273.                          [
  2274.                            'APR::URI',
  2275.                            'APR::URI'
  2276.                          ]
  2277.                        ],
  2278.           'unparsed_uri' => [
  2279.                               [
  2280.                                 'Apache::RequestRec',
  2281.                                 'Apache::RequestRec'
  2282.                               ]
  2283.                             ],
  2284.           'unset' => [
  2285.                        [
  2286.                          'APR::Table',
  2287.                          'APR::Table'
  2288.                        ]
  2289.                      ],
  2290.           'untaint' => [
  2291.                          [
  2292.                            'ModPerl::Util',
  2293.                            'ModPerl::Util'
  2294.                          ]
  2295.                        ],
  2296.           'update_mtime' => [
  2297.                               [
  2298.                                 'Apache::Response',
  2299.                                 'Apache::RequestRec'
  2300.                               ]
  2301.                             ],
  2302.           'uri' => [
  2303.                      [
  2304.                        'Apache::RequestRec',
  2305.                        'Apache::RequestRec'
  2306.                      ]
  2307.                    ],
  2308.           'used_path_info' => [
  2309.                                 [
  2310.                                   'Apache::RequestRec',
  2311.                                   'Apache::RequestRec'
  2312.                                 ]
  2313.                               ],
  2314.           'user' => [
  2315.                       [
  2316.                         'APR::Finfo',
  2317.                         'APR::Finfo'
  2318.                       ],
  2319.                       [
  2320.                         'APR::URI',
  2321.                         'APR::URI'
  2322.                       ],
  2323.                       [
  2324.                         'Apache::RequestRec',
  2325.                         'Apache::RequestRec'
  2326.                       ]
  2327.                     ],
  2328.           'valid' => [
  2329.                        [
  2330.                          'APR::Finfo',
  2331.                          'APR::Finfo'
  2332.                        ]
  2333.                      ],
  2334.           'version' => [
  2335.                          [
  2336.                            'Apache::Module',
  2337.                            'Apache::Module'
  2338.                          ]
  2339.                        ],
  2340.           'warn' => [
  2341.                       [
  2342.                         'Apache::Log',
  2343.                         undef
  2344.                       ],
  2345.                       [
  2346.                         'Apache::Log',
  2347.                         undef
  2348.                       ],
  2349.                       [
  2350.                         'Apache::Log',
  2351.                         undef
  2352.                       ]
  2353.                     ],
  2354.           'wild_names' => [
  2355.                             [
  2356.                               'Apache::ServerRec',
  2357.                               'Apache::ServerRec'
  2358.                             ]
  2359.                           ],
  2360.           'write' => [
  2361.                        [
  2362.                          'Apache::RequestIO',
  2363.                          'Apache::RequestRec'
  2364.                        ]
  2365.                      ]
  2366.         };
  2367.  
  2368.  
  2369. use base qw(Exporter);
  2370.  
  2371. our @EXPORT = qw(print_method print_module print_object);
  2372.  
  2373. use constant MODULE => 0;
  2374. use constant OBJECT  => 1;
  2375.  
  2376. my $modules;
  2377. my $objects;
  2378.  
  2379. sub _get_modules {
  2380.     for my $method (sort keys %$methods) { 
  2381.         for my $item ( @{ $methods->{$method} }) {
  2382.             push @{ $modules->{$item->[MODULE]} }, [$method, $item->[OBJECT]];
  2383.         }
  2384.     }
  2385. }
  2386.  
  2387. sub _get_objects {
  2388.     for my $method (sort keys %$methods) { 
  2389.         for my $item ( @{ $methods->{$method} }) {
  2390.             next unless defined $item->[OBJECT];
  2391.             push @{ $objects->{$item->[OBJECT]} }, [$method, $item->[MODULE]];
  2392.         }
  2393.     }
  2394. }
  2395.  
  2396. # if there is only one replacement method in 2.0 API we can
  2397. # automatically lookup it, up however if there are more than one
  2398. # (e.g. new()), we need to use a fully qualified value here
  2399. # of course the same if the package is not a mod_perl one.
  2400. #
  2401. # the first field represents the replacement method or undef if none
  2402. # exists, the second field is for extra comments (e.g. when there is
  2403. # no replacement method)
  2404. my $methods_compat = {
  2405.     # Apache::
  2406.     gensym            => ['Symbol::gensym',
  2407.                           'or use "open my $fh, $file"'],
  2408.     module            => ['Apache::Module::loaded',
  2409.                           ''],
  2410.     define            => ['exists_config_define',
  2411.                           ''],
  2412.     httpd_conf        => ['add_config',
  2413.                           ''],
  2414.     SERVER_VERSION    => ['get_server_version',
  2415.                           ''],
  2416.     can_stack_handlers=> [undef,
  2417.                           'there is no more need for that method in mp2'],
  2418.  
  2419.     # Apache::RequestRec
  2420.     soft_timeout      => [undef,
  2421.                           'there is no more need for that method in mp2'],
  2422.     hard_timeout      => [undef,
  2423.                           'there is no more need for that method in mp2'],
  2424.     kill_timeout      => [undef,
  2425.                           'there is no more need for that method in mp2'],
  2426.     reset_timeout     => [undef,
  2427.                           'there is no more need for that method in mp2'],
  2428.     cleanup_for_exec  => [undef,
  2429.                           'there is no more need for that method in mp2'],
  2430.     send_http_header  => ['content_type',
  2431.                           ''],
  2432.     header_in         => ['headers_in',
  2433.                           'this method works in mod_perl 1.0 too'],
  2434.     header_out        => ['headers_out',
  2435.                           'this method works in mod_perl 1.0 too'],
  2436.     err_header_out    => ['err_headers_out',
  2437.                           'this method works in mod_perl 1.0 too'],
  2438.     register_cleanup  => ['cleanup_register',
  2439.                           ''],
  2440.     post_connection   => ['cleanup_register',
  2441.                           ''],
  2442.     content           => [undef, # XXX: Apache::Request::what?
  2443.                           'use CGI.pm or Apache::Request instead'],
  2444.     clear_rgy_endav   => ['special_list_clear',
  2445.                           ''],
  2446.     stash_rgy_endav   => [undef,
  2447.                           ''],
  2448.     run_rgy_endav     => ['special_list_call',
  2449.                           'this method is no longer needed'],
  2450.     seqno             => [undef,
  2451.                           'internal to mod_perl 1.0'],
  2452.     chdir_file        => [undef, # XXX: to be resolved
  2453.                           'temporary unavailable till the issue with chdir' .
  2454.                           ' in the threaded env is resolved'],
  2455.     log_reason        => ['log_error',
  2456.                           'not in the Apache 2.0 API'],
  2457.     READLINE          => [undef, # XXX: to be resolved
  2458.                           ''],
  2459.     send_fd_length    => [undef,
  2460.                           'not in the Apache 2.0 API'],
  2461.     send_fd           => ['sendfile',
  2462.                           'requires an offset argument'],
  2463.     is_main           => ['main',
  2464.                           'not in the Apache 2.0 API'],
  2465.     cgi_var           => ['subprocess_env',
  2466.                           'subprocess_env can be used with mod_perl 1.0'],
  2467.     cgi_env           => ['subprocess_env',
  2468.                           'subprocess_env can be used with mod_perl 1.0'],
  2469.     each_byterange    => [undef,
  2470.                           'now handled internally by ap_byterange_filter'],
  2471.     set_byterange     => [undef,
  2472.                           'now handled internally by ap_byterange_filter'],
  2473.  
  2474.     # Apache::File
  2475.     open              => [undef,
  2476.                           ''],
  2477.     close             => [undef, # XXX: also defined in APR::Socket
  2478.                           ''],
  2479.     tmpfile           => [undef,
  2480.                           'not in the Apache 2.0 API, ' .
  2481.                           'use File::Temp instead'],
  2482.  
  2483.     # Apache::Util
  2484.     size_string       => ['format_size',
  2485.                           ''],
  2486.     escape_uri        => ['unescape_path',
  2487.                           ''],
  2488.     unescape_uri      => ['unescape_url',
  2489.                           ''],
  2490.     escape_html       => [undef, # XXX: will be ap_escape_html
  2491.                           'ap_escape_html now requires a pool object'],
  2492.     parsedate         => ['parse_http',
  2493.                           ''],
  2494.     validate_password => ['password_validate',
  2495.                           ''],
  2496.  
  2497.     # Apache::Table
  2498.     #new               => ['make',
  2499.     #                      ''], # XXX: there are other 'new' methods
  2500.  
  2501.     # Apache::Connection
  2502.     auth_type         => ['ap_auth_type',
  2503.                           'now resides in the request object'],
  2504. };
  2505.  
  2506. sub avail_methods_compat {
  2507.     return keys %$methods_compat;
  2508. }
  2509.  
  2510. sub avail_methods {
  2511.     return keys %$methods;
  2512. }
  2513.  
  2514. sub avail_modules {
  2515.     my %modules = ();
  2516.     for my $method (keys %$methods) {
  2517.         for my $item ( @{ $methods->{$method} }) {
  2518.             $modules{$item->[MODULE]}++;
  2519.         }
  2520.     }
  2521.     return keys %modules;
  2522. }
  2523.  
  2524. sub preload_all_modules {
  2525.     _get_modules() unless $modules;
  2526.     eval "require $_" for keys %$modules;
  2527. }
  2528.  
  2529. sub _print_func {
  2530.     my $func = shift;
  2531.     my @args = @_ ? @_ : @ARGV;
  2532.     no strict 'refs';
  2533.     print( ($func->($_))[0]) for @args;
  2534. }
  2535.  
  2536. sub print_module { _print_func('lookup_module', @_) }
  2537. sub print_object { _print_func('lookup_object', @_) }
  2538.  
  2539. sub print_method {
  2540.     my @args = @_ ? @_ : @ARGV;
  2541.     while (@args) {
  2542.          my $method = shift @args;
  2543.          my $object = (@args && 
  2544.              (ref($args[0]) || $args[0] =~ /^(Apache|ModPerl|APR)/))
  2545.              ? shift @args
  2546.              : undef;
  2547.          print( (lookup_method($method, $object))[0]);
  2548.     }
  2549. }
  2550.  
  2551. sub sep { return '-' x (shift() + 20) . "\n" }
  2552.  
  2553. # what modules contain the passed method.
  2554. # an optional object or a reference to it can be passed to help
  2555. # resolve situations where there is more than one module containing
  2556. # the same method. Inheritance is supported.
  2557. sub lookup_method {
  2558.     my ($method, $object) = @_;
  2559.  
  2560.     unless (defined $method) {
  2561.         my $hint = "No 'method' argument was passed\n";
  2562.         return ($hint);
  2563.     }
  2564.  
  2565.     # strip the package name for the fully qualified method
  2566.     $method =~ s/.+:://;
  2567.  
  2568.     if (exists $methods_compat->{$method}) {
  2569.         my ($replacement, $comment) = @{$methods_compat->{$method}};
  2570.         my $hint = "'$method' is not a part of the mod_perl 2.0 API\n";
  2571.         $comment = length $comment ? " $comment\n" : "";
  2572.  
  2573.         # some removed methods have no replacement
  2574.         return $hint . "$comment" unless defined $replacement;
  2575.  
  2576.         $hint .= "use '$replacement' instead. $comment";
  2577.  
  2578.         # if fully qualified don't look up its container
  2579.         return $hint if $replacement =~ /::/;
  2580.  
  2581.         my ($modules_hint, @modules) = lookup_method($replacement, $object);
  2582.         return $hint . $modules_hint;
  2583.     }
  2584.     elsif (!exists $methods->{$method}) {
  2585.         my $hint = "Don't know anything about method '$method'\n";
  2586.         return ($hint);
  2587.     }
  2588.  
  2589.     my @items = @{ $methods->{$method} };
  2590.     if (@items == 1) {
  2591.         my $module = $items[0]->[MODULE];
  2592.         my $hint = "To use method '$method' add:\n" . "\tuse $module ();\n";
  2593.         # we should really check that the method matches the object if
  2594.         # any was passed, but it may not always work
  2595.         return ($hint, $module);
  2596.     }
  2597.     else {
  2598.         if (defined $object) {
  2599.             my $class = ref $object || $object;
  2600.             for my $item (@items) {
  2601.                 # real class or inheritance
  2602.                 if ($class eq $item->[OBJECT] or
  2603.                     (ref($object) && $object->isa($item->[OBJECT]))) {
  2604.                     my $module = $item->[MODULE];
  2605.                     my $hint = "To use method '$method' add:\n" .
  2606.                         "\tuse $module ();\n";
  2607.                     return ($hint, $module);
  2608.                 }
  2609.             }
  2610.             # fall-through
  2611.             local $" = ", ";
  2612.             my @modules = map $_->[MODULE], @items;
  2613.             my $hint = "Several modules (@modules) contain method '$method' " .
  2614.                 "but none of them matches class '$class';\n";
  2615.             return ($hint);
  2616.  
  2617.         }
  2618.         else {
  2619.             my %modules = map { $_->[MODULE] => 1 } @items;
  2620.             # remove dups if any (e.g. $s->add_input_filter and
  2621.             # $r->add_input_filter are loaded by the same Apache::Filter)
  2622.             my @modules = keys %modules;
  2623.             my $hint;
  2624.             if (@modules == 1) {
  2625.                 $hint = "To use method '$method' add:\n\tuse $modules[0] ();\n";
  2626.                 return ($hint, $modules[0]);
  2627.             }
  2628.             else {
  2629.                 $hint = "There is more than one class with method '$method'\n" .
  2630.                     "try one of:\n" . join '', map {"\tuse $_ ();\n"} @modules;
  2631.                 return ($hint, @modules);
  2632.             }
  2633.         }
  2634.     }
  2635. }
  2636.  
  2637. # what methods are contained in the passed module name
  2638. sub lookup_module {
  2639.     my ($module) = shift;
  2640.  
  2641.     unless (defined $module) {
  2642.         my $hint = "no 'module' argument was passed\n";
  2643.         return ($hint);
  2644.     }
  2645.  
  2646.     _get_modules() unless $modules;
  2647.  
  2648.     unless (exists $modules->{$module}) {
  2649.         my $hint = "don't know anything about module '$module'\n";
  2650.         return ($hint);
  2651.     }
  2652.  
  2653.     my @methods;
  2654.     my $max_len = 6;
  2655.     for ( @{ $modules->{$module} } ) {
  2656.         $max_len = length $_->[0] if length $_->[0] > $max_len;
  2657.         push @methods, $_->[0];
  2658.     }
  2659.  
  2660.     my $format = "%-${max_len}s %s\n";
  2661.     my $banner = sprintf($format, "Method", "Invoked on object type");
  2662.     my $hint = join '',
  2663.         ("\nModule '$module' contains the following XS methods:\n\n", 
  2664.          $banner,  sep(length($banner)),
  2665.          map( { sprintf $format, $_->[0], $_->[1]||'???'}
  2666.              @{ $modules->{$module} }),
  2667.          sep(length($banner)));
  2668.  
  2669.     return ($hint, @methods);
  2670. }
  2671.  
  2672. # what methods can be invoked on the passed object (or its reference)
  2673. sub lookup_object {
  2674.     my ($object) = shift;
  2675.  
  2676.     unless (defined $object) {
  2677.         my $hint = "no 'object' argument was passed\n";
  2678.         return ($hint);
  2679.     }
  2680.  
  2681.     _get_objects() unless $objects;
  2682.  
  2683.     # a real object was passed?
  2684.     $object = ref $object || $object;
  2685.  
  2686.     unless (exists $objects->{$object}) {
  2687.         my $hint = "don't know anything about objects of type '$object'\n";
  2688.         return ($hint);
  2689.     }
  2690.  
  2691.     my @methods;
  2692.     my $max_len = 6;
  2693.     for ( @{ $objects->{$object} } ) {
  2694.         $max_len = length $_->[0] if length $_->[0] > $max_len;
  2695.         push @methods, $_->[0];
  2696.     }
  2697.  
  2698.     my $format = "%-${max_len}s %s\n";
  2699.     my $banner = sprintf($format, "Method", "Module");
  2700.     my $hint = join '',
  2701.         ("\nObjects of type '$object' can invoke the following XS methods:\n\n",
  2702.          $banner, sep(length($banner)),
  2703.          map({ sprintf $format, $_->[0], $_->[1]} @{ $objects->{$object} }),
  2704.          sep(length($banner)));
  2705.  
  2706.     return ($hint, @methods);
  2707.  
  2708. }
  2709.  
  2710. 1;
  2711.  
  2712. =head1 NAME
  2713.  
  2714. ModPerl::MethodLookup -- Lookup mod_perl modules, objects and methods
  2715.  
  2716. =head1 Synopsis
  2717.  
  2718.   use ModPerl::MethodLookup;
  2719.   
  2720.   # return all module names containing XS method 'print'
  2721.   my($hint, @modules) =
  2722.       ModPerl::MethodLookup::lookup_method('print');
  2723.   
  2724.   # return only module names containing method 'print' which
  2725.   # expects the first argument to be of type 'Apache::Filter'
  2726.   # (here $filter is an Apache::Filter object)
  2727.   my($hint, @modules) =
  2728.       ModPerl::MethodLookup::lookup_method('print', $filter);
  2729.   # or
  2730.   my($hint, @modules) =
  2731.       ModPerl::MethodLookup::lookup_method('print', 'Apache::Filter');
  2732.   
  2733.   # what XS methods defined by module 'Apache::Filter'
  2734.   my($hint, @methods) =
  2735.       ModPerl::MethodLookup::lookup_module('Apache::Filter');
  2736.   
  2737.   # what XS methods can be invoked on the object $r (or a ref)
  2738.   my($hint, @methods) =
  2739.       ModPerl::MethodLookup::lookup_object($r);
  2740.   # or
  2741.   my($hint, @methods) =
  2742.       ModPerl::MethodLookup::lookup_object('Apache::RequestRec');
  2743.   
  2744.   # preload all mp2 modules in startup.pl
  2745.   ModPerl::MethodLookup::preload_all_modules();
  2746.   
  2747.   # command line shortcuts
  2748.   % perl -MApache2 -MModPerl::MethodLookup -e print_module \
  2749.     Apache::RequestRec Apache::Filter
  2750.   % perl -MApache2 -MModPerl::MethodLookup -e print_object Apache
  2751.   % perl -MApache2 -MModPerl::MethodLookup -e print_method \
  2752.     get_server_built request
  2753.   % perl -MApache2 -MModPerl::MethodLookup -e print_method read
  2754.   % perl -MApache2 -MModPerl::MethodLookup -e print_method read APR::Bucket
  2755.  
  2756.  
  2757.  
  2758.  
  2759. =head1 Description
  2760.  
  2761. mod_perl 2.0 provides many methods, which reside in various
  2762. modules. One has to load each of the modules before using the desired
  2763. methods. C<ModPerl::MethodLookup> provides the Perl API for finding
  2764. module names which contain methods in question and other helper
  2765. functions, to find out out what methods defined by some module, what
  2766. methods can be called on a given object, etc.
  2767.  
  2768.  
  2769.  
  2770.  
  2771. =head1 API
  2772.  
  2773.  
  2774.  
  2775.  
  2776. =head2 C<lookup_method()>
  2777.  
  2778. Find modules (packages) containing a certain method
  2779.  
  2780.   ($hint, @modules) = lookup_method($method_name);
  2781.   ($hint, @modules) = lookup_method($method_name, $object);
  2782.   ($hint, @modules) = lookup_method($method_name, $class));
  2783.  
  2784. =over 4
  2785.  
  2786. =item arg1: C<$method_name> ( string )
  2787.  
  2788. the method name to look up
  2789.  
  2790. =item opt arg2: C<$object> or C<$class>
  2791.  
  2792. a blessed object or the name of the class it's blessed into. If there
  2793. is more than one match, this extra information is used to return only
  2794. modules containing methods operating on the objects of the same kind.
  2795.  
  2796. If a sub-classed object is passed it'll be handled correctly, by
  2797. checking its super-class(es).  This usage is useful when the
  2798. C<L<AUTOLOAD|/C_AUTOLOAD_>> is used to find a not yet loaded module
  2799. which include the called method.
  2800.  
  2801. =item ret1: C<$hint>
  2802.  
  2803. a string containing a human readable lookup result, suggesting which
  2804. modules should be loaded, ready for copy-n-paste or explaining the
  2805. failure if the lookup didn't succeed.
  2806.  
  2807. =item ret2: C<@modules>
  2808.  
  2809. an array of modules which have matched the query, i.e. the names of
  2810. the modules which contain the requested method.
  2811.  
  2812. =item since: 1.99_12
  2813.  
  2814. =back
  2815.  
  2816. Examples:
  2817.  
  2818. Return all module names containing XS method I<print>:
  2819.  
  2820.   my($hint, @modules) =
  2821.       ModPerl::MethodLookup::lookup_method('print');
  2822.  
  2823. Return only module names containing method I<print> which expects the
  2824. first argument to be of type C<Apache::Filter>:
  2825.  
  2826.   my $filter = bless {}, 'Apache::Filter';
  2827.   my($hint, @modules) =
  2828.       ModPerl::MethodLookup::lookup_method('print', $filter);
  2829.  
  2830. or:
  2831.  
  2832.   my($hint, @modules) =
  2833.       ModPerl::MethodLookup::lookup_method('print', 'Apache::Filter');
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842. =head2 C<lookup_module()>
  2843.  
  2844. Find methods contained in a certain module (package)
  2845.  
  2846.   ($hint, @methods) = lookup_module($module_name);
  2847.  
  2848. =over 4
  2849.  
  2850. =item arg1: C<$module_name> ( string )
  2851.  
  2852. the module name
  2853.  
  2854. =item ret1: C<$hint>
  2855.  
  2856. a string containing a human readable lookup result, suggesting, which
  2857. methods the module C<$module_name> implements, or explaining the
  2858. failure if the lookup failed.
  2859.  
  2860. =item ret2: C<@methods>
  2861.  
  2862. an array of methods which have matched the query, i.e. the names of
  2863. the methods defined in the requested module.
  2864.  
  2865. =item since: 1.99_12
  2866.  
  2867. =back
  2868.  
  2869. Example:
  2870.  
  2871. What XS methods defined by module C<Apache::Filter>:
  2872.  
  2873.   my($hint, @methods) =
  2874.       ModPerl::MethodLookup::lookup_module('Apache::Filter');
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882. =head2 C<lookup_object()>
  2883.  
  2884.   ($hint, @methods) = lookup_object($object);
  2885.   ($hint, @methods) = lookup_object($class);
  2886.  
  2887. =over 4
  2888.  
  2889. =item arg1: C<$object> or C<$class>
  2890.  
  2891. an object or a name of a class an object is blessed into
  2892.  
  2893. If a sub-classed object is passed it'll be handled correctly, by
  2894. including methods provided by its super-class(es).
  2895.  
  2896. =item ret1: C<$hint>
  2897.  
  2898. a string containing a human readable lookup result, suggesting, which
  2899. methods the given object can invoke (including module names that need
  2900. to be loaded to use those methods), or explaining the failure if the
  2901. lookup failed.
  2902.  
  2903. =item ret2: C<@methods>
  2904.  
  2905. an array of methods which have matched the query, i.e. the names of
  2906. the methods that can be invoked on the given object (or its class
  2907. name).
  2908.  
  2909. =item since: 1.99_12
  2910.  
  2911. =back
  2912.  
  2913. META: As of this writing this function may miss some of the
  2914. functions/methods that can be invoked on the given object. Currently
  2915. we can't programmatically deduct the objects they are invoked on,
  2916. because these methods are written in pure XS and manipulate the
  2917. arguments stack themselves. Currently these are mainly XS functions,
  2918. not methods, which of course aren't invoked on objects. There are also
  2919. logging function wrappers (C<Apache::Log>).
  2920.  
  2921. Examples:
  2922.  
  2923. What XS methods can be invoked on the object C<$r>:
  2924.  
  2925.   my($hint, @methods) =
  2926.       ModPerl::MethodLookup::lookup_object($r);
  2927.  
  2928. or C<$r>'s class -- C<Apache::RequestRec>:
  2929.  
  2930.   my($hint, @methods) =
  2931.       ModPerl::MethodLookup::lookup_object('Apache::RequestRec');
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937. =head2 C<preload_all_modules()>
  2938.  
  2939. The function C<preload_all_modules()> preloads all mod_perl 2.0
  2940. modules, which implement their API in XS. This is similar to the
  2941. mod_perl 1.0 behavior which has most of its methods loaded at the
  2942. startup.
  2943.  
  2944. CPAN modules developers should make sure their distribution loads each
  2945. of the used mod_perl 2.0 modules explicitly, and not use this
  2946. function, as it takes the fine control away from the users. One should
  2947. avoid doing this the production server (unless all modules are used
  2948. indeed) in order to save memory.
  2949.  
  2950. =over
  2951.  
  2952. =item since: 1.99_12
  2953.  
  2954. =back
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962. =head2 C<print_method()>
  2963.  
  2964. C<print_method()> is a convenience wrapper for
  2965. C<L<lookup_method()|/C_lookup_method___>>, mainly designed to be used
  2966. from the command line. For example to print all the modules which
  2967. define method I<read> execute:
  2968.  
  2969.   % perl -MApache2 -MModPerl::MethodLookup -e print_method read
  2970.  
  2971. Since this will return more than one module, we can narrow the query
  2972. to only those methods which expect the first argument to be blessed
  2973. into class C<APR::Bucket>:
  2974.  
  2975.   % perl -MApache2 -MModPerl::MethodLookup -e print_method read APR::Bucket
  2976.  
  2977. You can pass more than one method and it'll perform a lookup on each
  2978. of the methods. For example to lookup methods C<get_server_built> and
  2979. C<request> you can do:
  2980.  
  2981.   % perl -MApache2 -MModPerl::MethodLookup -e print_method \
  2982.     get_server_built request
  2983.  
  2984. The function C<print_method()> is exported by default.
  2985.  
  2986. =over
  2987.  
  2988. =item since: 1.99_12
  2989.  
  2990. =back
  2991.  
  2992.  
  2993.  
  2994.  
  2995. =head2 C<print_module()>
  2996.  
  2997. C<print_module()> is a convenience wrapper for
  2998. C<L<lookup_module()|/C_lookup_module___>>, mainly designed to be used
  2999. from the command line. For example to print all the methods defined in
  3000. the module C<Apache::RequestRec>, followed by methods defined in the
  3001. module C<Apache::Filter> you can run:
  3002.  
  3003.   % perl -MApache2 -MModPerl::MethodLookup -e print_module \
  3004.     Apache::RequestRec Apache::Filter
  3005.  
  3006. The function C<print_module()> is exported by default.
  3007.  
  3008. =over
  3009.  
  3010. =item since: 1.99_12
  3011.  
  3012. =back
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018. =head2 C<print_object()>
  3019.  
  3020. C<print_object()> is a convenience wrapper for
  3021. C<L<lookup_object()|/C_lookup_object___>>, mainly designed to be used
  3022. from the command line. For example to print all the methods that can
  3023. be invoked on object blessed into a class C<Apache::RequestRec> run:
  3024.  
  3025.   % perl -MApache2 -MModPerl::MethodLookup -e print_object \
  3026.     Apache::RequestRec
  3027.  
  3028. Similar to C<L<print_object()|/C_print_object___>>, more than one
  3029. class can be passed to this function.
  3030.  
  3031. The function C<print_object()> is exported by default.
  3032.  
  3033. =over
  3034.  
  3035. =item since: 1.99_12
  3036.  
  3037. =back
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.  
  3044.  
  3045. =head1 Applications
  3046.  
  3047.  
  3048.  
  3049.  
  3050.  
  3051. =head2 C<AUTOLOAD>
  3052.  
  3053. When Perl fails to locate a method it checks whether the package the
  3054. object belongs to has an C<AUTOLOAD> function defined and if so, calls
  3055. it with the same arguments as the missing method while setting a
  3056. global variable C<$AUTOLOAD> (in that package) to the name of the
  3057. originally called method. We can use this facility to lookup the
  3058. modules to be loaded when such a failure occurs. Though since we have
  3059. many packages to take care of we will use a special
  3060. C<UNIVERSAL::AUTOLOAD> function which Perl calls if can't find the
  3061. C<AUTOLOAD> function in the given package.
  3062.  
  3063. In that function you can query C<ModPerl::MethodLookup>, require() the
  3064. module that includes the called method and call that method again
  3065. using the goto() trick:
  3066.  
  3067.   use ModPerl::MethodLookup;
  3068.   sub UNIVERSAL::AUTOLOAD {
  3069.       my($hint, @modules) =
  3070.           ModPerl::MethodLookup::lookup_method($UNIVERSAL::AUTOLOAD, @_);
  3071.       if (@modules) {
  3072.           eval "require $_" for @modules;
  3073.           goto &$UNIVERSAL::AUTOLOAD;
  3074.       }
  3075.       else {
  3076.           die $hint;
  3077.       }
  3078.   }
  3079.  
  3080. However we don't endorse this approach. It's a better approach to
  3081. always abort the execution which printing the C<$hint>and use fix the
  3082. code to load the missing module. Moreover installing
  3083. C<UNIVERSAL::AUTOLOAD> may cause a lot of problems, since once it's
  3084. installed Perl will call it every time some method is missing
  3085. (e.g. undefined C<DESTROY> methods). The following approach seems to
  3086. somewhat work for me. It installs C<UNIVERSAL::AUTOLOAD> only when the
  3087. the child process starts.
  3088.  
  3089.   httpd.conf:
  3090.   -----------
  3091.   PerlChildInitHandler ModPerl::MethodLookupAuto
  3092.  
  3093.   startup.pl:
  3094.   -----------
  3095.   {
  3096.       package ModPerl::MethodLookupAuto;
  3097.       use ModPerl::MethodLookup;
  3098.     
  3099.       use Carp;
  3100.       sub handler {
  3101.     
  3102.           *UNIVERSAL::AUTOLOAD = sub {
  3103.               my $method = $AUTOLOAD;
  3104.               return if $method =~ /DESTROY/; # exclude DESTROY resolving
  3105.     
  3106.               my ($hint, @modules) =
  3107.                   ModPerl::MethodLookup::lookup_method($method, @_);
  3108.               $hint ||= "Can't find method $AUTOLOAD";
  3109.               croak $hint;
  3110.           };
  3111.           return 0;
  3112.       }
  3113.   }
  3114.  
  3115. This example doesn't load the modules for you. It'll print to STDERR
  3116. what module should be loaded, when a method from the not-yet-loaded
  3117. module is called.
  3118.  
  3119. A similar technique is used by
  3120. C<L<Apache::porting|docs::2.0::api::Apache::porting>>.
  3121.  
  3122.  
  3123. META: there is a better version of AUTOLOAD discussed on the dev
  3124. list. Replace the current one with it. (search the archive for
  3125. EazyLife)
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131. =head2 Command Line Lookups
  3132.  
  3133. When a method is used and mod_perl has reported a failure to find it,
  3134. it's often useful to use the command line query to figure out which
  3135. module needs to be loaded. For example if when executing:
  3136.  
  3137.   $r->construct_url();
  3138.  
  3139. mod_perl complains:
  3140.  
  3141.   Can't locate object method "construct_url" via package
  3142.   "Apache::RequestRec" at ...
  3143.  
  3144. you can ask C<ModPerl::MethodLookup> for help:
  3145.  
  3146.   % perl -MApache2 -MModPerl::MethodLookup -e print_method construct_url
  3147.   To use method 'construct_url' add:
  3148.           use Apache::URI ();
  3149.  
  3150. and after copy-n-pasting the use statement in our code, the problem
  3151. goes away.
  3152.  
  3153. One can create a handy alias for this technique. For example, C-style
  3154. shell users can do:
  3155.  
  3156.    % alias lookup "perl -MApache2 -MModPerl::MethodLookup -e print_method"
  3157.  
  3158. For Bash-style shell users:
  3159.  
  3160.    % alias lookup="perl -MApache2 -MModPerl::MethodLookup -e print_method"
  3161.  
  3162. Now the lookup is even easier:
  3163.  
  3164.   % lookup construct_url
  3165.   to use method 'construct_url' add:
  3166.           use Apache::URI;
  3167.  
  3168. Similar aliases can be provided for
  3169. C<L<print_object()|/C_print_object___>> and
  3170. C<L<print_module()|/C_print_module___>>.
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176. =head1 Todo
  3177.  
  3178. These methods aren't yet picked by this module (the extract from the
  3179. map file):
  3180.  
  3181.  modperl_filter_attributes     | MODIFY_CODE_ATTRIBUTES
  3182.  modperl_spawn_proc_prog       | spawn_proc_prog
  3183.  apr_ipsubnet_create           | new
  3184.  
  3185. Please report to L<the mod_perl development mailing
  3186. list|maillist::dev> if you find any other missing methods. But remember that
  3187. as of this moment the module reports only XS functions. In the future
  3188. we may add support for pure perl functions/methods as well.
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197. =head1 See Also
  3198.  
  3199. =over
  3200.  
  3201. =item *
  3202.  
  3203. L<the mod_perl 1.0 backward compatibility
  3204. document|docs::2.0::user::porting::compat/>
  3205.  
  3206. =item *
  3207.  
  3208. L<porting Perl modules|docs::2.0::user::porting::porting>
  3209.  
  3210. =item *
  3211.  
  3212. L<porting XS modules|docs::2.0::devel::porting::porting>
  3213.  
  3214. =item *
  3215.  
  3216. C<L<Apache::porting|docs::2.0::api::Apache::porting>>
  3217.  
  3218. =back
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224. =head1 Copyright
  3225.  
  3226. mod_perl 2.0 and its core modules are copyrighted under
  3227. The Apache Software License, Version 2.0.
  3228.  
  3229.  
  3230.  
  3231.  
  3232. =head1 Authors
  3233.  
  3234. L<The mod_perl development team and numerous
  3235. contributors|about::contributors::people>.
  3236.  
  3237. =cut
  3238.