Man Linux: Main Page and Category List

NAME

       h2xml - convert header files to XML intermediates
       xml2py - convert XML intermediates to Python ctypes interface

SYNOPSIS

       h2xml includefile ... [options] -o outputxmlfile
       xml2py xmlfile ... [options] -o outputpyfile

DESCRIPTION

       ctypeslib  is  a  Python  code generator capable of converting C header
       files into xml files (using gccxml), and then converting  the  xmlfiles
       into   Python   modules   which   define  a  ctypes  interface  to  the
       corresponding C library.

       Ctypeslib is not ctypes.  Ctypes is included in Python 2.5+ and  as  an
       add-on  for  lower  versions,  while ctypeslib is a lesser known add-on
       written by the ctypes author.  If you use ctypes a lot and are tired of
       setting  argtypes  and restype of the called functions, you should look
       into ctypeslib.  Ctypeslib can also set up data  types  and  structures
       from C header files automatically.

       h2xml  and  xml2py  are the user interface scripts to ctypeslib.  h2xml
       converts C header files  into  xml  intermediates  (using  gccxml)  and
       xml2py  converts  these intermediates to Python files.  At the minimum,
       you can get automatic construction of the C types (structures, etc)  in
       ctypes  definitions.   With  extra  options,  macro  definitions can be
       expanded and the output Python file can be automatically linked  (using
       ctypes) to the corresponding C library.

       The briefest example is:

              h2xml header.h -o out_c.xml
              xml2py out_c.xml -o out_c.py

       Key  options  are  -c  (include C preprocessor headers) to h2xml and -l
       library.so (automatically link  to  the  C  library  using  ctypes)  to
       xml2py.

OPTIONS

       h2xml options:

              -h, --help
                     show brief help message

              -q, --quiet

              -D NAME[=VALUE]
                     macros to define

              -U NAME
                     macros to undefine

              -I DIRECTORY
                     additional include directories

              -o XMLFILE
                     XML output filename

              -c, --cpp-symbols
                     try  to  find  #define  symbols  - this may give compiler
                     errors, so it’s off by default.

              -k     don’t delete the  temporary  files  created  (useful  for
                     finding problems)

       xml2py options:

              -h, --help
                     show this help message and exit

              -c     include source file location in comments

              -d     include docstrings containing C prototype and source file
                     location

              -k TYPEKIND
                     kind of type descriptions to include: d = #defines,  e  =
                     enumerations, f = functions, s = structures, t = typedefs

              -l DLLS
                     libraries to search for exported functions

              -o OUTPUT
                     output filename (if not specified, standard  output  will
                     be used)

              -r EXPRESSION
                     regular  expression  for  symbols  to include (if neither
                     symbols nor expressions are specified,everything will  be
                     included)

              -s SYMBOL
                     symbol to include (if neither symbols nor expressions are
                     specified,everything will be included)

              -v     verbose output

              -w     add all standard windows dlls to the searched dlls list

              -m module
                     Python  module(s)  containing  symbols  which   will   be
                     imported instead of generated

              --preload=DLL
                     dlls to be loaded before all others (to resolve symbols)

              -h, --help
                     show this help message and exit

              -c     include source file location in comments

              -d     include docstrings containing C prototype and source file
                     location

              -k TYPEKIND
                     kind of type descriptions to include: d = #defines,  e  =
                     enumerations, f = functions, s = structures, t = typedefs

              -l DLLS
                     libraries to search for exported functions

              -o OUTPUT
                     output filename (if not specified, standard  output  will
                     be used)

              -r EXPRESSION
                     regular  expression  for  symbols  to include (if neither
                     symbols nor expressions are specified,everything will  be
                     included)

              -s SYMBOL
                     symbol to include (if neither symbols nor expressions are
                     specified,everything will be included)

              -v     verbose output

              -w     add all standard windows dlls to the searched dlls list

              -m module
                     Python  module(s)  containing  symbols  which   will   be
                     imported instead of generated

              --preload=DLL
                     dlls to be loaded before all others (to resolve symbols)

EXAMPLES

       Please see /usr/share/doc/python-ctypeslib/examples.Debian for examples
       and explanation.

SEE ALSO

       /usr/share/doc/python-ctypeslib/examples.Debian   contains   a    brief
       tutorial on some key features

       Python docstrings (pydoc ctypeslib)

       Ctypeslib   upstream   is  http://python.net/crew/theller/ctypes/  (see
       "Related Projects").

       For ctypes information, see http://docs.python.org/library/ctypes.html

AUTHOR

       ctypeslib was written by Thomas Heller <theller@ctypes.org>.

       This manual page was written by Richard Darst <rkd@zgib.net>,  for  the
       Debian project (and may be used by others).