.name ixemul .fullname Unix Emulation Library .type Library .short Shared lib providing UNIX like environ. .description (by Markus Wild) I always wanted a library, that would emulate as much as possible of a **IX/BSD environment on the Amiga, so that programs (usually programming tools) written for **IX/BSD could be ported in a quick and straight forward way to the Amiga. I guess the library accomplishes this goal fairly well. What it is and what it isn't ============================ The design of the library was therefore guided towards **IX/BSD compatibility, and *not* : o to be too conservative with resources o to be particularly conformant to Amiga habits. Thus if I had to decide whether I should make a function act more like an Amiga function or more like a **IX/BSD one, I decided for the latter. As an example: _cli_parse() does wildcard expansion, and tries to apply more or less **IX/BSD shell semantics to an argument line, it doesn't call ReadArgs(). The types used in my own source code are all from sys/types.h (except BPTR). I don't think capitalized identifiers should be used for typedef'd types. According to C-conventions, anything written in captials should be `#undef'inable, which typedefs aren't. Thus if you write contributions to be included into the official distribution of this library, code according to this. Use `u_char' and not UBYTE, etc. I don't care that this is against the Commodore coding standard, this is my code, and I decide what I like and what not. o to be particularly suited for inclusion into a shared library, although most things *are* shared now. What I'd really want for the Amiga is the concept of a dynamic linker. On the other hand, it should be: o expandable. As an example, a file descriptor already can refer to `real' files, directories, memory buffers treated as files. I plan to add sockets in some next release (Commodore: please get out some examples on how to use SANA-II stuff, so my sockets can be compatible!) o patchable. If you want some function to behave differently, you can SetFunction() it, and the rest of the library should use your new entry. NOTE: I used this only for major functions, that may reasonably change. I didn't call functions like strcmp(), strlen(), bcopy() that way for efficiency reasons (and my lazyness to change the whole string/ and other libraries;-))) This version doesn't particularly follow this goal very well, mostly stdio is still the original BSD code, and doesn't use syscall()... .version 40.4 .author Markus M. Wild .distribution GNU Public License .source Includes source. .docs docs/README docs/README2 .described-by Fred Fish (fnf@fishpond.cygnus.com) .submittal Downloaded via ftp from wuarchive.wustl.edu.