EnglishFrenchSpanish

OnWorks favicon

h2xml - Online in the Cloud

Run h2xml in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command h2xml that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

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

To obtain preprocessor symbols, you must use the -c flag to h2xml. To automatically link
to C libraries via ctypes, you muss pass the relevant libraries to xml2py with -l
library.so.

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)

EXAMPLES


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

Use h2xml online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    subconverter
    subconverter
    Utility to convert between various
    subscription format. Shadowrocket users
    should use ss, ssr or v2ray as target.
    You can add &remark= to
    Telegram-liked HT...
    Download subconverter
  • 2
    SWASH
    SWASH
    SWASH is a general-purpose numerical
    tool for simulating unsteady,
    non-hydrostatic, free-surface,
    rotational flow and transport phenomena
    in coastal waters as ...
    Download SWASH
  • 3
    VBA-M (Archived - Now on Github)
    VBA-M (Archived - Now on Github)
    Project has moved to
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Features:Cheat creationsave statesmulti
    system, supports gba, gbc, gb, sgb,
    sgb2Tu...
    Download VBA-M (Archived - Now on Github)
  • 4
    Stacer
    Stacer
    Linux System Optimizer and Monitoring
    Github Repository:
    https://github.com/oguzhaninan/Stacer.
    Audience: End Users/Desktop. User
    interface: Qt. Programming La...
    Download Stacer
  • 5
    OrangeFox
    OrangeFox
    Fork of TeamWinRecoveryProject(TWRP)
    with many additional functions, redesign
    and more Features:Supports Treble and
    non-Treble ROMsUp-to-date Oreo kernel,
    built...
    Download OrangeFox
  • 6
    itop - ITSM  CMDB OpenSource
    itop - ITSM CMDB OpenSource
    IT Operations Portal: a complete open
    source, ITIL, web based service
    management tool including a fully
    customizable CMDB, a helpdesk system and
    a document man...
    Download itop - ITSM CMDB OpenSource
  • More »

Linux commands

Ad