From: Jonathan Pryor Date: Sat, 1 Jan 2005 23:19:20 +0000 (-0000) Subject: * Stdlib.cs, Syscall.cs: Minimize duplicate declarations of X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=8d21a3485364f39bff8677d6c2880a19781fc63e;p=mono.git * Stdlib.cs, Syscall.cs: Minimize duplicate declarations of "MonoPosixHelper" for use in DllImport statements. svn path=/trunk/mcs/; revision=38223 --- diff --git a/mcs/class/Mono.Posix/Mono.Unix/ChangeLog b/mcs/class/Mono.Posix/Mono.Unix/ChangeLog index 76962677159..271d82cc86d 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/ChangeLog +++ b/mcs/class/Mono.Posix/Mono.Unix/ChangeLog @@ -1,3 +1,8 @@ +2005-01-01 Jonathan Pryor + + * Stdlib.cs, Syscall.cs: Minimize duplicate declarations of + "MonoPosixHelper" for use in DllImport statements. + 2005-01-01 Jonathan Pryor * Stdlib.cs: Don't use C# v2 features; fixes build under CSC.EXE. diff --git a/mcs/class/Mono.Posix/Mono.Unix/Stdlib.cs b/mcs/class/Mono.Posix/Mono.Unix/Stdlib.cs index 3c98c55b930..016a4d7fbe8 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/Stdlib.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/Stdlib.cs @@ -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 () {} // // // + [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 (); diff --git a/mcs/class/Mono.Posix/Mono.Unix/Syscall.cs b/mcs/class/Mono.Posix/Mono.Unix/Syscall.cs index 3a7aa4d535c..183ef3ec59a 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/Syscall.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/Syscall.cs @@ -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 () {}