home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
gnu
/
ixemul-40.4-src.lha.pi
< prev
next >
Wrap
Fred Fish's Product-Info
|
1995-01-29
|
3KB
|
69 lines
.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.