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.
Released on 23 September, 2010 is version 3.2.1, the current official release. It is targeted at ISE 6.5, the Gobo Eiffel compiler, and SmartEiffel 1.2r7. This is a bug fix release for the 3.2.0 version fixing a bug in STC_TIME.to_local on 64 bit systems and a failure to handle chunked encodings in certain cases when using HTTP.
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.
- 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.
- MD5, SHA1 and HMAC calculation.
You can browse or read the manual online.
To subscribe to the e-POSIX mailing list, fill-in your email address and click the button below.
There are currently no interim releases.
In case newer versions don't work for you, try the following versions:
- The 3.0.1 release: 3.0.1 tar release or the 3.0.1 zip release.
- The 2.4.1 release: 2.4.1 tar release or the 2.4.1 zip release.
- The 2.4 release: 2.4 tar release or the 2.4 zip release.
- The 2.2 release: 2.2 tar release or the 2.2 zip release.
- The 2.0 release: 2.0 tar release or the 2.0 zip release.
- The 1.6.2 release: 1.6.2 tar release or the 1.6.2 zip release.
- The 1.0 official release: 1.0.0 tar release or the 1.0.0 zip release.