h2ph - convert .h C header files to .ph Perl header files


   h2ph [-d destination directory] [-r | -a] [-l] [-h] [-e] [-D] [-Q]


   h2ph converts any C header files specified to the corresponding Perl
   header file format.  It is most easily run while in /usr/include:

           cd /usr/include; h2ph * sys/*


           cd /usr/include; h2ph * sys/* arpa/* netinet/*


           cd /usr/include; h2ph -r -l .

   The output files are placed in the hierarchy rooted at Perl's
   architecture dependent library directory.  You can specify a different
   hierarchy with a -d switch.

   If run with no arguments, filters standard input to standard output.


   -d destination_dir
       Put the resulting .ph files beneath destination_dir, instead of
       beneath the default Perl library location

   -r  Run recursively; if any of headerfiles are directories, then run
       h2ph on all files in those directories (and their subdirectories,
       etc.).  -r and -a are mutually exclusive.

   -a  Run automagically; convert headerfiles, as well as any .h files
       which they include.  This option will search for .h files in all
       directories which your C compiler ordinarily uses.  -a and -r are
       mutually exclusive.

   -l  Symbolic links will be replicated in the destination directory.  If
       -l is not specified, then links are skipped over.

   -h  Put 'hints' in the .ph files which will help in locating problems
       with h2ph.  In those cases when you require a .ph file containing
       syntax errors, instead of the cryptic

               [ some error condition ] at (eval mmm) line nnn

       you will see the slightly more helpful

               [ some error condition ] at filename.ph line nnn

       However, the .ph files almost double in size when built using -h.

   -e  If an error is encountered during conversion, output file will be
       removed and a warning emitted instead of terminating the conversion

   -D  Include the code from the .h file as a comment in the .ph file.
       This is primarily used for debugging h2ph.

   -Q  'Quiet' mode; don't print out the names of the files being


   No environment variables are used.





   Larry Wall




   The usual warnings if it can't read or write the files involved.


   Doesn't construct the %sizeof array for you.

   It doesn't handle all C constructs, but it does attempt to isolate
   definitions inside evals so that you can get at the definitions that it
   can translate.

   It's only intended as a rough tool.  You may need to dicker with the
   files produced.

   You have to run this program by hand; it's not run as part of the Perl

   Doesn't handle complicated expressions built piecemeal, a la:

       enum {
       #ifdef ABC

   Doesn't necessarily locate all of your C compiler's internally-defined

More Linux Commands

glCallList(3gl) - execute a display list - Linux man page...
glCallList causes the named display list to be executed. The commands saved in the display list are executed in order, just as if they were called without using

vlock-plugins(5) plugin support for vlock - Linux man page
If vlock-main(8) is compiled with plugin support its default features are very limited: it can only lock the current session and ask for authenticiaton. However

git-diff-files(1) - Compares files in the working tree and t
Compares the files in the working tree and the index. When paths are specified, compares only those named paths. Otherwise all entries in the index are compared

intro.3 - intro(3) - Introduction to library functions (Man Page).....
Section 3 of the manual describes all library functions excluding the library functions (system call wrappers) described in Section 2, which implement system ca

rt_sigreturn(2) - return from signal handler and cleanup sta
RETURN VALUE FILES CONFORMING TO NOTES SEE ALSO COLOPHON NAME sigreturn - return from signal handler and cleanup stack frame SYNOPSIS int sigreturn(unsigned lon

grn(1) - groff preprocessor for gremlin files (Man Page)....
grn is a preprocessor for including gremlin pictures in groff input. grn writes to standard output, processing only input lines between two that start with .GS

start_color(3ncurses) - curses color manipulation routines
Overview curses support color attributes on terminals with that capability. To use these routines start_color must be called, usually right after initscr. Color

glTexCoordPointer(3gl) - define an array of texture coordina
glTexCoordPointer specifies the location and data of an array of texture coordinates to use when rendering. size specifies the number of coordinates per element

XVaCreateNestedList(3) - allocate a nested variable argument
The XVaCreateNestedList function allocates memory and copies its arguments into a single list pointer, which may be used as a value for arguments requiring a li

snmp_error(3) - netsnmp_session_api functions (Man Page)....
Snmp_sess_init prepares a netsnmp_session that sources transport characteristics and common information that will be used for a set of SNMP transactions. After

XvPortNotify(3) - event generated when port attributes chang
XvPortNotify events are generated when a port attribute is set using the XvSetPortAttribute(3) function. SEE ALSO XvSetPortAttribute(3), XvGetPortAttribute(3),

set_form_page(3form) - set and get form page number.........
The function set_current field sets the current field of the given form; current_field returns the current field of the given form. The function set_form_page s

We can't live, work or learn in freedom unless the software we use is free.