Skip to content
C C++ M4 Objective-C++ Objective-C Makefile Other
Branch: master
Clone or download
cstim pkg-config: Fix again erroneous includedir
After 5c0c807 this was still one level of subdir too much. Now
it is hopefully ok.
Latest commit 6011862 Sep 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
admin Result of "make format". Feb 3, 2019
checks Result of "make format". Feb 3, 2019
data DATA: Updated ca-bundle.crt. Aug 26, 2019
doc Result of "make format". Feb 3, 2019
gui BUILD: Added missing LDFLAGS as suggested by Lukasz Wojnilowicz Jun 5, 2019
m4 Don't assume makefile is in source directory Jun 8, 2019
plugins ConfigMgr: Added function GWEN_ConfigMgr_HasGroup() and implemented it. Feb 15, 2019
po Update of German translation - now 100% completed. Mar 9, 2013
src DB: Decreased verbosity. Sep 13, 2019
test Fixed cppcheck-warnings. Mar 20, 2019
tools Result of "make format". Aug 26, 2019
.cvsignore MARK: Released 3.5.2. Nov 8, 2008
.gitignore Added gwen5 to .gitignore. Dec 8, 2018
.travis.yml Fix travis build by adding missing dev packages Jul 6, 2019
AUTHORS - reverted change of filename for gwenhywfar-config script Nov 17, 2005
COPYING - IPC: added some callbacks for applications to keep track of Nov 24, 2003 Improved Doxyfile. Jan 2, 2019
INSTALL Initial revision Sep 7, 2003 BUILD: Added Makefile target "format". Feb 3, 2019
Makefile.cvs Added qt5 to my personal make target. Dec 8, 2018
NEWS Prepared release 3.7.0. Jan 22, 2009
README Cleanup TLS cipher suite handling Jan 17, 2016
README.DARWIN Removed obsolete notes for Darwin. Aug 10, 2010
README.SOLARIS - parser/msgengine.c: May 29, 2004
README.W32 Removed invalid section from README.W32. Apr 30, 2010
RELEASES prepared release Oct 22, 2005
TODO Just some thoughts for TM2... Apr 3, 2018
config.rpath Automake >= 1.10 now requires the config.rpath script of gettext to b… May 9, 2009 Prepared release 4.99.15beta. Sep 13, 2019 Added gource script. Sep 15, 2010 Updated cmake config files Jan 15, 2016 Started changing major version to gwenhywfar5. Dec 8, 2018 merged branch aq3 back to trunk Nov 22, 2007 Change all registry key lookups to use HKEY_LOCAL_MACHINE as opposed Jul 8, 2007
gwenhywfar.m4 Fix URLs in configure macro error messages. Jan 9, 2011 pkg-config: Fix again erroneous includedir Sep 15, 2019 merged branch aq3 back to trunk Nov 22, 2007 added author tag to Nov 22, 2003


This is Gwenhywfar, a multi-platform helper library for networking and
security applications and libraries. 
It is used by 
 - Libchipcard (, 
 - OpenHBCI2 (, 
 - Simthetic, the simulation tool (
 - AqBanking/AqHBCI (
 - and others by using one of the projects above


This library is written in C, and it follows the object-oriented
programming paradigm for most of its parts.  The header files can
directly be used from C++, too.

Gwenhywfar includes the following features:

- Basic Data types for binary buffers, ring buffers, linked lists, 
  error objects, string lists (src/base/), buffered IO operations (src/io/)

- Macros for typesafe list management

- OS abstraction functions for directory and Internet address handling
  and library loading (src/os/)

- Networking functions which allow to manage many connections to be used
  economically even in single threaded applications

- High-level functions for parsing files with a simplified "XML-like"
  format and accessing them like a hierarchical database (src/parser/)
  It is able to process valid XML files, too.

- High-level cryptographic functions on top of OpenSSL functionality

- Support for interprocess communication (HTTP on top of SSL or plain
  TCP/UDP sockets, with or without certificates for clients and/or servers)

- A tool to generate simple data containers from XML files. It automatically
  generates getters, setters, constructor, destructor, deep-copy function,
  usage counter handling, modification tracking, functions for reading from 
  and writing to GWEN_DBs (used by AqBanking to create the transaction class)


- GnuTLS >= 1.4 (>=2.0.1 recommended)
- libgcrypt (>=1.2.0)


Gwenhywfar is being developed on Linux. But the following platforms are also

- Windows (98, NT and newer; for using this library from Microsoft
  Visual Studio C please see the explanations in test/README.MSVC)

- FreeBSD   
- Linux     (i386, amd64, alpha)
- Mac OS-X  
- NetBSD    (untested, but most likely to work)
- OpenBSD   (untested, but most likely to work)
- SunOS 5.9 (compiles, untested, but most likely to work)

On Windows, an .exe setup program is provided, created with the Inno
Setup Compiler .


According to Debian Gwen runs on the following platforms:
- alpha
- amd64
- arm
- hppa
- i386
- ia64
- m68k
- mips
- mipsel
- powerpc
- s390
- sparc

Environment Variables


This integer variable tells gwen whether (and how) to print the memory
debugger statistic. This only works for sources compiled with the defined
- "0" shows ALL listed objects
- "1" only shows those objects whose count is not 0


If this environment variable exists the SSL code will append data received
via an SSL connection to "/tmp/read.bin" and append data sent via an SSL
connection to /tmp/written.bin".


If this environment variable is set, the SSL code will initialize the GnuTLS
library with the provided cipher priority list.  If this environment variable
is unset, the default cipher priority list of the GnuTLS library is being used.

For the exact format of the cipher priority list and its default, please
consult the GnuTLS documentation, section "Priority strings":

Registry Keys

On Windows platforms Gwen uses some keys below HKEY_CURRENT_USER
to store information about file/folder locations. The keys are set
in the Inno Setup file gwenhywfar.iss, so please check the
[Registry] section in for the authoritative
source of available registry keys.

Complete path to the folder containing GWENs DBIO plugins.
(and some more keys. See


The documentation can be found in the header files. Many header 
files already include extensive comments in doxygen-format (however some 
For a more or less complete API documentation use the command
"make srcdoc"
You will need the tool doxygen for this command to run.


For questions about this library please ask on the mailing list of the
OpenHBCI project aqbanking-devel (subscriber-only, please subscribe
since this is where the author(s) hang out. 


This library is being written by and is being maintained by Martin
Preuss <>. 

I also wish to thank Christian Stimming <> for his
contributions and for adding MSVC support to Gwen (thus making Gwen completely
available on Windows).


The name of this library was chosen to honour a very special person ;-)
(that should suffice as an explanation)

Hamburg, Germany 2007/10/31

You can’t perform that action at this time.