* Stdlib.cs, Syscall.cs: Minimize duplicate declarations of
authorJonathan Pryor <jpryor@novell.com>
Sat, 1 Jan 2005 23:19:20 +0000 (23:19 -0000)
committerJonathan Pryor <jpryor@novell.com>
Sat, 1 Jan 2005 23:19:20 +0000 (23:19 -0000)
  "MonoPosixHelper" for use in DllImport statements.

svn path=/trunk/mcs/; revision=38223

mcs/class/Mono.Posix/Mono.Unix/ChangeLog
mcs/class/Mono.Posix/Mono.Unix/Stdlib.cs
mcs/class/Mono.Posix/Mono.Unix/Syscall.cs

index 769626771595803c32baaa4a08af90a9f34d556c..271d82cc86dd625524f786479b8beb2db30b13a5 100644 (file)
@@ -1,3 +1,8 @@
+2005-01-01  Jonathan Pryor <jonpryor@vt.edu>
+
+       * Stdlib.cs, Syscall.cs: Minimize duplicate declarations of
+         "MonoPosixHelper" for use in DllImport statements.
+
 2005-01-01  Jonathan Pryor <jonpryor@vt.edu>
 
        * Stdlib.cs: Don't use C# v2 features; fixes build under CSC.EXE.
index 3c98c55b930a076efdae2909ff3b90eca6a1a770..016a4d7fbe85c957965fa8d1eaed64f71c1ac0bb 100644 (file)
@@ -36,18 +36,13 @@ namespace Mono.Unix {
 
        public delegate void SignalHandler (int signal);
 
-       [StructLayout (LayoutKind.Sequential)]
        public sealed class FilePosition : IDisposable {
 
-               [DllImport ("MonoPosixHelper",
-                               EntryPoint="Mono_Posix_Stdlib_CreateFilePosition")]
-               private static extern IntPtr CreateFilePosition ();
-
                private HandleRef pos;
 
                public FilePosition ()
                {
-                       IntPtr p = CreateFilePosition ();
+                       IntPtr p = Stdlib.CreateFilePosition ();
                        if (p == IntPtr.Zero)
                                throw new OutOfMemoryException ("Unable to malloc fpos_t!");
                        pos = new HandleRef (this, p);
@@ -85,14 +80,9 @@ namespace Mono.Unix {
                        this.handler = handler;
                }
 
-               private const string MPH = "MonoPosixHelper";
-
-               [DllImport (MPH, EntryPoint="Mono_Posix_Syscall_InvokeSignalHandler")]
-               private static extern void InvokeSignalHandler (int signum, IntPtr handler);
-
                public void InvokeSignalHandler (int signum)
                {
-                       InvokeSignalHandler (signum, handler);
+                       Stdlib.InvokeSignalHandler (signum, handler);
                }
        }
 
@@ -132,14 +122,17 @@ namespace Mono.Unix {
        //
        public class Stdlib
        {
-               private const string LIBC = "libc";
-               private const string MPH = "MonoPosixHelper";
+               internal const string LIBC = "libc";
+               internal const string MPH  = "MonoPosixHelper";
 
                internal Stdlib () {}
 
                //
                // <signal.h>
                //
+               [DllImport (MPH, EntryPoint="Mono_Posix_Syscall_InvokeSignalHandler")]
+               internal static extern void InvokeSignalHandler (int signum, IntPtr handler);
+
                [DllImport (MPH, EntryPoint="Mono_Posix_Stdlib_SIG_DFL")]
                private static extern IntPtr GetDefaultSignal ();
 
@@ -231,6 +224,9 @@ namespace Mono.Unix {
                [DllImport (MPH, EntryPoint="Mono_Posix_Stdlib_BUFSIZ")]
                private static extern int GetBufferSize ();
 
+               [DllImport (MPH, EntryPoint="Mono_Posix_Stdlib_CreateFilePosition")]
+               internal static extern IntPtr CreateFilePosition ();
+
                [DllImport (MPH, EntryPoint="Mono_Posix_Stdlib_L_tmpnam")]
                private static extern int GetTmpnamLength ();
 
index 3a7aa4d535c68a00c37ecd2d13f5150f6a4c878e..183ef3ec59a59697a1cb953b29a94b15e3cbf969 100644 (file)
@@ -6,7 +6,7 @@
 //   Jonathan Pryor (jonpryor@vt.edu)
 //
 // (C) 2003 Novell, Inc.
-// (C) 2004 Jonathan Pryor
+// (C) 2004-2005 Jonathan Pryor
 //
 // This file implements the low-level syscall interface to the POSIX
 // subsystem.
@@ -1045,8 +1045,6 @@ namespace Mono.Unix {
        //
        public sealed class Syscall : Stdlib
        {
-               private const string LIBC = "libc";
-               private const string MPH = "MonoPosixHelper";
                private const string CRYPT = "crypt";
 
                private Syscall () {}