OnWorks favicon

ctypeslib - Online in the Cloud

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

This is the command ctypeslib 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



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


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


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


h2xml options:

-h, --help
show brief help message

-q, --quiet

macros to define

macros to undefine

additional include directories

XML output filename

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

-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

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

libraries to search for exported functions

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

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

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

dlls to be loaded before all others (to resolve symbols)


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

Use ctypeslib online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Zabbix is an enterprise-class open
    source distributed monitoring solution
    designed to monitor and track
    performance and availability of network
    servers, device...
    Download Zabbix
  • 2
    This repository is no longer maintained
    and is kept for archival purposes. See
    https://invent.kde.org/sdk/kdiff3 for
    the newest code and
    Download KDiff3
  • 3
    USBLoaderGX is a GUI for
    Waninkoko's USB Loader, based on
    libwiigui. It allows listing and
    launching Wii games, Gamecube games and
    homebrew on Wii and WiiU...
    Download USBLoaderGX
  • 4
    Firebird RDBMS offers ANSI SQL features
    & runs on Linux, Windows &
    several Unix platforms. Features
    excellent concurrency & performance
    & power...
    Download Firebird
  • 5
    KompoZer is a wysiwyg HTML editor using
    the Mozilla Composer codebase. As
    Nvu's development has been stopped
    in 2005, KompoZer fixes many bugs and
    adds a f...
    Download KompoZer
  • 6
    Free Manga Downloader
    Free Manga Downloader
    The Free Manga Downloader (FMD) is an
    open source application written in
    Object-Pascal for managing and
    downloading manga from various websites.
    This is a mirr...
    Download Free Manga Downloader
  • More »

Linux commands