2009-03-26 Jonathan Chambers <joncham@gmail.com>
[mono-project.git] / support / ChangeLog
blob7c2b9fac500c77e34c6e56321ec95022048d8db1
1 2009-03-20  Jonathan Pryor  <jpryor@novell.com>
3         * x-struct-str.c: It's possible for struct members to be NULL, so make 
4           sure we don't pass NULL to strlen(3).
6 2009-02-20  Jonathan Pryor  <jpryor@novell.com>
8         * map.h: Flush (adds Mono_Unix_UnixSignal_SignalInfo::pipecnt, removes
9           functions no longer declared within Mono.Posix.dll).
10         * signal.c: Allow Mono_Unix_UnixSignal_WaitAny() to be called 
11           concurrently from multiple threads w/o blocking each thread;
12           previously, calls to Mono_Unix_UnixSignal_WaitAny() would block
13           until the previous call completed.  This required restructuring
14           Mono_Unix_UnixSignal_SignalInfo to hold a ref-counted
15           read_fd/write_fd pair (instead of allocating & releasing within
16           _WaitAny()) so that the pipes could be "shared" between threads.
17           Patch thanks to tim.jenks@realtimeworlds.com.
19 2009-02-10  Jeffrey Stedfast  <fejj@novell.com>
21         * minizip/zip.c: Fix warnings about old-style paramater type
22         specifications.
24         * minizip/unzip.c Fix warnings about old-style paramater type
25         specifications.
26         (unzlocal_DosDateToTmuDate): Fix ambiguous else's.
27         (unzlocal_DosDateToTmuDate): Here too.
28         (unzlocal_CheckCurrentFileCoherencyHeader): And here.
30         * old-map.c: Added prototypes to silence compile warnings. Looks
31         like this file is supposed to be autogenerated, so probably not
32         the right fix but I can't find the autogen script.
34         * map.h (helper_Mono_Posix_getpwnamuid): Added a prototype for
35         this - it doesn't seem to be used anywhere in mono, so
36         maybe it can be removed but I'm not positive.
37         (map_Mono_Posix_PollEvents): Added prototype.
38         (map_Mono_Posix_Signals): Added prototype.
40         * macros.c: #include "map.h" to silence compile warnings about no
41         previous prototypes.
43 2009-02-09  Jeffrey Stedfast  <fejj@novell.com>
45         * supportw.c (SetWindowPos): Fixed compile warnings about
46         printf-style formatters.
47         (SendMessageA): Same.
49 2009-01-14  Geoff Norton  <gnorton@novell.com>
51         * supportw.c: Use unsigned int instead of uint, as its more portable.
52         Fixes compilation issue on Mac OSX.
54 2009-01-08  Rodrigo Kumpera  <rkumpera@novell.com>
56         * signal.c: Don't allow registration of a realtime signal to happen
57         if it was already registered outside of Mono.Posix.
59 2008-12-19  Jonathan Pryor  <jpryor@novell.com>
61         * signal.c: Improve error checking within Mono_Posix_FromRealTimeSignum.
63 2008-12-19  Jonathan Pryor  <jpryor@novell.com>
65         * map.h: Flush.
66         * signal.c: Add Mono_Posix_SIGRTMIN(), Mono_Posix_SIGRTMAX(),
67           Mono_Posix_FromRealTimeSignum().
68           Patch thanks to tim.jenks@realtimeworlds.com.
70 2008-11-06  Alan McGovern  <amcgovern@novell.com>
72         * Makefile.am: Missed out on a header file for minizip
74 2008-11-06  Alan McGovern  <amcgovern@novell.com>
76         * minizip/minizip/miniunz.c :
77         * Makefile.am: Removed unnecessary file from build and svn.
79 2008-11-06  Alan McGovern  <amcgovern@novell.com>
81         * minizip/*.am :
82         * Makefile.am: Merged minizip build into the support code.
84 2008-11-05  Bill Holmes  <billholmes54@gmail.com>
86         * Makefile.am : For generation of map.c adding preprocessor
87           checks for sys/time.h, unistd.h, dirent.h and utime.h.
89         * map.c : Re-run 'make refresh' to add preprocessor checks
90           for sys/time.h, unistd.h, dirent.h and utime.h.
92         Code is contributed under MIT/X11 license.
94 2008-10-15  Jonathan Pryor  <jpryor@novell.com>
96         * time.c: Add Mono_Posix_Syscall_nanosleep().
98 2008-10-15  Jonathan Pryor  <jpryor@novell.com>
100         * fcntl.c: Use Mono_Posix_{From,To}Flock() for flock conversion.
101         * Makefile.am: Include <time.h> in map.c.
102         * map.c, map.h: Flush; adds Flock, Timespec support.
104 2008-09-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
106         * serial.c: When writing bytes and polling, take into account negative
107         values to indicate infinite timeout. Patch by Leszek Ciesielski.
108         Fixes #399245.
110 2008-07-22  Zoltan Varga  <vargaz@gmail.com>
112         * Makefile.am (patch-libtool): New helper target.
114 2008-04-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
116         * serial.c (set_attributes): When setting parity to Even,
117         besides removing the PARODD bit, add the PARENB bit to actually
118         use even parity.
119         Patch by Leszek Ciesielski.
120         Fixes #365248.
122 2008-03-31  Miguel de Icaza  <miguel@novell.com>
124         * serial.c (write_serial): Avoid infinite loops, see #375580.
126 2008-02-12  Jonathan Pryor  <jpryor@novell.com>
128         * signal.c: SLES9 has glib 2.2, so we can't rely on g_atomic_int_*().
129           Provide a fallback mechanism between using Mono's atomic.h, glib 2.4
130           functions, and horribly unsafe-but-no-alternative code.
132 2008-02-12  Jonathan Pryor  <jpryor@novell.com>
134         * signal.c: Fix another build break; g_atomic_int_set() (part of GLib 2.10)
135           isn't present on all build machines, so use an alternate function.
137 2008-02-08  Jonathan Pryor  <jpryor@novell.com>
139         * signal.c: Mono_Unix_UnixSignal_WaitAny() semantic change: return the index
140           into the signals array of the first signaled signal if successful,
141           otherwise return the timeout.
143 2008-02-07  Jonathan Pryor  <jpryor@novell.com>
145         * signal.c: Make the signal handler thread-safe, so that it can safely be
146           invoked concurrently from multiple threads.
148 2008-02-05  Jonathan Pryor  <jpryor@novell.com>
150         * signal.c: Fix the Win32 build.
152 2008-01-28  Jonathan Pryor  <jpryor@novell.com>
154         * signal.c: Provide support functions for Mono.Unix.UnixSignal, which 
155           supports both polling and waiting on signal emission.
156         * map.h: Flush (adds UnixSignal-related prototypes).
158 2008-01-05  Jonathan Pryor  <jpryor@novell.com>
160         * map.h, map.c: Flush; add new ST_NOEXEC, ST_REMOUNT, and ST_BIND MountFlags 
161           enumeration values.
163 2007-12-17  Jonathan Pryor  <jpryor@novell.com>
165         * map.h: Flush; add Mono_Posix_Syscall__Utsname, Mono_Posix_Syscall_uname()
166           declarations.
167         * Makefile.am: Add sys-utsname.c to the build.
168         * sys-utsname.c: Added; binding for uname(2).
169         * mph.h: Change definition of _mph_copy_structure_strings() so that the
170           offset array specifies whether the string is a pointer (char*) or inline
171           array (char[]) within the structure.  Necessary because most bound
172           structure string members are pointers, but `struct utsname' uses arrays.
173         * fstab.c, pwd.c: Update offset array generation due to above.
174         * x-struct-str.c: Update _mph_copy_structure_strings() as above.
176 2007-11-01  Geoff Norton  <gnorton@novell.com>
178         * stdio.c:  Handle Leopards lack of L_cuserid.
180 2007-10-25  Jonathan Pryor  <jonpryor@vt.edu>
182         * stdio.c: Provide errno as a parameter and set errno before calling
183           perror(3), as errno is cleared during P/Invoke.
184         * map.h: Updated prototype for Mono_Posix_Stdlib_perror().
186 2007-09-08  Jonathan Pryor  <jonpryor@vt.edu>
188         * dirent.c: NAME_MAX isn't defined on Solaris; fix the build.
190 2007-09-04  Jonathan Pryor  <jonpryor@vt.edu>
192         * dirent.c: Fix `struct dirent' overflow on Solaris.  See #82678.
194 2007-09-03  Jonathan Pryor  <jonpryor@vt.edu>
196         * dirent.c: Fix logic to determine if readdir_r() succeeded.  
197           Thanks to Albert Lee for the patch; see #82678.
199 2007-08-14  Wade Berrier  <wberrier@novell.com>
201         * serial.c: include sys/time.h for mac osx 10.3 for timeval
203 2007-08-12  Lukasz Byczynski <lukaszb@forcom.com.pl>
205         * serial.c:
206         
207         - all changes are based on Windows .Net SerialPort behavior and
208         this
209         document: http://www.easysw.com/~mike/serial/serial.html
210         - removed wrong default values from open_serial
211         - added timeout detection in write_serial
212         - added proper parameters setting in set_attributes
214 2007-06-29  Jonathan Pryor  <jonpryor@vt.edu>
216         * dirent.c, grp.c, pwd.c, stdio.c, syslog.c, unistd.c: Following in the
217           logic of the 2007-06-27 logic...  Only return failure if an actual
218           DOCUMENTED error occurred.  For many of these functions, there are no
219           docuemented errors, so they "can't fail," even if errno were set.
220           All praise the POSIX standard?
222 2007-06-28  Jonathan Pryor  <jonpryor@vt.edu>
224         * map.c, map.h: Refresh -- to add Utimbuf copy conversion functions.
225           - Includes latest-and-greatest create-native-map output.
226           - Mono's Reflection output has changed as well --
227             FieldInfo.GetValue().ToString("x") is now "correct" for the underlying
228             type, so `short' enums are 0x0000, etc.
229           - Member sorting is now case-insensitive.
231 2007-06-27  Jonathan Pryor  <jonpryor@vt.edu>
233         * grp.c, pwd.c: Only return failure if a documented errno is encountered.
234           This fixes UnixUserInfo.GetLocalUsers() and UnixGroupInfo.GetLocalGroups()
235           on systems missing the file /etc/default/nss (which generates ENOENT,
236           which isn't documented, so therefore it's not a "real" error).
237         * mph.h: Add mph_return_if_val_in_list5().
239 2007-03-28  Wade Berrier  <miguel@novell.com>
241         * supportw.c (SendMessageA/GetWindowLongA): Return values to fix some 
242         warnings, even though these aren't called (Patch from suse rpms)
244 2007-01-23  Miguel de Icaza  <miguel@novell.com>
246         * serial.c (poll_serial): Fix for #79073, based on the patch by
247         Leszek Ciesielski, without introducing a GNU libc-ism.
248         (write_serial): Handle EINTR here as well.
250 2006-11-30  Jonathan Pryor  <jonpryor@vt.edu>
252         * map.c: _cnm_return_val_if_overflow() should be a no-op unless DEBUG is
253           defined.  "Fixes" false positives pending further investigation.
255 2006-11-18  Miguel de Icaza  <miguel@novell.com>
257         * serial.c (poll_serial): Do not report an error for EINTR. 
259 2006-11-18  Jelle Hissink  <Jelle.Hissink@C-it.nl>
261         * serial.c (poll_serial): Add timeout parameter to poll.
263         Fixes #79722 and #79735
265 2006-11-17  Jonathan Pryor  <jonpryor@vt.edu>
267         * map.c: Flush (fix FromFilePermissions for SuppressFlags-marked values).
269 2006-11-15  Jonathan Pryor  <jonpryor@vt.edu>
271         * map.c: Flush (removes warnings due to _cnm_return_val_if_overflow()).
273 2006-11-14  Jonathan Pryor  <jonpryor@vt.edu>
275         * map.c: Flush (fixes FilePermissions conversion, allowing Syscall.stat() to
276           work as expected).
278 2006-11-13  Jonathan Pryor  <jonpryor@vt.edu>
280         * mph.h: Add macro for XATTR_AUTO, so that XattrFlags mapping works (as
281           XATTR_AUTO is a value which frequently isn't definedy by any OS, yet it
282           has the value 0, a default value which is supported by most OS's).
284 2006-11-08  Jonathan Pryor  <jonpryor@vt.edu>
286         * Makefile.am: Revert addition of L_SET et al; this breaks the Win32 build.
287         * map.c: Revert addition of L_SET et al; this breaks the Win32 build.
288         * mph.h: Add macros for L_SET, L_INCR, and L_XTND for non-Win32 platforms.
290 2006-11-07  Jonathan Pryor  <jonpryor@vt.edu>
292         * Makefile.am: Add implementation macros for L_SET, L_INCR, and L_XTND.
293         * map.c: Make sure that L_SET, L_INCR, and L_XTND are defined.  Lets
294           Mono_Posix_FromSeekFlags() work on Solaris, fixing Gnome Bugzilla 370081.
296 2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>
298         * stdio.c: Some BSDs define clearerr(3) as a macro, so we need to cast
299           `stream' to a `FILE*' to avoid derefing a `void*'.
300         * sys-statvfs.c: Build fix to support OS X 10.3.9 & systems w/o statvfs(2).
302 2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>
304         * mph.h: Add fallback typedefs for blkcnt_t, blksize_t, suseconds_t so that
305           map.c can rely on their presence.  (Some versions of OS X don't provide
306           these typedefs.)
308 2006-10-27  Jonathan Pryor  <jonpryor@vt.edu>
310         * map.c: Improve handling of [Flags] enumerations which mix bitfields and
311           non-bitfield values (i.e. FilePermissions and S_IFREG, which isn't a bit
312           field, along with a few other FilePermissions values).  Fixes #79161.
314 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
316         * map.c: Enclose structure conversion functions with HAVE_<<STRUCT NAME>>,
317           so that Unix-specific structures don't break the Win32 build.
319 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
321         * create-native-map.exe: Remove.  Just grab a new copy whenever we need to
322           refresh map.[ch].
323         * Makefile.am: Remove `update-create-native-map' target, and just have the
324           `refresh' target grab the latest create-native-map.exe program.
325         * map.c: Flush (remove fallback to <inttypes.h> constants).
327 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
329         * create-native-map.exe: Update; Adds support for integral limit fallback.
330         * map.c: Flush (adds integral limits fallback, so that if G_MININT8 doesn't
331           exist we can fallback sanely instead of breaking the build).
333 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
335         * Makefile.am: Add "mph.h" to the generated code for map.c, so that
336           EOVERFLOW is defined on Win32.
337         * map.c: Flush (adds #include "mph.h").
339 2006-10-25  Wade berrier  <wberrier@novell.com>
341         * Makefile.am: remove map-icalls.h so make dist succeeds
343 2006-10-24  Jonathan Pryor  <jonpryor@vt.edu>
345         * dirent.c, errno.c, fcntl.c, fstab.c, grp.c, macros.c, pwd.c, signal.c, 
346           stdio.c, stdlib.c, string.c, sys-mman.c, sys-sendfile.c, sys-stat.c, 
347           sys-statvfs.c, sys-time.c, sys-xattr.c syslog.c, time.c, unistd.c, 
348           utime.c: Remove structure definitions, and use the
349           create-native-map generated definitions within map.h.  Update function
350           prototypes to match current map.h declarations.
351         * map.c, map.h: Flush (current create-native-map output).
352         * mph.h: Don't include "map-icalls.h"; "icalls" are now in map.h.
353         * create-native-map.exe: Added; cached version of create-native-map.exe
354           used to update map.c, map.h.  (create-native-map.exe source within
355           mono-tools/create-native-map.)
356         * Makefile.am: Added update-create-native-map target to update 
357           create-native-map.exe using pkg-config & the create-native-map.pc package. 
358                 Use create-native-map.exe to generate map.* files instead of make-map.exe.
359         * sys-statvfs.c: Add Mono_Posix_ToStatvfs, Mono_Posix_FromStatvfs exports.
361 2006-09-15  Jonathan Pryor  <jonpryor@vt.edu>
363         * Makefile.am: Remove CRYPT_LIBS use; we no longer rely on libcrypt.
364         * stdlib.c: Remove setkey(3) wrapper.
365         * unistd.c: Remove encrypt(3) wrapper.
367 2006-08-13  Miguel de Icaza  <miguel@novell.com>
369         * serial.c (get_bytes_in_buffer): Change the signature, we do not
370         return any meaningful error other than -1.
372 2006-06-28  Zoltan Varga  <vargaz@gmail.com>
374         * mph.h (MPH_INTERNAL): Only use this if HAVE_VISIBILITY_HIDDEN is
375         defined since it is not supported on some archs with gcc.
377 2006-04-28  Wade Berrier <wberrier@novell.com>
379         * serial.c: Add sys/filio.h for solaris for FIONREAD
381 2006-04-20  Geoff Norton  <gnorton@customerdna.com>
383         * serial.c: Change TIOCINQ to FIONREAD to 
384         fix the build on the *BSDs.
386 2006-04-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
388         * serial.c: Added poll_serial () function, to poll
389         outside the read_serial () functions; and get_bytes_in_buffer (), to
390         get bytes in serialport buffers . Update some functions/enums
391         used by System.IO.Port.SerialPort too (Changes aproved by Miguel:
392         we will add tests in the managed side).
393         
394 2006-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
396         * serial.c: Add get_signal_code, get_signal, and set_signal
397         functions to access serial signals. Also add a MonoSerialSignal
398         enum, which is a copy of System.IO.Ports.SerialSignal.
400 Thu Mar 16 17:27:46 CET 2006 Paolo Molaro <lupus@ximian.com>
402         * serial.c: removed useless serial.h file (it was also
403         breaking the build).
405 2006-03-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
407         * serial.c: Fix a pair of wrong or incomplete assignations
408         in set_attributes.
409         
410 2006-02-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
412         * serial.h: New file with serial port constants.
413         * serial.c: Use the constants in serial.h instead of magic numbers.
414         
415 2006-01-03  Jonathan Pryor  <jonpryor@vt.edu>
417         * sys-time.c: lutimes(2) only exists on some BSDs.  There's a configure
418           check for it now -- use it.
420 2005-12-28  Jonathan Pryor  <jonpryor@vt.edu>
422         * map-icalls.h: Flush (add utimes_bad, lutimes, futimes).
423         * sys-time.c: Add lutimes(2) and futimes(2) wrapper.
425 2005-12-27  Jonathan Pryor  <jonpryor@vt.edu>
427         * map.c: Include <sys/mman.h>.  Fixes #77091.  Thanks to Ben Gamari.
429 2005-12-01  Jonathan Pryor  <jonpryor@vt.edu>
431         * Makefile.am: Use $(CRYPT_LIB), not -lcrypt, as not all platforms 
432           support -lcrypt.
433         * stdlib.c: Wrap Mono_Posix_Syscall_setkey() within HAVE_SETKEY, not
434           PLATFORM_WIN32
436 2005-12-01  Daniel Drake  <dsd@gentoo.org>
438         * Makefile.am: Link against libcrypt, needed for setkey(3) as referenced
439         in stdlib.c. Problem caught by Michael Hill.
441 2005-11-07  Jonathan Pryor  <jonpryor@vt.edu>
443         * map-icalls.h: Oddly, this file didn't get the new functions added in
444           2005-10-14 -- ToConfstrName, FromConfstrName, etc.  Add them.
445         * map.c, map.h: Remove invalid enumeration value SyslogFacility.LOG_USRE.
447 2005-10-14  Jonathan Pryor  <jonpryor@vt.edu>
449         * signal.c: Don't build Syscall wrappers on Win32.
451 2005-10-14  Jonathan Pryor  <jonpryor@vt.edu>
453         * Makefile.am (MPH_UNIX_SOURCE): Add syslog.c.
454         * dirent.c, grp.c, pwd.c, signal.c, stdio.c, stdlib.c: Wrap functions which
455           return `void' so that they instead: (1) return `int', (2) clear errno
456           before calling the real function, and (3) return -1 if errno changed.
457           This must be done in native code because calling 
458           Stdlib.SetLastError/Syscall.xxx
459           from managed code won't work reliably (since errno may change between the
460           SetLastError call and the actual Syscall invocation).
461         * unistd.c: Same as above, and allow fpathconf(3), pathconf(3), sysconf(3), 
462           and confstr(3) callers to explicitly choose their own errno value.
463         * map.c, map.h: Handle enumeration name change in Mono.Unix.Native
464           (e.g. ConfStr --> ConfstrName, etc.).  This is so that they follow the
465           established naming conventions.
466         * map-icalls.h: Add new icalls.
467         * syslog.c: Added; wraps <syslog.h> functions.
469 2005-10-06  Jonathan Pryor  <jonpryor@vt.edu>
471         * Makefile.am (MPH_C_SOURCE): Add string.c.
472         * string.c: Added; exports strlen(3) wrapper.
473         * map-icalls.h: Prototype for strlen(3) wrapper.
475 2005-09-29  Miguel de Icaza  <miguel@novell.com>
477         * support-heap.c: Add meat to the Heap routines. 
479 2005-09-20  Jonathan Pryor  <jonpryor@vt.edu>
481         * Makefile.am (refresh): Use the make-map.exe in Mono.Unix.Native.
482         * map-icalls.h, map.c, map.h: Update to catch new enums AccessModes, Errno,  
483           and MmapProts.  Huge re-ordering because of namespace change in managed
484           code (not relevant to C API), and make-map.exe now outputs types/members
485           in alphabetical order (to avoid major code churn in the future).
487 2005-07-12  Daniel Drake  <dsd@gentoo.org>
489         * sys-xattr.c: Use <attr/attr.h> if <sys/xattr.h> does not exist (e.g. for
490         glibc 2.2)
491         * Makefile.am: Link to libattr if libc does not provide the xattr
492         syscalls.
494 Thu Jul 7 12:35:20 EDT 2005 Paolo Molaro <lupus@ximian.com>
496         *supportw.c, Makefile.am: remove calls and link to libmono/libwapi.
498 2005-07-01  Daniel Drake  <dsd@gentoo.org>
500         * sys-xattr.c: Support FreeBSD's extattr implementation. Slight API rework
501           to provide transparency between Linux and FreeBSD EA's.
502         * map-icalls.h: Update as above
504 2005-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
506         * supportw.c: HeapDestroy.
507         * Makefile.am: don't build supportw on windows.
509 2005-06-29  Ben Maurer  <bmaurer@ximian.com>
511         * Makefile.am: namespace our library.
513 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
515         * supportw.c:
516         * supportw.h:
517         * Makefile.am: new library intended to provide often P/Invoked windows
518         API functions not present in io-layer.
520 2005-06-29  Jonathan Pryor  <jonpryor@vt.edu>
522         * map.c: Handle Syslog-related changes (SyslogFacility isn't a 
523           [Flags] enum); make-map.exe changes.
525 2005-06-28  Jonathan Pryor  <jonpryor@vt.edu>
527         * map.c, map.h: Handle Syslog-related changes (SyslogLevel isn't a [Flags]
528           enum; change in order between LOG_USER and LOG_USRE).
530 2005-06-27  Jonathan Pryor  <jonpryor@vt.edu>
532         * map.c, map.h: Add corrected spelling of LOG_USER.
534 2005-06-13  Miguel de Icaza  <miguel@novell.com>
536         *  sys-statvfs.c (copy_statfs): f_flags is the field name on BSD,
537         not f_flag. 
539 2005-06-08  Jonathan Pryor  <jonpryor@vt.edu>
541         * Makefile.am: Create an unversioned library.  We won't make any gaurantees
542           about ABI stability until Mono 1.2 (if then).
544 2005-06-07  Jonathan Pryor  <jonpryor@vt.edu>
546         * sys-mman.c: Check for presence of mremap and remap_file_pages.
548 2005-06-05  Jonathan Pryor  <jonpryor@vt.edu>
550         * map-icalls.h, map.h: Change header comment so it matches what 
551           `make refresh` generates.
552         * map.c: Add <sys/xattr.h> header.
554 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
556         * sys-mman.c: Add wrappers for mmap, munmap, mprotect, msync, mlock,
557           munlock, mremap, mincore, remap_file_pages.
558         * map-icalls.h: Update to latest shared interface.
559         * map.c, map.h: Add {To,From} pairs for MmapFlags, MmapProt, MsyncFlags,
560           MlockallFlags, MremapFlags.
561         * mph.h: Add mph_return_*_if_ssize_t_overflow macros.
563 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
565         * unistd.c: Oops -- deal with s/LockFlags/LockfCommand/ change.
567 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
569         * map.h, map.c, map-icalls.h: Rename LockFlags to LockfCommand.
571 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
573         * Makefile.am (MPH_C_SOURCE): Add map-icalls.h. Fixes #75012.
575 2005-05-18  Jonathan Pryor  <jonpryor@vt.edu>
577         * map-icalls.h: Added; auto-generated file which contains Mono_Posix_*
578           declarations for DllImport functions in Mono.Posix.dll.  This ensure
579           consistency between Mono.Posix.dll and MonoPosixHelper.so.
580         * mph.h: Add include for map-icalls.h, to ensure that all MonoPosixHelper
581           exports have correct prototypes.
582         * dirent.c, grp.c, macros.c, pwd.c, signal.c, stdio.c, sys-stat.c, 
583           sys-time.c, utime.c: Correct prototypes to match map-icalls.h.  Alas, this
584           "loses" information -- FILE* becomes void*, etc. -- but no semantics or
585           ABI should be changed (except for Mono_Posix_Syscall_utime).  Some
586           structure names also changed to match the generated names; since the
587           structures are private, this shouldn't break anything.
588         * errno.c: Remove Mono_Posix_Syscall_SetLastError so we don't get a warning
589           about a missing prototype.  This was never in a stable release.
590         * old-map.c: Include mph.h for prototype checking.
591         * unistd.c: SeekFlags conversion is now done in managed code so that a short
592           isn't passed as a parameter; Correct prototypes to match map-icalls.h.
593         * sys-xattr.c: fix lsetxattr/fsetxattr confusion; Correct prototypes to 
594           match map-icalls.h.
595         * sys-sendfile.c: Move mph.h include so that HAVE_SYS_SENDFILE_H is used.
596         * sys-wait.c: Include mph.h so that prototypes are checked.
598 2005-05-16  Jonathan Pryor  <jonpryor@vt.edu>
600         * sys-statvfs.c: Include "map.h" for Mono_Posix_ToMountFlags prototype.
601         * map.c: Include <sys/statvfs.h> so Mono_Posix_{To,From}MountFlags actually
602           does something useful.
604 2005-05-12  Jonathan Pryor  <jonpryor@vt.edu>
606         * map.c, map.h: Add FromMountFlags, ToMountFlags.  (MountFlags is used in
607           `struct statvfs', which is POSIX).
608         * sys-statvfs.c: Use ToMountFlags to convert the OS flags value into the
609           managed equivalent.
611 2005-05-03  Geoff Norton  <gnorton@customerdna.com>
613         * sys-xattr.c:  Mac OS/X Tiger supports xattr but has a different API for supporting
614         resource forks.  Allow mono to build on Tiger.
616 2005-04-30  Jonathan Pryor  <jonpryor@vt.edu>
618         * stdio.c: Add Mono_Posix_Stdlib_DumpFilePosition, which create a hex string
619           "dump" of a fpos_t.  This is used for Mono.Unix.FilePosition.ToString().
621 2005-04-19  Jonathan Pryor  <jonpryor@vt.edu>
623         * map.c, map.h: Added XattrFlags values, functions.
624         * sys-xattr.c: Added; <sys/xattr.h> wrapper functions.  Thanks to Daniel
625           Drake for writing these.
626         * Makefile.am: Add sys-xattr.c to the build.
628 2005-04-07  Jonathan Pryor  <jonpryor@vt.edu>
630         * errno.c: Use the GNU version of strerror_r if _GNU_SOURCE is defined
631           (otherwise assume existence of XPG variant).  This allows proper
632           compilation under Red Hat 9.
633         * fstab.c: protect against users calling setfsent(), setfsent(), ...  
634           endfsent(), which would otherwise leak a FILE handle.
636 2005-04-05  Zoltan Varga  <vargaz@freemail.hu>
638         * mph.h: Apply patch from the freebsd ports collection.
640 2005-02-10  Zoltan Varga  <vargaz@freemail.hu>
642         * zlib_macros.c (create_z_stream): Explicitly check for older versions
643         of zlib.
645 2005-02-08  Zoltan Varga  <vargaz@freemail.hu>
647         * pwd.c (Mono_Posix_Syscall_getpwnam_r): Add another part missing from the last patch.
649 2005-02-07  Jonathan Pryor  <jonpryor@vt.edu>
651         * grp.c: Oops.  Didn't see other Solaris fix in #72292.
653 2005-02-07  Jonathan Pryor  <jonpryor@vt.edu>
655         * grp.c, pwd.c: Clear errno before calling the actual calls, as errno may
656           have a stale value, leading to spurious errors later.  Fixes #72292.
658 2005-02-03  Jonathan Pryor  <jonpryor@vt.edu>
660         * Makefile.am (MPH_C_SOURCE): Move errno.c into MPH_C_SOURCE, so it's built
661           on Windows as well as Unix.
663 2005-02-03  Jonathan Pryor  <jonpryor@vt.edu>
665         * errno.c: Mono_Posix_Syscall_SetLastError should be in Stdlib, not Syscall, 
666           since it's part of ANSI C (and errno will be used from StdioFileStream).  
667           Add Mono_Posix_Stdlib_SetLastError.  Don't remove the Syscall version, as 
668           we don't want to break Mono 1.1.4/svn users the day after release. :-)
670 2005-01-25  Jonathan Pryor  <jonpryor@vt.edu>
672         * macros.c: Use gint64, not long, to match C# declaration.  Fixes 71152.
674 2005-01-23  Geoff Norton  <gnorton@customerdna.com>
676         * dirent.c: Include <unistd.h> to bring off_t in on gcc4.0+OSX
678 2005-01-13  Jonathan Pryor  <jonpryor@vt.edu>
680         * map.h: Correct Mono_Posix_OpenFlags values (they should now match 
681           x86 linux); remove unused enumerations (MountFlags, etc.).
683 2005-01-13  Jonathan Pryor  <jonpryor@vt.edu>
685         * fstab.c: Fix HPUX support.  HPUX includes both <fstab.h> and
686           <checkpoint.h>, so we need to give preference to <checkpoint.h>.
688 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
690         * fstab.c: Add support for HPUX, which uses <checklist.h>.
692 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
694         * map.c: Continuing my ineptitude...  <sys/wait.h> isn't on Win32.
695         * mph.h: Win32 doesn't define EOVERFLOW, either.  Define it.
697 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
699         * map.c: Include <config.h> so we can check for PLATFORM_WIN32.
701 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
703         * map.c: Fix Win32 build break.  Win32 doesn't have all the sys/* headers.
705 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
707         * serial.c: HPUX compiler fix.
708         * stdlib.c: Add C-defined macro wrappers.
710 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
712         * stdio.c: Add wrapper for C99's snprintf(3).
714 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
716         * Makefile.am: Rewrite.  Remove configure-generated warnings about 
717           multiple _LIBADD and _SOURCES lines.  Add support for Win32.  
718           Win32 support is limited to ANSI C functions.
719         * stdio.c: Don't compile Unix wrappers on Win32.
721 2005-01-04  Raja R Harinath  <rharinath@novell.com>
723         * Makefile.am (LIBS): Remove.  Was overriding results of configure check.
724         (libMonoPosixHelper_la_LIBADD): List $(GLIB_LIBS) here.
726 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
728         * Makefile.am: Add libnsl to LIBS.  Hopefully this will let sparc link.
729         * mph.h: Make MPH_INTERNAL conditional on __GNUC__.
731 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
733         * signal.c, stdio.c: Remove "function declaration isn't a prototype" warnings.
734         * unistd.c: Check for presence of gethostname and sethostname.
736 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
738         * mph.h, x-struct-str.c: Add "const" to parameters to remove 
739           "warning: passing arg [2|4]...discards qualifiers" message.
741 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
743         * fstab.c: Remove some sparc compiler warnings.
745 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
747         * fstab.c: Solaris doesn't support getfsent(3), but it provides equivalent
748           functionality in getvfsent(3C).  Implement Solaris support.
750 2005-01-02  Jonathan Pryor  <jonpryor@vt.edu>
752         * stdio.c: More wrapper functions.  I missed a few macros...  This should
753           complete all macro's defined in <stdio.h> for C99.
755 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
757         * stdio.c: More wrapper functions.  This should complete C89's <stdio.h>
758           requirements.
760 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
762         * sys-statvfs.c: Further proving that changing code without compiling is
763           dangerous business...  Compiler fix for OS X.
765 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
767         * signal.c: Mac OS X portability fixes -- it doesn't provide sighandler_t!
769 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
771         * Makefile.am: Add signal.c to the build.
772         * signal.c: Added.  Contains helper functions to wrap signal(2).
774 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
776         * sys-statvfs.c: Fix Mac OS X build (statfs.f_frsize doesn't exist on OSX;
777           f_fsid isn't an integral type; fstatfs needs to use fpathconf).
779 2004-12-29  Jonathan Pryor  <jonpryor@vt.edu>
781         * unistd.c: Null-terminate the string returned by readlink(2).  This works
782           around a marshaler "issue".
784 2004-12-28  Jonathan Pryor  <jonpryor@vt.edu>
786         * Makefile.am: Add GLIB_LIBS to the LIBS line, since we require linking
787           against glib-2.0 (to use g_assert()).
789 2004-12-28  Jonathan Pryor  <jonpryor@vt.edu>
791         * fstab.c: Added; wrap <fstab.h> functions: getfsent(3), getfsfile(3), 
792           getfsspec(3).
793         * map.c: Add new conversion functions for SyslogOptions, SyslogFacility, 
794           SyslogLevel; see syslog(3) for details.
795         * map.h: Add new conversion functions and values for SyslogOptions, 
796           SyslogFacility, SyslogLevel; see syslog(3) for details.
797         * Makefile.am (MPH_SOURCE): add fstab.c, sys-statvfs.c, x-struct-str.c.
798         * mph.h: Document location for Mac OS X man page documentation; add
799           MPH_INTERNAL macro for intra-library function calls (for functions that
800           shouldn't be exported from libMonoPosixHelper.so); declare
801           _mph_copy_structure_strings().
802         * pwd.c: Use _mph_copy_structure_strings() to copy strings embedded within
803           struct passwd.
804         * sys-statvfs.c: Added; wrap <sys/statvfs.h> functions statvfs(2),
805           fstatvfs(2), and (to complicate things) implement (f)statvfs(2) in terms
806           of (f)statfs(2) on Mac OS X (which lacks the -vfs calls).
807         * x-struct-str.c: implements _mph_copy_structure_strings(), which is a
808           generalized interface to copy strings between structures (as is needed in
809           pwd.c and fstab.c).
811 Thu Dec 23 14:58:09 EST 2004 Paolo Molaro <lupus@ximian.com>
813         * serial.c: remove mono calls from here: they break the build
814         and they don't belong here.
816 2004-12-21  Chris Toshok  <toshok@ximian.com>
818         * serial.c: initial import of System.IO.Ports pinvoke stuff.
820         * Makefile.am (MPH_SOURCE): add serial.c.
822 2004-11-30  Jonathan Pryor  <jonpryor@vt.edu>
824         * mph.h: Use <glib.h>, not <glib/gtypes.h>, as the HP/UX compiler needs
825           <glib/gutils.h> to handle the `inline' keyword.
827 2004-11-27  Miguel de Icaza  <miguel@ximian.com>
829         * Makefile.am (MPH_SOURCE): Add macros.c for compatibility with
830         the old API (currently the old API would fail).
832 2004-11-25  Raja R Harinath  <rharinath@novell.com>
834         * Makefile.am (MPH_SOURCE): Distribute old-map.h and map.h.
836 2004-11-18  Jonathan Pryor  <jonpryor@vt.edu>
838         * stdio.c: Add fread(3) and fwrite(3) wrappers.
840 2004-11-16  Jonathan Pryor  <jonpryor@vt.edu>
842         * Makefile.am: Remove sys-mount.c from the build.
843         * sys-mount.c: Delete.  We're not exporting mount-related functionality
844           anymore.  It's not remotely portable, and trying to make it portable is a
845           doomed idea.
846         * map.c: Remove mount- and umount-related conversion functions.
848 2004-11-14  Geoff Norton  <gnorton@customerdna.com>
849         
850         * mph.h:  Revernt jonp's removal of MPH_ON_BSD define as sys-mount.c
851         and unistd.c still check this configuration value.  This allows mono
852         to build on *BSD again.
854 2004-11-12  Jonathan Pryor <jonpryor@vt.edu>
856         * dirent.c: Only access members which exist on the target
857           platform.
858         * errno.c: Only export strerror_r if it's available.
859         * mph.h: Remove MPH_ON_BSD; use the configure checks instead.
860         * sys-mman.c: Only export posix_madvise if it's available.
861         * unistd.c: Only export sethostid if it's available.
863 2004-11-08  Jonathan Pryor <jonpryor@vt.edu>
865         * Makefile.am: Add sys-sendfile.c to the build.
866         * dirent.c, fcntl.c, unistd.c: Remove
867           compile-time checks for -64 apis (pread64, etc.), as they're
868           superfluous.  GLibc #defines the functions to the appropriate
869           -64 counterpart when necessary, and Darwin is intrinsically
870           large-file-aware, so manual checking on my part is redundant and
871           unnecessary.
872         * grp.c: Add checks for non-portable functions getgrnam_r,
873           getgrgid_r.
874         * pwd.c: Add checks for non-portable functions getpwnam_r,
875           getpwuid_r.
876         * map.c: Remove <poll.h> include.  Building on Tiger (Mac
877           OS X 10.4 beta) breaks when both <poll.h> and <sys/poll.h> are
878           included, so only use <sys/poll.h>.
879         * mph.h: Clean up macro handling for type overflow checking.
881 2004-11-05  Jonathan Pryor <jonpryor@vt.edu>
883         * .cvsignore: Ignore generated files.
884         * Makefile.am: Add new INCLUDE directives (for glib
885           headers), source; bump library version (so we don't clobber
886           previous versions of libMonoPosixHelper.so).
887         * dirent.c: New file; <dirent.h> wrapper functions; 
888           BSD portability fixes.
889         * errno.c: New file; <errno.h> wrapper functions
890         * fcntl.c: New file; <fcntl.h> wrapper functions;
891           BSD portability fixes.
892         * grp.c: New file; <grp.h> wrapper functions;
893           BSD portability fixes.
894         * map.c: Updated macro mapping functions (more enums
895           mapped, more error checking, etc.).
896         * map.h: Updated macro mapping functions
897         * old-map.c: Previous map.c implementation, for backward
898           compatibility Remove spurious warning about redefining
899           _GNU_SOURCE.
900         * old-map.h: Previous map.h implementation, for backward
901         compatibility
902         * mph.h: New file; Utility types, macros;
903           BSD portability fixes.
904         * pwd.c: New file; <pwd.h> wrapper functions;
905           BSD portability fixes.
906         * stdio.c: New file; <stdio.h> wrapper functions
907         * stdlib.c: New file; <stdlib.h> wrapper functions
908         * sys-mman.c: New file; <sys/mman.h> wrapper functions
909         * sys-mount.c: New file; <sys/mount.h> wrapper functions;
910           BSD portability fixes.
911         * sys-sendfile.c: New file; <sys/sendfile.h> wrapper
912           functions; BSD portability fixes.
913         * sys-stat.c: New file; <sys/stat.h> wrapper functions
914         * sys-wait.c: New file; <sys/wait.h> wrapper functions
915         * time.c: New file; <time.h> wrapper functions;
916           BSD portability fixes.
917         * unistd.c: New file; <unistd.h> wrapper functions;
918           BSD portability fixes.
919