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.