2010-06-28 Zoltan Varga * Makefile.am (patch-libtool): Fix this up after the dolt changes. 2010-05-13 Geoff Norton * fakepoll.h: Added for OSX * serial.c: * signal.c: poll on OSX is broken, so we use a select based implementation instead. 2010-04-19 Gonzalo Paniagua Javier * zlib-helper.c: don't call Z_FINISH if nothing has been written. 2010-04-19 Jonathan Pryor * dirent.c, grp.c, macros.c, pwd.c, signal.c, sys-statvfs.c, sys-time.c, unistd.c: Add #if HAVE_XXX checks for functions which aren't provided on Android. 2010-04-15 Jonathan Pryor * Makefile.am: Revert previous linkage against libmono.so, as lupus mentioned that it's unacceptable for MonoPosixHelper to link against libmono (e.g. when embedding mono, there might not be a libmono). * map.h: Flush updated Mono_Unix_UnixSignal_SignalInfo prototype. * signal.c: Don't use mono_runtime_is_shutting_down(). Instead, change Mono_Unix_UnixSignal_WaitAny() to accept a function pointer argument, which will return Environment.HasShutdownStarted in managed code (the moral equivalent of mono_runtime_is_shutting_down()). This allows us to avoid a libmono dependency w/o lots of rewriting. Fixes #592981. 2010-04-07 Gonzalo Paniagua Javier * zlib-helper.c: now that we don't use Z_SYNC_FLUSH, there might be unflushed input in zstream, so always call Z_FINISH. 2010-04-02 Jonathan Pryor * Makefile.am: On non-Windows platforms, MonoPosixHelper now links against libmono.so, for mono_runtime_is_shutting_down(). * signal.c: Only continue retrying system calls if Mono is NOT attempting to shut down. Fixes #592981. 2010-03-29 Zoltan Varga * mph.h: Applied some changes from the openbsd ports tree to fix openbsd support. 2010-03-23 Andreas Faerber * old-map.c (map_Mono_Posix_Signals): Fix build for platforms where SIGIO is not defined (Haiku). Code is contributed under MIT/X11 license. 2010-02-23 Carlos Alberto Cortez * serial.cs: Add 921600 to the list of possible baud rates, and use it only if defined, as is not available in all the unix systems. Fixes #445520. 2010-01-28 Gonzalo Paniagua Javier * zlib-helper.c: no need for sync flush when compressing. Thanks to Hin-Tak Leung. 2010-01-28 Rodrigo Kumpera * serial.c: Fix the OSX build. 2010-01-22 Leszek Ciesielski * serial.c: baud rate 460800 by Thad Thompson * serial.c: report errors from every function 2009-12-16 Gonzalo Paniagua Javier * zlib-helper.c: when finishing uncompressing a buffer, we might need more than one call to deflate with Z_FINISH since the uncompressed data can take more space than the allocated buffer. Fixes the IPY+Chiron test case. 2009-10-24 Gonzalo Paniagua Javier * zlib-helper.c: stop trying to decompress when we get Z_STREAM_END. Patch by Ives Bastide. Fixes bug #549942. 2009-09-21 Leszek Ciesielski * serial.c: return -1 from close() on error 2009-09-14 Jonathan Pryor * zlib-helper.c: support reverse callbacks within MonoTouch. 2009-09-09 Gonzalo Paniagua Javier * zconf.h: * Makefile.am: attempt to fix the windows GCC build. 2009-09-02 Rodrigo Kumpera * time.c (Mono_Posix_Syscall_nanosleep): Avoid referencing unitialized memory. 2009-08-23 Gonzalo Paniagua Javier * deflate.c: * gzio.c: * deflate.h: * zutil.h: * crc32.c: * trees.c: * zconf.h: * inffast.c: * compress.c: * zlib.h: * inftrees.c: * inflate.c: * inflate.h: * adler32.c: * infback.c: updated to 1.2.3.3 2009-07-21 Gonzalo Paniagua Javier * zlib-helper.c: use glib for malloc/free. 2009-07-21 Gonzalo Paniagua Javier * zlib-helper.c: don't try to finish the z_stream if it has not been used. This fixes all the tests after the latest change. 2009-07-20 Gonzalo Paniagua Javier * Makefile.am: replaced zlib_macros.c with zlib-helper.c * zlib_macros.c: Removed file. * zlib-helper.c: new interface for DeflateStream. Flush() actually does something. 2009-04-13 Jonathan Pryor * sys-time.c: Properly set the modification time, instead of using the access time as the modification time. Fixes #494253. 2009-03-20 Jonathan Pryor * x-struct-str.c: It's possible for struct members to be NULL, so make sure we don't pass NULL to strlen(3). 2009-02-20 Jonathan Pryor * map.h: Flush (adds Mono_Unix_UnixSignal_SignalInfo::pipecnt, removes functions no longer declared within Mono.Posix.dll). * signal.c: Allow Mono_Unix_UnixSignal_WaitAny() to be called concurrently from multiple threads w/o blocking each thread; previously, calls to Mono_Unix_UnixSignal_WaitAny() would block until the previous call completed. This required restructuring Mono_Unix_UnixSignal_SignalInfo to hold a ref-counted read_fd/write_fd pair (instead of allocating & releasing within _WaitAny()) so that the pipes could be "shared" between threads. Patch thanks to tim.jenks@realtimeworlds.com. 2009-02-10 Jeffrey Stedfast * minizip/zip.c: Fix warnings about old-style paramater type specifications. * minizip/unzip.c Fix warnings about old-style paramater type specifications. (unzlocal_DosDateToTmuDate): Fix ambiguous else's. (unzlocal_DosDateToTmuDate): Here too. (unzlocal_CheckCurrentFileCoherencyHeader): And here. * old-map.c: Added prototypes to silence compile warnings. Looks like this file is supposed to be autogenerated, so probably not the right fix but I can't find the autogen script. * map.h (helper_Mono_Posix_getpwnamuid): Added a prototype for this - it doesn't seem to be used anywhere in mono, so maybe it can be removed but I'm not positive. (map_Mono_Posix_PollEvents): Added prototype. (map_Mono_Posix_Signals): Added prototype. * macros.c: #include "map.h" to silence compile warnings about no previous prototypes. 2009-02-09 Jeffrey Stedfast * supportw.c (SetWindowPos): Fixed compile warnings about printf-style formatters. (SendMessageA): Same. 2009-01-14 Geoff Norton * supportw.c: Use unsigned int instead of uint, as its more portable. Fixes compilation issue on Mac OSX. 2009-01-08 Rodrigo Kumpera * signal.c: Don't allow registration of a realtime signal to happen if it was already registered outside of Mono.Posix. 2008-12-19 Jonathan Pryor * signal.c: Improve error checking within Mono_Posix_FromRealTimeSignum. 2008-12-19 Jonathan Pryor * map.h: Flush. * signal.c: Add Mono_Posix_SIGRTMIN(), Mono_Posix_SIGRTMAX(), Mono_Posix_FromRealTimeSignum(). Patch thanks to tim.jenks@realtimeworlds.com. 2008-11-06 Alan McGovern * Makefile.am: Missed out on a header file for minizip 2008-11-06 Alan McGovern * minizip/minizip/miniunz.c : * Makefile.am: Removed unnecessary file from build and svn. 2008-11-06 Alan McGovern * minizip/*.am : * Makefile.am: Merged minizip build into the support code. 2008-11-05 Bill Holmes * Makefile.am : For generation of map.c adding preprocessor checks for sys/time.h, unistd.h, dirent.h and utime.h. * map.c : Re-run 'make refresh' to add preprocessor checks for sys/time.h, unistd.h, dirent.h and utime.h. Code is contributed under MIT/X11 license. 2008-10-15 Jonathan Pryor * time.c: Add Mono_Posix_Syscall_nanosleep(). 2008-10-15 Jonathan Pryor * fcntl.c: Use Mono_Posix_{From,To}Flock() for flock conversion. * Makefile.am: Include in map.c. * map.c, map.h: Flush; adds Flock, Timespec support. 2008-09-14 Carlos Alberto Cortez * serial.c: When writing bytes and polling, take into account negative values to indicate infinite timeout. Patch by Leszek Ciesielski. Fixes #399245. 2008-07-22 Zoltan Varga * Makefile.am (patch-libtool): New helper target. 2008-04-05 Carlos Alberto Cortez * serial.c (set_attributes): When setting parity to Even, besides removing the PARODD bit, add the PARENB bit to actually use even parity. Patch by Leszek Ciesielski. Fixes #365248. 2008-03-31 Miguel de Icaza * serial.c (write_serial): Avoid infinite loops, see #375580. 2008-02-12 Jonathan Pryor * signal.c: SLES9 has glib 2.2, so we can't rely on g_atomic_int_*(). Provide a fallback mechanism between using Mono's atomic.h, glib 2.4 functions, and horribly unsafe-but-no-alternative code. 2008-02-12 Jonathan Pryor * signal.c: Fix another build break; g_atomic_int_set() (part of GLib 2.10) isn't present on all build machines, so use an alternate function. 2008-02-08 Jonathan Pryor * signal.c: Mono_Unix_UnixSignal_WaitAny() semantic change: return the index into the signals array of the first signaled signal if successful, otherwise return the timeout. 2008-02-07 Jonathan Pryor * signal.c: Make the signal handler thread-safe, so that it can safely be invoked concurrently from multiple threads. 2008-02-05 Jonathan Pryor * signal.c: Fix the Win32 build. 2008-01-28 Jonathan Pryor * signal.c: Provide support functions for Mono.Unix.UnixSignal, which supports both polling and waiting on signal emission. * map.h: Flush (adds UnixSignal-related prototypes). 2008-01-05 Jonathan Pryor * map.h, map.c: Flush; add new ST_NOEXEC, ST_REMOUNT, and ST_BIND MountFlags enumeration values. 2007-12-17 Jonathan Pryor * map.h: Flush; add Mono_Posix_Syscall__Utsname, Mono_Posix_Syscall_uname() declarations. * Makefile.am: Add sys-utsname.c to the build. * sys-utsname.c: Added; binding for uname(2). * mph.h: Change definition of _mph_copy_structure_strings() so that the offset array specifies whether the string is a pointer (char*) or inline array (char[]) within the structure. Necessary because most bound structure string members are pointers, but `struct utsname' uses arrays. * fstab.c, pwd.c: Update offset array generation due to above. * x-struct-str.c: Update _mph_copy_structure_strings() as above. 2007-11-01 Geoff Norton * stdio.c: Handle Leopards lack of L_cuserid. 2007-10-25 Jonathan Pryor * stdio.c: Provide errno as a parameter and set errno before calling perror(3), as errno is cleared during P/Invoke. * map.h: Updated prototype for Mono_Posix_Stdlib_perror(). 2007-09-08 Jonathan Pryor * dirent.c: NAME_MAX isn't defined on Solaris; fix the build. 2007-09-04 Jonathan Pryor * dirent.c: Fix `struct dirent' overflow on Solaris. See #82678. 2007-09-03 Jonathan Pryor * dirent.c: Fix logic to determine if readdir_r() succeeded. Thanks to Albert Lee for the patch; see #82678. 2007-08-14 Wade Berrier * serial.c: include sys/time.h for mac osx 10.3 for timeval 2007-08-12 Lukasz Byczynski * serial.c: - all changes are based on Windows .Net SerialPort behavior and this document: http://www.easysw.com/~mike/serial/serial.html - removed wrong default values from open_serial - added timeout detection in write_serial - added proper parameters setting in set_attributes 2007-06-29 Jonathan Pryor * dirent.c, grp.c, pwd.c, stdio.c, syslog.c, unistd.c: Following in the logic of the 2007-06-27 logic... Only return failure if an actual DOCUMENTED error occurred. For many of these functions, there are no docuemented errors, so they "can't fail," even if errno were set. All praise the POSIX standard? 2007-06-28 Jonathan Pryor * map.c, map.h: Refresh -- to add Utimbuf copy conversion functions. - Includes latest-and-greatest create-native-map output. - Mono's Reflection output has changed as well -- FieldInfo.GetValue().ToString("x") is now "correct" for the underlying type, so `short' enums are 0x0000, etc. - Member sorting is now case-insensitive. 2007-06-27 Jonathan Pryor * grp.c, pwd.c: Only return failure if a documented errno is encountered. This fixes UnixUserInfo.GetLocalUsers() and UnixGroupInfo.GetLocalGroups() on systems missing the file /etc/default/nss (which generates ENOENT, which isn't documented, so therefore it's not a "real" error). * mph.h: Add mph_return_if_val_in_list5(). 2007-03-28 Wade Berrier * supportw.c (SendMessageA/GetWindowLongA): Return values to fix some warnings, even though these aren't called (Patch from suse rpms) 2007-01-23 Miguel de Icaza * serial.c (poll_serial): Fix for #79073, based on the patch by Leszek Ciesielski, without introducing a GNU libc-ism. (write_serial): Handle EINTR here as well. 2006-11-30 Jonathan Pryor * map.c: _cnm_return_val_if_overflow() should be a no-op unless DEBUG is defined. "Fixes" false positives pending further investigation. 2006-11-18 Miguel de Icaza * serial.c (poll_serial): Do not report an error for EINTR. 2006-11-18 Jelle Hissink * serial.c (poll_serial): Add timeout parameter to poll. Fixes #79722 and #79735 2006-11-17 Jonathan Pryor * map.c: Flush (fix FromFilePermissions for SuppressFlags-marked values). 2006-11-15 Jonathan Pryor * map.c: Flush (removes warnings due to _cnm_return_val_if_overflow()). 2006-11-14 Jonathan Pryor * map.c: Flush (fixes FilePermissions conversion, allowing Syscall.stat() to work as expected). 2006-11-13 Jonathan Pryor * mph.h: Add macro for XATTR_AUTO, so that XattrFlags mapping works (as XATTR_AUTO is a value which frequently isn't definedy by any OS, yet it has the value 0, a default value which is supported by most OS's). 2006-11-08 Jonathan Pryor * Makefile.am: Revert addition of L_SET et al; this breaks the Win32 build. * map.c: Revert addition of L_SET et al; this breaks the Win32 build. * mph.h: Add macros for L_SET, L_INCR, and L_XTND for non-Win32 platforms. 2006-11-07 Jonathan Pryor * Makefile.am: Add implementation macros for L_SET, L_INCR, and L_XTND. * map.c: Make sure that L_SET, L_INCR, and L_XTND are defined. Lets Mono_Posix_FromSeekFlags() work on Solaris, fixing Gnome Bugzilla 370081. 2006-11-01 Jonathan Pryor * stdio.c: Some BSDs define clearerr(3) as a macro, so we need to cast `stream' to a `FILE*' to avoid derefing a `void*'. * sys-statvfs.c: Build fix to support OS X 10.3.9 & systems w/o statvfs(2). 2006-11-01 Jonathan Pryor * mph.h: Add fallback typedefs for blkcnt_t, blksize_t, suseconds_t so that map.c can rely on their presence. (Some versions of OS X don't provide these typedefs.) 2006-10-27 Jonathan Pryor * map.c: Improve handling of [Flags] enumerations which mix bitfields and non-bitfield values (i.e. FilePermissions and S_IFREG, which isn't a bit field, along with a few other FilePermissions values). Fixes #79161. 2006-10-26 Jonathan Pryor * map.c: Enclose structure conversion functions with HAVE_<>, so that Unix-specific structures don't break the Win32 build. 2006-10-26 Jonathan Pryor * create-native-map.exe: Remove. Just grab a new copy whenever we need to refresh map.[ch]. * Makefile.am: Remove `update-create-native-map' target, and just have the `refresh' target grab the latest create-native-map.exe program. * map.c: Flush (remove fallback to constants). 2006-10-26 Jonathan Pryor * create-native-map.exe: Update; Adds support for integral limit fallback. * map.c: Flush (adds integral limits fallback, so that if G_MININT8 doesn't exist we can fallback sanely instead of breaking the build). 2006-10-26 Jonathan Pryor * Makefile.am: Add "mph.h" to the generated code for map.c, so that EOVERFLOW is defined on Win32. * map.c: Flush (adds #include "mph.h"). 2006-10-25 Wade berrier * Makefile.am: remove map-icalls.h so make dist succeeds 2006-10-24 Jonathan Pryor * dirent.c, errno.c, fcntl.c, fstab.c, grp.c, macros.c, pwd.c, signal.c, stdio.c, stdlib.c, string.c, sys-mman.c, sys-sendfile.c, sys-stat.c, sys-statvfs.c, sys-time.c, sys-xattr.c syslog.c, time.c, unistd.c, utime.c: Remove structure definitions, and use the create-native-map generated definitions within map.h. Update function prototypes to match current map.h declarations. * map.c, map.h: Flush (current create-native-map output). * mph.h: Don't include "map-icalls.h"; "icalls" are now in map.h. * create-native-map.exe: Added; cached version of create-native-map.exe used to update map.c, map.h. (create-native-map.exe source within mono-tools/create-native-map.) * Makefile.am: Added update-create-native-map target to update create-native-map.exe using pkg-config & the create-native-map.pc package. Use create-native-map.exe to generate map.* files instead of make-map.exe. * sys-statvfs.c: Add Mono_Posix_ToStatvfs, Mono_Posix_FromStatvfs exports. 2006-09-15 Jonathan Pryor * Makefile.am: Remove CRYPT_LIBS use; we no longer rely on libcrypt. * stdlib.c: Remove setkey(3) wrapper. * unistd.c: Remove encrypt(3) wrapper. 2006-08-13 Miguel de Icaza * serial.c (get_bytes_in_buffer): Change the signature, we do not return any meaningful error other than -1. 2006-06-28 Zoltan Varga * mph.h (MPH_INTERNAL): Only use this if HAVE_VISIBILITY_HIDDEN is defined since it is not supported on some archs with gcc. 2006-04-28 Wade Berrier * serial.c: Add sys/filio.h for solaris for FIONREAD 2006-04-20 Geoff Norton * serial.c: Change TIOCINQ to FIONREAD to fix the build on the *BSDs. 2006-04-19 Carlos Alberto Cortez * serial.c: Added poll_serial () function, to poll outside the read_serial () functions; and get_bytes_in_buffer (), to get bytes in serialport buffers . Update some functions/enums used by System.IO.Port.SerialPort too (Changes aproved by Miguel: we will add tests in the managed side). 2006-03-22 Carlos Alberto Cortez * serial.c: Add get_signal_code, get_signal, and set_signal functions to access serial signals. Also add a MonoSerialSignal enum, which is a copy of System.IO.Ports.SerialSignal. Thu Mar 16 17:27:46 CET 2006 Paolo Molaro * serial.c: removed useless serial.h file (it was also breaking the build). 2006-03-09 Carlos Alberto Cortez * serial.c: Fix a pair of wrong or incomplete assignations in set_attributes. 2006-02-28 Carlos Alberto Cortez * serial.h: New file with serial port constants. * serial.c: Use the constants in serial.h instead of magic numbers. 2006-01-03 Jonathan Pryor * sys-time.c: lutimes(2) only exists on some BSDs. There's a configure check for it now -- use it. 2005-12-28 Jonathan Pryor * map-icalls.h: Flush (add utimes_bad, lutimes, futimes). * sys-time.c: Add lutimes(2) and futimes(2) wrapper. 2005-12-27 Jonathan Pryor * map.c: Include . Fixes #77091. Thanks to Ben Gamari. 2005-12-01 Jonathan Pryor * Makefile.am: Use $(CRYPT_LIB), not -lcrypt, as not all platforms support -lcrypt. * stdlib.c: Wrap Mono_Posix_Syscall_setkey() within HAVE_SETKEY, not PLATFORM_WIN32 2005-12-01 Daniel Drake * Makefile.am: Link against libcrypt, needed for setkey(3) as referenced in stdlib.c. Problem caught by Michael Hill. 2005-11-07 Jonathan Pryor * map-icalls.h: Oddly, this file didn't get the new functions added in 2005-10-14 -- ToConfstrName, FromConfstrName, etc. Add them. * map.c, map.h: Remove invalid enumeration value SyslogFacility.LOG_USRE. 2005-10-14 Jonathan Pryor * signal.c: Don't build Syscall wrappers on Win32. 2005-10-14 Jonathan Pryor * Makefile.am (MPH_UNIX_SOURCE): Add syslog.c. * dirent.c, grp.c, pwd.c, signal.c, stdio.c, stdlib.c: Wrap functions which return `void' so that they instead: (1) return `int', (2) clear errno before calling the real function, and (3) return -1 if errno changed. This must be done in native code because calling Stdlib.SetLastError/Syscall.xxx from managed code won't work reliably (since errno may change between the SetLastError call and the actual Syscall invocation). * unistd.c: Same as above, and allow fpathconf(3), pathconf(3), sysconf(3), and confstr(3) callers to explicitly choose their own errno value. * map.c, map.h: Handle enumeration name change in Mono.Unix.Native (e.g. ConfStr --> ConfstrName, etc.). This is so that they follow the established naming conventions. * map-icalls.h: Add new icalls. * syslog.c: Added; wraps functions. 2005-10-06 Jonathan Pryor * Makefile.am (MPH_C_SOURCE): Add string.c. * string.c: Added; exports strlen(3) wrapper. * map-icalls.h: Prototype for strlen(3) wrapper. 2005-09-29 Miguel de Icaza * support-heap.c: Add meat to the Heap routines. 2005-09-20 Jonathan Pryor * Makefile.am (refresh): Use the make-map.exe in Mono.Unix.Native. * map-icalls.h, map.c, map.h: Update to catch new enums AccessModes, Errno, and MmapProts. Huge re-ordering because of namespace change in managed code (not relevant to C API), and make-map.exe now outputs types/members in alphabetical order (to avoid major code churn in the future). 2005-07-12 Daniel Drake * sys-xattr.c: Use if does not exist (e.g. for glibc 2.2) * Makefile.am: Link to libattr if libc does not provide the xattr syscalls. Thu Jul 7 12:35:20 EDT 2005 Paolo Molaro *supportw.c, Makefile.am: remove calls and link to libmono/libwapi. 2005-07-01 Daniel Drake * sys-xattr.c: Support FreeBSD's extattr implementation. Slight API rework to provide transparency between Linux and FreeBSD EA's. * map-icalls.h: Update as above 2005-06-30 Gonzalo Paniagua Javier * supportw.c: HeapDestroy. * Makefile.am: don't build supportw on windows. 2005-06-29 Ben Maurer * Makefile.am: namespace our library. 2005-06-29 Gonzalo Paniagua Javier * supportw.c: * supportw.h: * Makefile.am: new library intended to provide often P/Invoked windows API functions not present in io-layer. 2005-06-29 Jonathan Pryor * map.c: Handle Syslog-related changes (SyslogFacility isn't a [Flags] enum); make-map.exe changes. 2005-06-28 Jonathan Pryor * map.c, map.h: Handle Syslog-related changes (SyslogLevel isn't a [Flags] enum; change in order between LOG_USER and LOG_USRE). 2005-06-27 Jonathan Pryor * map.c, map.h: Add corrected spelling of LOG_USER. 2005-06-13 Miguel de Icaza * sys-statvfs.c (copy_statfs): f_flags is the field name on BSD, not f_flag. 2005-06-08 Jonathan Pryor * Makefile.am: Create an unversioned library. We won't make any gaurantees about ABI stability until Mono 1.2 (if then). 2005-06-07 Jonathan Pryor * sys-mman.c: Check for presence of mremap and remap_file_pages. 2005-06-05 Jonathan Pryor * map-icalls.h, map.h: Change header comment so it matches what `make refresh` generates. * map.c: Add header. 2005-05-31 Jonathan Pryor * sys-mman.c: Add wrappers for mmap, munmap, mprotect, msync, mlock, munlock, mremap, mincore, remap_file_pages. * map-icalls.h: Update to latest shared interface. * map.c, map.h: Add {To,From} pairs for MmapFlags, MmapProt, MsyncFlags, MlockallFlags, MremapFlags. * mph.h: Add mph_return_*_if_ssize_t_overflow macros. 2005-05-31 Jonathan Pryor * unistd.c: Oops -- deal with s/LockFlags/LockfCommand/ change. 2005-05-31 Jonathan Pryor * map.h, map.c, map-icalls.h: Rename LockFlags to LockfCommand. 2005-05-20 Zoltan Varga * Makefile.am (MPH_C_SOURCE): Add map-icalls.h. Fixes #75012. 2005-05-18 Jonathan Pryor * map-icalls.h: Added; auto-generated file which contains Mono_Posix_* declarations for DllImport functions in Mono.Posix.dll. This ensure consistency between Mono.Posix.dll and MonoPosixHelper.so. * mph.h: Add include for map-icalls.h, to ensure that all MonoPosixHelper exports have correct prototypes. * dirent.c, grp.c, macros.c, pwd.c, signal.c, stdio.c, sys-stat.c, sys-time.c, utime.c: Correct prototypes to match map-icalls.h. Alas, this "loses" information -- FILE* becomes void*, etc. -- but no semantics or ABI should be changed (except for Mono_Posix_Syscall_utime). Some structure names also changed to match the generated names; since the structures are private, this shouldn't break anything. * errno.c: Remove Mono_Posix_Syscall_SetLastError so we don't get a warning about a missing prototype. This was never in a stable release. * old-map.c: Include mph.h for prototype checking. * unistd.c: SeekFlags conversion is now done in managed code so that a short isn't passed as a parameter; Correct prototypes to match map-icalls.h. * sys-xattr.c: fix lsetxattr/fsetxattr confusion; Correct prototypes to match map-icalls.h. * sys-sendfile.c: Move mph.h include so that HAVE_SYS_SENDFILE_H is used. * sys-wait.c: Include mph.h so that prototypes are checked. 2005-05-16 Jonathan Pryor * sys-statvfs.c: Include "map.h" for Mono_Posix_ToMountFlags prototype. * map.c: Include so Mono_Posix_{To,From}MountFlags actually does something useful. 2005-05-12 Jonathan Pryor * map.c, map.h: Add FromMountFlags, ToMountFlags. (MountFlags is used in `struct statvfs', which is POSIX). * sys-statvfs.c: Use ToMountFlags to convert the OS flags value into the managed equivalent. 2005-05-03 Geoff Norton * sys-xattr.c: Mac OS/X Tiger supports xattr but has a different API for supporting resource forks. Allow mono to build on Tiger. 2005-04-30 Jonathan Pryor * stdio.c: Add Mono_Posix_Stdlib_DumpFilePosition, which create a hex string "dump" of a fpos_t. This is used for Mono.Unix.FilePosition.ToString(). 2005-04-19 Jonathan Pryor * map.c, map.h: Added XattrFlags values, functions. * sys-xattr.c: Added; wrapper functions. Thanks to Daniel Drake for writing these. * Makefile.am: Add sys-xattr.c to the build. 2005-04-07 Jonathan Pryor * errno.c: Use the GNU version of strerror_r if _GNU_SOURCE is defined (otherwise assume existence of XPG variant). This allows proper compilation under Red Hat 9. * fstab.c: protect against users calling setfsent(), setfsent(), ... endfsent(), which would otherwise leak a FILE handle. 2005-04-05 Zoltan Varga * mph.h: Apply patch from the freebsd ports collection. 2005-02-10 Zoltan Varga * zlib_macros.c (create_z_stream): Explicitly check for older versions of zlib. 2005-02-08 Zoltan Varga * pwd.c (Mono_Posix_Syscall_getpwnam_r): Add another part missing from the last patch. 2005-02-07 Jonathan Pryor * grp.c: Oops. Didn't see other Solaris fix in #72292. 2005-02-07 Jonathan Pryor * grp.c, pwd.c: Clear errno before calling the actual calls, as errno may have a stale value, leading to spurious errors later. Fixes #72292. 2005-02-03 Jonathan Pryor * Makefile.am (MPH_C_SOURCE): Move errno.c into MPH_C_SOURCE, so it's built on Windows as well as Unix. 2005-02-03 Jonathan Pryor * errno.c: Mono_Posix_Syscall_SetLastError should be in Stdlib, not Syscall, since it's part of ANSI C (and errno will be used from StdioFileStream). Add Mono_Posix_Stdlib_SetLastError. Don't remove the Syscall version, as we don't want to break Mono 1.1.4/svn users the day after release. :-) 2005-01-25 Jonathan Pryor * macros.c: Use gint64, not long, to match C# declaration. Fixes 71152. 2005-01-23 Geoff Norton * dirent.c: Include to bring off_t in on gcc4.0+OSX 2005-01-13 Jonathan Pryor * map.h: Correct Mono_Posix_OpenFlags values (they should now match x86 linux); remove unused enumerations (MountFlags, etc.). 2005-01-13 Jonathan Pryor * fstab.c: Fix HPUX support. HPUX includes both and , so we need to give preference to . 2005-01-05 Jonathan Pryor * fstab.c: Add support for HPUX, which uses . 2005-01-05 Jonathan Pryor * map.c: Continuing my ineptitude... isn't on Win32. * mph.h: Win32 doesn't define EOVERFLOW, either. Define it. 2005-01-05 Jonathan Pryor * map.c: Include so we can check for PLATFORM_WIN32. 2005-01-05 Jonathan Pryor * map.c: Fix Win32 build break. Win32 doesn't have all the sys/* headers. 2005-01-05 Jonathan Pryor * serial.c: HPUX compiler fix. * stdlib.c: Add C-defined macro wrappers. 2005-01-04 Jonathan Pryor * stdio.c: Add wrapper for C99's snprintf(3). 2005-01-04 Jonathan Pryor * Makefile.am: Rewrite. Remove configure-generated warnings about multiple _LIBADD and _SOURCES lines. Add support for Win32. Win32 support is limited to ANSI C functions. * stdio.c: Don't compile Unix wrappers on Win32. 2005-01-04 Raja R Harinath * Makefile.am (LIBS): Remove. Was overriding results of configure check. (libMonoPosixHelper_la_LIBADD): List $(GLIB_LIBS) here. 2005-01-04 Jonathan Pryor * Makefile.am: Add libnsl to LIBS. Hopefully this will let sparc link. * mph.h: Make MPH_INTERNAL conditional on __GNUC__. 2005-01-03 Jonathan Pryor * signal.c, stdio.c: Remove "function declaration isn't a prototype" warnings. * unistd.c: Check for presence of gethostname and sethostname. 2005-01-03 Jonathan Pryor * mph.h, x-struct-str.c: Add "const" to parameters to remove "warning: passing arg [2|4]...discards qualifiers" message. 2005-01-03 Jonathan Pryor * fstab.c: Remove some sparc compiler warnings. 2005-01-03 Jonathan Pryor * fstab.c: Solaris doesn't support getfsent(3), but it provides equivalent functionality in getvfsent(3C). Implement Solaris support. 2005-01-02 Jonathan Pryor * stdio.c: More wrapper functions. I missed a few macros... This should complete all macro's defined in for C99. 2004-12-30 Jonathan Pryor * stdio.c: More wrapper functions. This should complete C89's requirements. 2004-12-30 Jonathan Pryor * sys-statvfs.c: Further proving that changing code without compiling is dangerous business... Compiler fix for OS X. 2004-12-30 Jonathan Pryor * signal.c: Mac OS X portability fixes -- it doesn't provide sighandler_t! 2004-12-30 Jonathan Pryor * Makefile.am: Add signal.c to the build. * signal.c: Added. Contains helper functions to wrap signal(2). 2004-12-30 Jonathan Pryor * sys-statvfs.c: Fix Mac OS X build (statfs.f_frsize doesn't exist on OSX; f_fsid isn't an integral type; fstatfs needs to use fpathconf). 2004-12-29 Jonathan Pryor * unistd.c: Null-terminate the string returned by readlink(2). This works around a marshaler "issue". 2004-12-28 Jonathan Pryor * Makefile.am: Add GLIB_LIBS to the LIBS line, since we require linking against glib-2.0 (to use g_assert()). 2004-12-28 Jonathan Pryor * fstab.c: Added; wrap functions: getfsent(3), getfsfile(3), getfsspec(3). * map.c: Add new conversion functions for SyslogOptions, SyslogFacility, SyslogLevel; see syslog(3) for details. * map.h: Add new conversion functions and values for SyslogOptions, SyslogFacility, SyslogLevel; see syslog(3) for details. * Makefile.am (MPH_SOURCE): add fstab.c, sys-statvfs.c, x-struct-str.c. * mph.h: Document location for Mac OS X man page documentation; add MPH_INTERNAL macro for intra-library function calls (for functions that shouldn't be exported from libMonoPosixHelper.so); declare _mph_copy_structure_strings(). * pwd.c: Use _mph_copy_structure_strings() to copy strings embedded within struct passwd. * sys-statvfs.c: Added; wrap functions statvfs(2), fstatvfs(2), and (to complicate things) implement (f)statvfs(2) in terms of (f)statfs(2) on Mac OS X (which lacks the -vfs calls). * x-struct-str.c: implements _mph_copy_structure_strings(), which is a generalized interface to copy strings between structures (as is needed in pwd.c and fstab.c). Thu Dec 23 14:58:09 EST 2004 Paolo Molaro * serial.c: remove mono calls from here: they break the build and they don't belong here. 2004-12-21 Chris Toshok * serial.c: initial import of System.IO.Ports pinvoke stuff. * Makefile.am (MPH_SOURCE): add serial.c. 2004-11-30 Jonathan Pryor * mph.h: Use , not , as the HP/UX compiler needs to handle the `inline' keyword. 2004-11-27 Miguel de Icaza * Makefile.am (MPH_SOURCE): Add macros.c for compatibility with the old API (currently the old API would fail). 2004-11-25 Raja R Harinath * Makefile.am (MPH_SOURCE): Distribute old-map.h and map.h. 2004-11-18 Jonathan Pryor * stdio.c: Add fread(3) and fwrite(3) wrappers. 2004-11-16 Jonathan Pryor * Makefile.am: Remove sys-mount.c from the build. * sys-mount.c: Delete. We're not exporting mount-related functionality anymore. It's not remotely portable, and trying to make it portable is a doomed idea. * map.c: Remove mount- and umount-related conversion functions. 2004-11-14 Geoff Norton * mph.h: Revernt jonp's removal of MPH_ON_BSD define as sys-mount.c and unistd.c still check this configuration value. This allows mono to build on *BSD again. 2004-11-12 Jonathan Pryor * dirent.c: Only access members which exist on the target platform. * errno.c: Only export strerror_r if it's available. * mph.h: Remove MPH_ON_BSD; use the configure checks instead. * sys-mman.c: Only export posix_madvise if it's available. * unistd.c: Only export sethostid if it's available. 2004-11-08 Jonathan Pryor * Makefile.am: Add sys-sendfile.c to the build. * dirent.c, fcntl.c, unistd.c: Remove compile-time checks for -64 apis (pread64, etc.), as they're superfluous. GLibc #defines the functions to the appropriate -64 counterpart when necessary, and Darwin is intrinsically large-file-aware, so manual checking on my part is redundant and unnecessary. * grp.c: Add checks for non-portable functions getgrnam_r, getgrgid_r. * pwd.c: Add checks for non-portable functions getpwnam_r, getpwuid_r. * map.c: Remove include. Building on Tiger (Mac OS X 10.4 beta) breaks when both and are included, so only use . * mph.h: Clean up macro handling for type overflow checking. 2004-11-05 Jonathan Pryor * .cvsignore: Ignore generated files. * Makefile.am: Add new INCLUDE directives (for glib headers), source; bump library version (so we don't clobber previous versions of libMonoPosixHelper.so). * dirent.c: New file; wrapper functions; BSD portability fixes. * errno.c: New file; wrapper functions * fcntl.c: New file; wrapper functions; BSD portability fixes. * grp.c: New file; wrapper functions; BSD portability fixes. * map.c: Updated macro mapping functions (more enums mapped, more error checking, etc.). * map.h: Updated macro mapping functions * old-map.c: Previous map.c implementation, for backward compatibility Remove spurious warning about redefining _GNU_SOURCE. * old-map.h: Previous map.h implementation, for backward compatibility * mph.h: New file; Utility types, macros; BSD portability fixes. * pwd.c: New file; wrapper functions; BSD portability fixes. * stdio.c: New file; wrapper functions * stdlib.c: New file; wrapper functions * sys-mman.c: New file; wrapper functions * sys-mount.c: New file; wrapper functions; BSD portability fixes. * sys-sendfile.c: New file; wrapper functions; BSD portability fixes. * sys-stat.c: New file; wrapper functions * sys-wait.c: New file; wrapper functions * time.c: New file; wrapper functions; BSD portability fixes. * unistd.c: New file; wrapper functions; BSD portability fixes.