e-POSIX, the complete Eiffel to POSIX binding

Eiffel POSIX binding

e-POSIX gives Eiffel programmers access to the familiar Unix API. Either as raw calls, but also in the form of classes with full Design By Contract support. e-POSIX file and socket classes can be used as a plugin where Gobo's KI_INPUT_STREAM and KI_OUTPUT_STREAM are expected. So you can now directly parse input coming from a TCP socket.

The goal of e-POSIX is to provide a 100% complete Eiffel binding to Standard C, POSIX and the Single Unix Specification.

e-POSIX can also be used on Windows systems through its portability layer. This allows you to create native Windows programs that use file descriptors, sockets, pipes and can read and write the input and output of child programs. The Cygwin UNIX emulator is also supported, but not needed. When using Cygwin, e-POSIX just thinks that it is running on Unix.

e-POSIX got a 2nd place at the Eiffel struggle 2000!

Released at 2008 January 2 is version 3.0.1, the current official release. This is a minor update for the 3.0 released at 2007 May 18, and Windows users are urged to upgrade. It is targeted at ISE 5.6 (and 5.7), VisualEiffel 5.0 and SmartEiffel 1.2r7. The most important user visible list of changes between 2.4 and 3.0 is:

  • EPX_HTTP_CLIENT: supports HTTPS now (needs the openssl binary).
  • STDC_FILE: now supports writing of strings with %U characters.
  • More Gobo compatible: use name instead of path or filename and end_of_input instead of eof.
  • SUS_TEMPORARY_FILE: creates temporary file for which a filename is available.
  • POSIX_CONSTANT: all POSIX error codes added.
  • EPX_HTTP_10_CLIENT: read_response_with_redirect: new method to read a response and follow up on redirects until the redirects end.
  • EPX_XML_WRITER: strict checks for name and content validation.
  • EPX_CGI: support for PUT method.
  • Better support for multithreading in ISE Eiffel.
  • Important bug fixes, including format string vulneratibility in SUS_SYSLOG.

Download

You can download the tar.gz release or zip release. For VisualEiffel users who do not have Microsoft Visual C, there is a precompiled eposix library. You don't have to compile the C sources in this case. Rename this file to libeposix_ve_msc.lib and put this file in the lib subdirectory of eposix.

Features

e-POSIX features include:

  • Standard C file streams.
  • POSIX File descriptors.
  • Support for TCP/IP version 4 and version 6.
  • Single Unix Specification sockets.
  • All streams, descripts and sockets plug straight into classes that expect a Gobo KI_CHARACTER_INPUT_STREAM or KI_CHARACTER_OUTPUT_STREAM.
  • POSIX File locking.
  • Forking.
  • Daemons.
  • Signal handling including POSIX signal sets.
  • POSIX Shared memory.
  • Memory maps.
  • Asynchronous I/O.
  • Write CGI programs with ease using XHTML generator class. Supports form building and file uploading.
  • Clients for popular Unix protocols as FTP, HTTP, SMTP and IRC.
  • ULM based logging for Unix and Windows.
  • MIME message creation.
  • MIME message parsing.
  • Embedded HTTP server.

You can browse or read the manual online.

Support

To subscribe to the e-POSIX mailing list, fill-in your email address and click the button below.

Subscribe to e-POSIX
Powered by groups.yahoo.com

Interim releases

There are currently no interim releases.

Older releases

In case newer versions don't work for you, try the following versions:

NOTE: This HTML page requires a browser that supports XHMTL and Cascading Style Sheets 2.

Valid XHTML 1.0!

Validate!