nice reference (perl-based) here: http://www.perl.com/doc/manual/html/lib/POSIX.html
----- Original Message ----- From: "Adam Keys" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; "Mono List" <[EMAIL PROTECTED]> Sent: Wednesday, November 27, 2002 10:49 PM Subject: [Mono-list] First attempt at a POSIX wrapper > I've included my first (very rough) attempt at a POSIX wrapper. This is > more of an exploratory prototype than anything else. Its highly > unlikely that you'll find that it works correctly, let alone useful. > Regardless I wanted to get Paulo and the rest of the list's feelings on > it. > > Issues: > > o No test suite yet. I'm not sure if I should just test whether the > functions are invoked properly (they return and the runtime doesn't > crash) or some sanity checks on the output should be included. I > presume we're going to rely on the host vendor to make sure the > P/Invoked functions do the write thing. I have included a quick hack at > what they might look at based on TemplateTest.cs. > > o Things like uid_t, pid_t, time_t, etc. are aliased to System.Int32. > It's my understanding that these are usually kernel specific items. > Should we attempt to generate a file that defines these properly on a > per-platform basis? > > o Should said types be thrown into a separate PosixTypes.cs file? > > o Is the implementation of utsname and tms the right way to go when a > function returns a struct? Since classes are reference types, I presume > the caller can pass in an object to be filled in, just as a C caller > would do. > > o Should all the directly-mapped POSIX functions be thrown into one > POSIX.POSIX class or should they be broken out as I've started to do > here? > > o The only place I could find info on what is in POSIX and what's not is > http://j4p.sourceforge.net/. I checked the POSIX man page and it has > stuff like cos and asin which I wouldn't think are in the POSIX > standards. So, I need some canonical source from which I can determine > which functions to include. > > I think that pretty much covers my thoughts at the time. > > Looking forward to feedback, > -- > AKK~ > http://trmk.org/~adam/blog > ---------------------------------------------------------------------------- ---- // // Posix.cs // // Author: // Adam Keys ([EMAIL PROTECTED]) // // (C) 2002 Adam Keys // using System.Runtime.InteropServices; namespace POSIX { class POSIX { [DllImport ("libc.so.6", EntryPoint="getpid")] public static extern int getpid(); [DllImport ("libc.so.6", EntryPoint="getppid")] public static extern int getppid(); [DllImport ("libc.so.6", EntryPoint="chown")] public static extern int chown (string path, int owner, int group); [DllImport ("libc.so.6", EntryPoint="execv")] public static extern int execv (string path, string[] argv); } } _______________________________________________ Mono-list maillist - [EMAIL PROTECTED] http://lists.ximian.com/mailman/listinfo/mono-list
