[Mono-list] Mono.Posix OEE 0.3
Jonathan Pryor
jonpryor@vt.edu
Mon, 04 Oct 2004 22:02:20 -0400
--=-Yza/8F/hiVuoRizPVSob
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Mono.Posix Over-Engineered Edition 0.3.
OK, I lied. I'm didn't integrate with CVS after 0.2. Instead I kept
hacking on the current code base... So sue me.
Major Changes since 0.2:
- C code uses typedefs for managed/unmanaged mapping.
I should have done this in the first place...
- Wrapper Classes. More below.
- Managed structs have operator==/!= defined
- String_h class removed in a fit of inconsistency as suggested
by Joshua Tauberer (because "String_h" is just too @#% ugly).
Error-related functions are in Errno, signal-related functions
are in Signal. We'll deal with any other imports from
<string.h> on an as-needed basis (on the hopes we won't need
anymore imports).
- The "Utils" class, which contained conversion functions
to/from the managed values, is now named PosixConvert.
Wrapper Classes:
As a proof-of-concept for my earlier RFC, there is a set of Posix*
wrapper classes, which follow .NET conventions (PascalCasing, exceptions
on errors, etc.). In addition to the earlier PosixStream, we have:
- PosixEnvironment (CurrentDirectory, GetConfigurationValue,
GetConfigurationString)
- PosixFile (Open, Create, SetOwner, etc.)
- PosixGroup (GetGroups, GetMembers)
- PosixProcess (Id, ProcessGroupId, SessionId, etc.)
- PosixUser (GetCurrentUser, GetName, GetGroupID,
GetHomeDirectory, etc.)
These are not fully complete wrapper classes, but they should be
illustrative of plausible future design.
Please see the earlier RFC [1] for how the wrapper classes should be
structured.
About the package
It has a makefile. Unpack the archive, and build:
$ tar xzf Mono-Posix-jp-0.3.tar.gz
$ cd Mono.Posix-jp-0.3
$ make
This will create a lot of .cs file, Mono.Posix.dll,
libMonoPosixHelper.so, and lots of test programs.
Main.exe is a badly cobbled test program, which calls stat(2) on all
command line arguments, printing out their information, and tries to
write "hello\n" to the file hello.txt using a PosixStream.
mls.exe is a "managed ls" -- it's there to test readdir(3) and co.
lsui.exe "lists user information" -- dumps out the passwd structure for
a user provided as a command-line argument.
lsgi.exe "lists group information" -- dumps out the group structure for
a group provided as a command-line argument.
I wrote this on Fedora Core 2, so if it doesn't compile on your system,
please let me know so I know what portability issues to fix. Thanks to
Charlie Ford for letting me know about problems compiling on Red Hat 9.
These should be corrected.
Execution
Remember that Mono.Posix-OEE uses the same names as the current
Mono.Posix. Consequently, you'll have to set LD_LIBRARY_PATH (or
equivalent) to find the newer library, and you'll have to explicitly
link against OOE's Mono.Posix.dll.
About the Implementation
As mentioned previously, functions are placed in classes named
after the header file they appear in. So open(2) is in the Fcntl class.
Furthermore, C typedefs get their own types. This feature is debatable,
and can be changed, but I thought it was cool. Consequently, the C:
typedef unsigned long size_t;
Becomes the C#:
public struct size_t : IComparable, IFormattable...
{
private ulong value;
// ...
}
This can get rather tedious, so I have a Perl script which generates the
structure declarations, stub-vt.pl. (This could also be a shell script,
or any other language, if that would be preferred. I'm not sure what
the Mono policy regarding code generation is; I haven't heard of such a
policy, anyway.)
The "typedef" classes all support implicit conversions to their
underlying type, but require explicit conversions back. Usage is thus:
size_t a = (size_t) (1 + 2);
size_t b = (size_t) (a + 42);
// ...
I also have enough POSIX support in place to fully implement my
PosixStream class.
Enumerations now get two conversion functions instead of one from
make-map.cs: a ToManagedType, and a FromManagedType. This allows
managed code to get unmanaged values and convert them to the proper
managed equivalent (useful for Error values, as we get the unconverted
value from Marshal.GetLastWin32Error()), as well as the previous code to
convert managed values to their unmanaged equivalent.
All API exports also follow a consistent naming convention
(Mono_Posix_whatever).
Open Questions (more to follow, I'm sure):
I need some 64-bit OS advice. Is it safe to assume (as I currently do)
that a 64-bit OS will provide the -64 API call? I don't believe this is
actually safe, as open(2) and open64() should do the same thing on
64-bit platforms, so there isn't any need for open64() (except for
compatibility).
- Jon
[1]
http://lists.ximian.com/archives/public/mono-devel-list/2004-October/008146.html
--=-Yza/8F/hiVuoRizPVSob
Content-Disposition: attachment; filename=Mono.Posix-jp-0.3.tar.gz
Content-Type: application/x-compressed-tar; name=Mono.Posix-jp-0.3.tar.gz
Content-Transfer-Encoding: base64
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
aUmVygD4AgA=
--=-Yza/8F/hiVuoRizPVSob--