merge 99422:99508
[mono.git] / support / ChangeLog
1 2008-03-31  Miguel de Icaza  <miguel@novell.com>
2
3         * serial.c (write_serial): Avoid infinite loops, see #375580.
4
5 2008-02-12  Jonathan Pryor  <jpryor@novell.com>
6
7         * signal.c: SLES9 has glib 2.2, so we can't rely on g_atomic_int_*().
8           Provide a fallback mechanism between using Mono's atomic.h, glib 2.4
9           functions, and horribly unsafe-but-no-alternative code.
10
11 2008-02-12  Jonathan Pryor  <jpryor@novell.com>
12
13         * signal.c: Fix another build break; g_atomic_int_set() (part of GLib 2.10)
14           isn't present on all build machines, so use an alternate function.
15
16 2008-02-08  Jonathan Pryor  <jpryor@novell.com>
17
18         * signal.c: Mono_Unix_UnixSignal_WaitAny() semantic change: return the index
19           into the signals array of the first signaled signal if successful,
20           otherwise return the timeout.
21
22 2008-02-07  Jonathan Pryor  <jpryor@novell.com>
23
24         * signal.c: Make the signal handler thread-safe, so that it can safely be
25           invoked concurrently from multiple threads.
26
27 2008-02-05  Jonathan Pryor  <jpryor@novell.com>
28
29         * signal.c: Fix the Win32 build.
30
31 2008-01-28  Jonathan Pryor  <jpryor@novell.com>
32
33         * signal.c: Provide support functions for Mono.Unix.UnixSignal, which 
34           supports both polling and waiting on signal emission.
35         * map.h: Flush (adds UnixSignal-related prototypes).
36
37 2008-01-05  Jonathan Pryor  <jpryor@novell.com>
38
39         * map.h, map.c: Flush; add new ST_NOEXEC, ST_REMOUNT, and ST_BIND MountFlags 
40           enumeration values.
41
42 2007-12-17  Jonathan Pryor  <jpryor@novell.com>
43
44         * map.h: Flush; add Mono_Posix_Syscall__Utsname, Mono_Posix_Syscall_uname()
45           declarations.
46         * Makefile.am: Add sys-utsname.c to the build.
47         * sys-utsname.c: Added; binding for uname(2).
48         * mph.h: Change definition of _mph_copy_structure_strings() so that the
49           offset array specifies whether the string is a pointer (char*) or inline
50           array (char[]) within the structure.  Necessary because most bound
51           structure string members are pointers, but `struct utsname' uses arrays.
52         * fstab.c, pwd.c: Update offset array generation due to above.
53         * x-struct-str.c: Update _mph_copy_structure_strings() as above.
54
55 2007-11-01  Geoff Norton  <gnorton@novell.com>
56
57         * stdio.c:  Handle Leopards lack of L_cuserid.
58
59 2007-10-25  Jonathan Pryor  <jonpryor@vt.edu>
60
61         * stdio.c: Provide errno as a parameter and set errno before calling
62           perror(3), as errno is cleared during P/Invoke.
63         * map.h: Updated prototype for Mono_Posix_Stdlib_perror().
64
65 2007-09-08  Jonathan Pryor  <jonpryor@vt.edu>
66
67         * dirent.c: NAME_MAX isn't defined on Solaris; fix the build.
68
69 2007-09-04  Jonathan Pryor  <jonpryor@vt.edu>
70
71         * dirent.c: Fix `struct dirent' overflow on Solaris.  See #82678.
72
73 2007-09-03  Jonathan Pryor  <jonpryor@vt.edu>
74
75         * dirent.c: Fix logic to determine if readdir_r() succeeded.  
76           Thanks to Albert Lee for the patch; see #82678.
77
78 2007-08-14  Wade Berrier  <wberrier@novell.com>
79
80         * serial.c: include sys/time.h for mac osx 10.3 for timeval
81
82 2007-08-12  Lukasz Byczynski <lukaszb@forcom.com.pl>
83
84         * serial.c:
85         
86         - all changes are based on Windows .Net SerialPort behavior and
87         this
88         document: http://www.easysw.com/~mike/serial/serial.html
89         - removed wrong default values from open_serial
90         - added timeout detection in write_serial
91         - added proper parameters setting in set_attributes
92
93 2007-06-29  Jonathan Pryor  <jonpryor@vt.edu>
94
95         * dirent.c, grp.c, pwd.c, stdio.c, syslog.c, unistd.c: Following in the
96           logic of the 2007-06-27 logic...  Only return failure if an actual
97           DOCUMENTED error occurred.  For many of these functions, there are no
98           docuemented errors, so they "can't fail," even if errno were set.
99           All praise the POSIX standard?
100
101 2007-06-28  Jonathan Pryor  <jonpryor@vt.edu>
102
103         * map.c, map.h: Refresh -- to add Utimbuf copy conversion functions.
104           - Includes latest-and-greatest create-native-map output.
105           - Mono's Reflection output has changed as well --
106             FieldInfo.GetValue().ToString("x") is now "correct" for the underlying
107             type, so `short' enums are 0x0000, etc.
108           - Member sorting is now case-insensitive.
109
110 2007-06-27  Jonathan Pryor  <jonpryor@vt.edu>
111
112         * grp.c, pwd.c: Only return failure if a documented errno is encountered.
113           This fixes UnixUserInfo.GetLocalUsers() and UnixGroupInfo.GetLocalGroups()
114           on systems missing the file /etc/default/nss (which generates ENOENT,
115           which isn't documented, so therefore it's not a "real" error).
116         * mph.h: Add mph_return_if_val_in_list5().
117
118 2007-03-28  Wade Berrier  <miguel@novell.com>
119
120         * supportw.c (SendMessageA/GetWindowLongA): Return values to fix some 
121         warnings, even though these aren't called (Patch from suse rpms)
122
123 2007-01-23  Miguel de Icaza  <miguel@novell.com>
124
125         * serial.c (poll_serial): Fix for #79073, based on the patch by
126         Leszek Ciesielski, without introducing a GNU libc-ism.
127         (write_serial): Handle EINTR here as well.
128
129 2006-11-30  Jonathan Pryor  <jonpryor@vt.edu>
130
131         * map.c: _cnm_return_val_if_overflow() should be a no-op unless DEBUG is
132           defined.  "Fixes" false positives pending further investigation.
133
134 2006-11-18  Miguel de Icaza  <miguel@novell.com>
135
136         * serial.c (poll_serial): Do not report an error for EINTR. 
137
138 2006-11-18  Jelle Hissink  <Jelle.Hissink@C-it.nl>
139
140         * serial.c (poll_serial): Add timeout parameter to poll.
141
142         Fixes #79722 and #79735
143
144 2006-11-17  Jonathan Pryor  <jonpryor@vt.edu>
145
146         * map.c: Flush (fix FromFilePermissions for SuppressFlags-marked values).
147
148 2006-11-15  Jonathan Pryor  <jonpryor@vt.edu>
149
150         * map.c: Flush (removes warnings due to _cnm_return_val_if_overflow()).
151
152 2006-11-14  Jonathan Pryor  <jonpryor@vt.edu>
153
154         * map.c: Flush (fixes FilePermissions conversion, allowing Syscall.stat() to
155           work as expected).
156
157 2006-11-13  Jonathan Pryor  <jonpryor@vt.edu>
158
159         * mph.h: Add macro for XATTR_AUTO, so that XattrFlags mapping works (as
160           XATTR_AUTO is a value which frequently isn't definedy by any OS, yet it
161           has the value 0, a default value which is supported by most OS's).
162
163 2006-11-08  Jonathan Pryor  <jonpryor@vt.edu>
164
165         * Makefile.am: Revert addition of L_SET et al; this breaks the Win32 build.
166         * map.c: Revert addition of L_SET et al; this breaks the Win32 build.
167         * mph.h: Add macros for L_SET, L_INCR, and L_XTND for non-Win32 platforms.
168
169 2006-11-07  Jonathan Pryor  <jonpryor@vt.edu>
170
171         * Makefile.am: Add implementation macros for L_SET, L_INCR, and L_XTND.
172         * map.c: Make sure that L_SET, L_INCR, and L_XTND are defined.  Lets
173           Mono_Posix_FromSeekFlags() work on Solaris, fixing Gnome Bugzilla 370081.
174
175 2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>
176
177         * stdio.c: Some BSDs define clearerr(3) as a macro, so we need to cast
178           `stream' to a `FILE*' to avoid derefing a `void*'.
179         * sys-statvfs.c: Build fix to support OS X 10.3.9 & systems w/o statvfs(2).
180
181 2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>
182
183         * mph.h: Add fallback typedefs for blkcnt_t, blksize_t, suseconds_t so that
184           map.c can rely on their presence.  (Some versions of OS X don't provide
185           these typedefs.)
186
187 2006-10-27  Jonathan Pryor  <jonpryor@vt.edu>
188
189         * map.c: Improve handling of [Flags] enumerations which mix bitfields and
190           non-bitfield values (i.e. FilePermissions and S_IFREG, which isn't a bit
191           field, along with a few other FilePermissions values).  Fixes #79161.
192
193 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
194
195         * map.c: Enclose structure conversion functions with HAVE_<<STRUCT NAME>>,
196           so that Unix-specific structures don't break the Win32 build.
197
198 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
199
200         * create-native-map.exe: Remove.  Just grab a new copy whenever we need to
201           refresh map.[ch].
202         * Makefile.am: Remove `update-create-native-map' target, and just have the
203           `refresh' target grab the latest create-native-map.exe program.
204         * map.c: Flush (remove fallback to <inttypes.h> constants).
205
206 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
207
208         * create-native-map.exe: Update; Adds support for integral limit fallback.
209         * map.c: Flush (adds integral limits fallback, so that if G_MININT8 doesn't
210           exist we can fallback sanely instead of breaking the build).
211
212 2006-10-26  Jonathan Pryor  <jonpryor@vt.edu>
213
214         * Makefile.am: Add "mph.h" to the generated code for map.c, so that
215           EOVERFLOW is defined on Win32.
216         * map.c: Flush (adds #include "mph.h").
217
218 2006-10-25  Wade berrier  <wberrier@novell.com>
219
220         * Makefile.am: remove map-icalls.h so make dist succeeds
221
222 2006-10-24  Jonathan Pryor  <jonpryor@vt.edu>
223
224         * dirent.c, errno.c, fcntl.c, fstab.c, grp.c, macros.c, pwd.c, signal.c, 
225           stdio.c, stdlib.c, string.c, sys-mman.c, sys-sendfile.c, sys-stat.c, 
226           sys-statvfs.c, sys-time.c, sys-xattr.c syslog.c, time.c, unistd.c, 
227           utime.c: Remove structure definitions, and use the
228           create-native-map generated definitions within map.h.  Update function
229           prototypes to match current map.h declarations.
230         * map.c, map.h: Flush (current create-native-map output).
231         * mph.h: Don't include "map-icalls.h"; "icalls" are now in map.h.
232         * create-native-map.exe: Added; cached version of create-native-map.exe
233           used to update map.c, map.h.  (create-native-map.exe source within
234           mono-tools/create-native-map.)
235         * Makefile.am: Added update-create-native-map target to update 
236           create-native-map.exe using pkg-config & the create-native-map.pc package. 
237                 Use create-native-map.exe to generate map.* files instead of make-map.exe.
238         * sys-statvfs.c: Add Mono_Posix_ToStatvfs, Mono_Posix_FromStatvfs exports.
239
240 2006-09-15  Jonathan Pryor  <jonpryor@vt.edu>
241
242         * Makefile.am: Remove CRYPT_LIBS use; we no longer rely on libcrypt.
243         * stdlib.c: Remove setkey(3) wrapper.
244         * unistd.c: Remove encrypt(3) wrapper.
245
246 2006-08-13  Miguel de Icaza  <miguel@novell.com>
247
248         * serial.c (get_bytes_in_buffer): Change the signature, we do not
249         return any meaningful error other than -1.
250
251 2006-06-28  Zoltan Varga  <vargaz@gmail.com>
252
253         * mph.h (MPH_INTERNAL): Only use this if HAVE_VISIBILITY_HIDDEN is
254         defined since it is not supported on some archs with gcc.
255
256 2006-04-28  Wade Berrier <wberrier@novell.com>
257
258         * serial.c: Add sys/filio.h for solaris for FIONREAD
259
260 2006-04-20  Geoff Norton  <gnorton@customerdna.com>
261
262         * serial.c: Change TIOCINQ to FIONREAD to 
263         fix the build on the *BSDs.
264
265 2006-04-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
266
267         * serial.c: Added poll_serial () function, to poll
268         outside the read_serial () functions; and get_bytes_in_buffer (), to
269         get bytes in serialport buffers . Update some functions/enums
270         used by System.IO.Port.SerialPort too (Changes aproved by Miguel:
271         we will add tests in the managed side).
272         
273 2006-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
274
275         * serial.c: Add get_signal_code, get_signal, and set_signal
276         functions to access serial signals. Also add a MonoSerialSignal
277         enum, which is a copy of System.IO.Ports.SerialSignal.
278
279 Thu Mar 16 17:27:46 CET 2006 Paolo Molaro <lupus@ximian.com>
280
281         * serial.c: removed useless serial.h file (it was also
282         breaking the build).
283
284 2006-03-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
285
286         * serial.c: Fix a pair of wrong or incomplete assignations
287         in set_attributes.
288         
289 2006-02-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
290
291         * serial.h: New file with serial port constants.
292         * serial.c: Use the constants in serial.h instead of magic numbers.
293         
294 2006-01-03  Jonathan Pryor  <jonpryor@vt.edu>
295
296         * sys-time.c: lutimes(2) only exists on some BSDs.  There's a configure
297           check for it now -- use it.
298
299 2005-12-28  Jonathan Pryor  <jonpryor@vt.edu>
300
301         * map-icalls.h: Flush (add utimes_bad, lutimes, futimes).
302         * sys-time.c: Add lutimes(2) and futimes(2) wrapper.
303
304 2005-12-27  Jonathan Pryor  <jonpryor@vt.edu>
305
306         * map.c: Include <sys/mman.h>.  Fixes #77091.  Thanks to Ben Gamari.
307
308 2005-12-01  Jonathan Pryor  <jonpryor@vt.edu>
309
310         * Makefile.am: Use $(CRYPT_LIB), not -lcrypt, as not all platforms 
311           support -lcrypt.
312         * stdlib.c: Wrap Mono_Posix_Syscall_setkey() within HAVE_SETKEY, not
313           PLATFORM_WIN32
314
315 2005-12-01  Daniel Drake  <dsd@gentoo.org>
316
317         * Makefile.am: Link against libcrypt, needed for setkey(3) as referenced
318         in stdlib.c. Problem caught by Michael Hill.
319
320 2005-11-07  Jonathan Pryor  <jonpryor@vt.edu>
321
322         * map-icalls.h: Oddly, this file didn't get the new functions added in
323           2005-10-14 -- ToConfstrName, FromConfstrName, etc.  Add them.
324         * map.c, map.h: Remove invalid enumeration value SyslogFacility.LOG_USRE.
325
326 2005-10-14  Jonathan Pryor  <jonpryor@vt.edu>
327
328         * signal.c: Don't build Syscall wrappers on Win32.
329
330 2005-10-14  Jonathan Pryor  <jonpryor@vt.edu>
331
332         * Makefile.am (MPH_UNIX_SOURCE): Add syslog.c.
333         * dirent.c, grp.c, pwd.c, signal.c, stdio.c, stdlib.c: Wrap functions which
334           return `void' so that they instead: (1) return `int', (2) clear errno
335           before calling the real function, and (3) return -1 if errno changed.
336           This must be done in native code because calling 
337           Stdlib.SetLastError/Syscall.xxx
338           from managed code won't work reliably (since errno may change between the
339           SetLastError call and the actual Syscall invocation).
340         * unistd.c: Same as above, and allow fpathconf(3), pathconf(3), sysconf(3), 
341           and confstr(3) callers to explicitly choose their own errno value.
342         * map.c, map.h: Handle enumeration name change in Mono.Unix.Native
343           (e.g. ConfStr --> ConfstrName, etc.).  This is so that they follow the
344           established naming conventions.
345         * map-icalls.h: Add new icalls.
346         * syslog.c: Added; wraps <syslog.h> functions.
347
348 2005-10-06  Jonathan Pryor  <jonpryor@vt.edu>
349
350         * Makefile.am (MPH_C_SOURCE): Add string.c.
351         * string.c: Added; exports strlen(3) wrapper.
352         * map-icalls.h: Prototype for strlen(3) wrapper.
353
354 2005-09-29  Miguel de Icaza  <miguel@novell.com>
355
356         * support-heap.c: Add meat to the Heap routines. 
357
358 2005-09-20  Jonathan Pryor  <jonpryor@vt.edu>
359
360         * Makefile.am (refresh): Use the make-map.exe in Mono.Unix.Native.
361         * map-icalls.h, map.c, map.h: Update to catch new enums AccessModes, Errno,  
362           and MmapProts.  Huge re-ordering because of namespace change in managed
363           code (not relevant to C API), and make-map.exe now outputs types/members
364           in alphabetical order (to avoid major code churn in the future).
365
366 2005-07-12  Daniel Drake  <dsd@gentoo.org>
367
368         * sys-xattr.c: Use <attr/attr.h> if <sys/xattr.h> does not exist (e.g. for
369         glibc 2.2)
370         * Makefile.am: Link to libattr if libc does not provide the xattr
371         syscalls.
372
373 Thu Jul 7 12:35:20 EDT 2005 Paolo Molaro <lupus@ximian.com>
374
375         *supportw.c, Makefile.am: remove calls and link to libmono/libwapi.
376
377 2005-07-01  Daniel Drake  <dsd@gentoo.org>
378
379         * sys-xattr.c: Support FreeBSD's extattr implementation. Slight API rework
380           to provide transparency between Linux and FreeBSD EA's.
381         * map-icalls.h: Update as above
382
383 2005-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
384
385         * supportw.c: HeapDestroy.
386         * Makefile.am: don't build supportw on windows.
387
388 2005-06-29  Ben Maurer  <bmaurer@ximian.com>
389
390         * Makefile.am: namespace our library.
391
392 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
393
394         * supportw.c:
395         * supportw.h:
396         * Makefile.am: new library intended to provide often P/Invoked windows
397         API functions not present in io-layer.
398
399 2005-06-29  Jonathan Pryor  <jonpryor@vt.edu>
400
401         * map.c: Handle Syslog-related changes (SyslogFacility isn't a 
402           [Flags] enum); make-map.exe changes.
403
404 2005-06-28  Jonathan Pryor  <jonpryor@vt.edu>
405
406         * map.c, map.h: Handle Syslog-related changes (SyslogLevel isn't a [Flags]
407           enum; change in order between LOG_USER and LOG_USRE).
408
409 2005-06-27  Jonathan Pryor  <jonpryor@vt.edu>
410
411         * map.c, map.h: Add corrected spelling of LOG_USER.
412
413 2005-06-13  Miguel de Icaza  <miguel@novell.com>
414
415         *  sys-statvfs.c (copy_statfs): f_flags is the field name on BSD,
416         not f_flag. 
417
418 2005-06-08  Jonathan Pryor  <jonpryor@vt.edu>
419
420         * Makefile.am: Create an unversioned library.  We won't make any gaurantees
421           about ABI stability until Mono 1.2 (if then).
422
423 2005-06-07  Jonathan Pryor  <jonpryor@vt.edu>
424
425         * sys-mman.c: Check for presence of mremap and remap_file_pages.
426
427 2005-06-05  Jonathan Pryor  <jonpryor@vt.edu>
428
429         * map-icalls.h, map.h: Change header comment so it matches what 
430           `make refresh` generates.
431         * map.c: Add <sys/xattr.h> header.
432
433 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
434
435         * sys-mman.c: Add wrappers for mmap, munmap, mprotect, msync, mlock,
436           munlock, mremap, mincore, remap_file_pages.
437         * map-icalls.h: Update to latest shared interface.
438         * map.c, map.h: Add {To,From} pairs for MmapFlags, MmapProt, MsyncFlags,
439           MlockallFlags, MremapFlags.
440         * mph.h: Add mph_return_*_if_ssize_t_overflow macros.
441
442 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
443
444         * unistd.c: Oops -- deal with s/LockFlags/LockfCommand/ change.
445
446 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
447
448         * map.h, map.c, map-icalls.h: Rename LockFlags to LockfCommand.
449
450 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
451
452         * Makefile.am (MPH_C_SOURCE): Add map-icalls.h. Fixes #75012.
453
454 2005-05-18  Jonathan Pryor  <jonpryor@vt.edu>
455
456         * map-icalls.h: Added; auto-generated file which contains Mono_Posix_*
457           declarations for DllImport functions in Mono.Posix.dll.  This ensure
458           consistency between Mono.Posix.dll and MonoPosixHelper.so.
459         * mph.h: Add include for map-icalls.h, to ensure that all MonoPosixHelper
460           exports have correct prototypes.
461         * dirent.c, grp.c, macros.c, pwd.c, signal.c, stdio.c, sys-stat.c, 
462           sys-time.c, utime.c: Correct prototypes to match map-icalls.h.  Alas, this
463           "loses" information -- FILE* becomes void*, etc. -- but no semantics or
464           ABI should be changed (except for Mono_Posix_Syscall_utime).  Some
465           structure names also changed to match the generated names; since the
466           structures are private, this shouldn't break anything.
467         * errno.c: Remove Mono_Posix_Syscall_SetLastError so we don't get a warning
468           about a missing prototype.  This was never in a stable release.
469         * old-map.c: Include mph.h for prototype checking.
470         * unistd.c: SeekFlags conversion is now done in managed code so that a short
471           isn't passed as a parameter; Correct prototypes to match map-icalls.h.
472         * sys-xattr.c: fix lsetxattr/fsetxattr confusion; Correct prototypes to 
473           match map-icalls.h.
474         * sys-sendfile.c: Move mph.h include so that HAVE_SYS_SENDFILE_H is used.
475         * sys-wait.c: Include mph.h so that prototypes are checked.
476
477 2005-05-16  Jonathan Pryor  <jonpryor@vt.edu>
478
479         * sys-statvfs.c: Include "map.h" for Mono_Posix_ToMountFlags prototype.
480         * map.c: Include <sys/statvfs.h> so Mono_Posix_{To,From}MountFlags actually
481           does something useful.
482
483 2005-05-12  Jonathan Pryor  <jonpryor@vt.edu>
484
485         * map.c, map.h: Add FromMountFlags, ToMountFlags.  (MountFlags is used in
486           `struct statvfs', which is POSIX).
487         * sys-statvfs.c: Use ToMountFlags to convert the OS flags value into the
488           managed equivalent.
489
490 2005-05-03  Geoff Norton  <gnorton@customerdna.com>
491
492         * sys-xattr.c:  Mac OS/X Tiger supports xattr but has a different API for supporting
493         resource forks.  Allow mono to build on Tiger.
494
495 2005-04-30  Jonathan Pryor  <jonpryor@vt.edu>
496
497         * stdio.c: Add Mono_Posix_Stdlib_DumpFilePosition, which create a hex string
498           "dump" of a fpos_t.  This is used for Mono.Unix.FilePosition.ToString().
499
500 2005-04-19  Jonathan Pryor  <jonpryor@vt.edu>
501
502         * map.c, map.h: Added XattrFlags values, functions.
503         * sys-xattr.c: Added; <sys/xattr.h> wrapper functions.  Thanks to Daniel
504           Drake for writing these.
505         * Makefile.am: Add sys-xattr.c to the build.
506
507 2005-04-07  Jonathan Pryor  <jonpryor@vt.edu>
508
509         * errno.c: Use the GNU version of strerror_r if _GNU_SOURCE is defined
510           (otherwise assume existence of XPG variant).  This allows proper
511           compilation under Red Hat 9.
512         * fstab.c: protect against users calling setfsent(), setfsent(), ...  
513           endfsent(), which would otherwise leak a FILE handle.
514
515 2005-04-05  Zoltan Varga  <vargaz@freemail.hu>
516
517         * mph.h: Apply patch from the freebsd ports collection.
518
519 2005-02-10  Zoltan Varga  <vargaz@freemail.hu>
520
521         * zlib_macros.c (create_z_stream): Explicitly check for older versions
522         of zlib.
523
524 2005-02-08  Zoltan Varga  <vargaz@freemail.hu>
525
526         * pwd.c (Mono_Posix_Syscall_getpwnam_r): Add another part missing from the last patch.
527
528 2005-02-07  Jonathan Pryor  <jonpryor@vt.edu>
529
530         * grp.c: Oops.  Didn't see other Solaris fix in #72292.
531
532 2005-02-07  Jonathan Pryor  <jonpryor@vt.edu>
533
534         * grp.c, pwd.c: Clear errno before calling the actual calls, as errno may
535           have a stale value, leading to spurious errors later.  Fixes #72292.
536
537 2005-02-03  Jonathan Pryor  <jonpryor@vt.edu>
538
539         * Makefile.am (MPH_C_SOURCE): Move errno.c into MPH_C_SOURCE, so it's built
540           on Windows as well as Unix.
541
542 2005-02-03  Jonathan Pryor  <jonpryor@vt.edu>
543
544         * errno.c: Mono_Posix_Syscall_SetLastError should be in Stdlib, not Syscall, 
545           since it's part of ANSI C (and errno will be used from StdioFileStream).  
546           Add Mono_Posix_Stdlib_SetLastError.  Don't remove the Syscall version, as 
547           we don't want to break Mono 1.1.4/svn users the day after release. :-)
548
549 2005-01-25  Jonathan Pryor  <jonpryor@vt.edu>
550
551         * macros.c: Use gint64, not long, to match C# declaration.  Fixes 71152.
552
553 2005-01-23  Geoff Norton  <gnorton@customerdna.com>
554
555         * dirent.c: Include <unistd.h> to bring off_t in on gcc4.0+OSX
556
557 2005-01-13  Jonathan Pryor  <jonpryor@vt.edu>
558
559         * map.h: Correct Mono_Posix_OpenFlags values (they should now match 
560           x86 linux); remove unused enumerations (MountFlags, etc.).
561
562 2005-01-13  Jonathan Pryor  <jonpryor@vt.edu>
563
564         * fstab.c: Fix HPUX support.  HPUX includes both <fstab.h> and
565           <checkpoint.h>, so we need to give preference to <checkpoint.h>.
566
567 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
568
569         * fstab.c: Add support for HPUX, which uses <checklist.h>.
570
571 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
572
573         * map.c: Continuing my ineptitude...  <sys/wait.h> isn't on Win32.
574         * mph.h: Win32 doesn't define EOVERFLOW, either.  Define it.
575
576 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
577
578         * map.c: Include <config.h> so we can check for PLATFORM_WIN32.
579
580 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
581
582         * map.c: Fix Win32 build break.  Win32 doesn't have all the sys/* headers.
583
584 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
585
586         * serial.c: HPUX compiler fix.
587         * stdlib.c: Add C-defined macro wrappers.
588
589 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
590
591         * stdio.c: Add wrapper for C99's snprintf(3).
592
593 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
594
595         * Makefile.am: Rewrite.  Remove configure-generated warnings about 
596           multiple _LIBADD and _SOURCES lines.  Add support for Win32.  
597           Win32 support is limited to ANSI C functions.
598         * stdio.c: Don't compile Unix wrappers on Win32.
599
600 2005-01-04  Raja R Harinath  <rharinath@novell.com>
601
602         * Makefile.am (LIBS): Remove.  Was overriding results of configure check.
603         (libMonoPosixHelper_la_LIBADD): List $(GLIB_LIBS) here.
604
605 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
606
607         * Makefile.am: Add libnsl to LIBS.  Hopefully this will let sparc link.
608         * mph.h: Make MPH_INTERNAL conditional on __GNUC__.
609
610 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
611
612         * signal.c, stdio.c: Remove "function declaration isn't a prototype" warnings.
613         * unistd.c: Check for presence of gethostname and sethostname.
614
615 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
616
617         * mph.h, x-struct-str.c: Add "const" to parameters to remove 
618           "warning: passing arg [2|4]...discards qualifiers" message.
619
620 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
621
622         * fstab.c: Remove some sparc compiler warnings.
623
624 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
625
626         * fstab.c: Solaris doesn't support getfsent(3), but it provides equivalent
627           functionality in getvfsent(3C).  Implement Solaris support.
628
629 2005-01-02  Jonathan Pryor  <jonpryor@vt.edu>
630
631         * stdio.c: More wrapper functions.  I missed a few macros...  This should
632           complete all macro's defined in <stdio.h> for C99.
633
634 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
635
636         * stdio.c: More wrapper functions.  This should complete C89's <stdio.h>
637           requirements.
638
639 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
640
641         * sys-statvfs.c: Further proving that changing code without compiling is
642           dangerous business...  Compiler fix for OS X.
643
644 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
645
646         * signal.c: Mac OS X portability fixes -- it doesn't provide sighandler_t!
647
648 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
649
650         * Makefile.am: Add signal.c to the build.
651         * signal.c: Added.  Contains helper functions to wrap signal(2).
652
653 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
654
655         * sys-statvfs.c: Fix Mac OS X build (statfs.f_frsize doesn't exist on OSX;
656           f_fsid isn't an integral type; fstatfs needs to use fpathconf).
657
658 2004-12-29  Jonathan Pryor  <jonpryor@vt.edu>
659
660         * unistd.c: Null-terminate the string returned by readlink(2).  This works
661           around a marshaler "issue".
662
663 2004-12-28  Jonathan Pryor  <jonpryor@vt.edu>
664
665         * Makefile.am: Add GLIB_LIBS to the LIBS line, since we require linking
666           against glib-2.0 (to use g_assert()).
667
668 2004-12-28  Jonathan Pryor  <jonpryor@vt.edu>
669
670         * fstab.c: Added; wrap <fstab.h> functions: getfsent(3), getfsfile(3), 
671           getfsspec(3).
672         * map.c: Add new conversion functions for SyslogOptions, SyslogFacility, 
673           SyslogLevel; see syslog(3) for details.
674         * map.h: Add new conversion functions and values for SyslogOptions, 
675           SyslogFacility, SyslogLevel; see syslog(3) for details.
676         * Makefile.am (MPH_SOURCE): add fstab.c, sys-statvfs.c, x-struct-str.c.
677         * mph.h: Document location for Mac OS X man page documentation; add
678           MPH_INTERNAL macro for intra-library function calls (for functions that
679           shouldn't be exported from libMonoPosixHelper.so); declare
680           _mph_copy_structure_strings().
681         * pwd.c: Use _mph_copy_structure_strings() to copy strings embedded within
682           struct passwd.
683         * sys-statvfs.c: Added; wrap <sys/statvfs.h> functions statvfs(2),
684           fstatvfs(2), and (to complicate things) implement (f)statvfs(2) in terms
685           of (f)statfs(2) on Mac OS X (which lacks the -vfs calls).
686         * x-struct-str.c: implements _mph_copy_structure_strings(), which is a
687           generalized interface to copy strings between structures (as is needed in
688           pwd.c and fstab.c).
689
690 Thu Dec 23 14:58:09 EST 2004 Paolo Molaro <lupus@ximian.com>
691
692         * serial.c: remove mono calls from here: they break the build
693         and they don't belong here.
694
695 2004-12-21  Chris Toshok  <toshok@ximian.com>
696
697         * serial.c: initial import of System.IO.Ports pinvoke stuff.
698
699         * Makefile.am (MPH_SOURCE): add serial.c.
700
701 2004-11-30  Jonathan Pryor  <jonpryor@vt.edu>
702
703         * mph.h: Use <glib.h>, not <glib/gtypes.h>, as the HP/UX compiler needs
704           <glib/gutils.h> to handle the `inline' keyword.
705
706 2004-11-27  Miguel de Icaza  <miguel@ximian.com>
707
708         * Makefile.am (MPH_SOURCE): Add macros.c for compatibility with
709         the old API (currently the old API would fail).
710
711 2004-11-25  Raja R Harinath  <rharinath@novell.com>
712
713         * Makefile.am (MPH_SOURCE): Distribute old-map.h and map.h.
714
715 2004-11-18  Jonathan Pryor  <jonpryor@vt.edu>
716
717         * stdio.c: Add fread(3) and fwrite(3) wrappers.
718
719 2004-11-16  Jonathan Pryor  <jonpryor@vt.edu>
720
721         * Makefile.am: Remove sys-mount.c from the build.
722         * sys-mount.c: Delete.  We're not exporting mount-related functionality
723           anymore.  It's not remotely portable, and trying to make it portable is a
724           doomed idea.
725         * map.c: Remove mount- and umount-related conversion functions.
726
727 2004-11-14  Geoff Norton  <gnorton@customerdna.com>
728         
729         * mph.h:  Revernt jonp's removal of MPH_ON_BSD define as sys-mount.c
730         and unistd.c still check this configuration value.  This allows mono
731         to build on *BSD again.
732
733 2004-11-12  Jonathan Pryor <jonpryor@vt.edu>
734
735         * dirent.c: Only access members which exist on the target
736           platform.
737         * errno.c: Only export strerror_r if it's available.
738         * mph.h: Remove MPH_ON_BSD; use the configure checks instead.
739         * sys-mman.c: Only export posix_madvise if it's available.
740         * unistd.c: Only export sethostid if it's available.
741
742 2004-11-08  Jonathan Pryor <jonpryor@vt.edu>
743
744         * Makefile.am: Add sys-sendfile.c to the build.
745         * dirent.c, fcntl.c, unistd.c: Remove
746           compile-time checks for -64 apis (pread64, etc.), as they're
747           superfluous.  GLibc #defines the functions to the appropriate
748           -64 counterpart when necessary, and Darwin is intrinsically
749           large-file-aware, so manual checking on my part is redundant and
750           unnecessary.
751         * grp.c: Add checks for non-portable functions getgrnam_r,
752           getgrgid_r.
753         * pwd.c: Add checks for non-portable functions getpwnam_r,
754           getpwuid_r.
755         * map.c: Remove <poll.h> include.  Building on Tiger (Mac
756           OS X 10.4 beta) breaks when both <poll.h> and <sys/poll.h> are
757           included, so only use <sys/poll.h>.
758         * mph.h: Clean up macro handling for type overflow checking.
759
760 2004-11-05  Jonathan Pryor <jonpryor@vt.edu>
761
762         * .cvsignore: Ignore generated files.
763         * Makefile.am: Add new INCLUDE directives (for glib
764           headers), source; bump library version (so we don't clobber
765           previous versions of libMonoPosixHelper.so).
766         * dirent.c: New file; <dirent.h> wrapper functions; 
767           BSD portability fixes.
768         * errno.c: New file; <errno.h> wrapper functions
769         * fcntl.c: New file; <fcntl.h> wrapper functions;
770           BSD portability fixes.
771         * grp.c: New file; <grp.h> wrapper functions;
772           BSD portability fixes.
773         * map.c: Updated macro mapping functions (more enums
774           mapped, more error checking, etc.).
775         * map.h: Updated macro mapping functions
776         * old-map.c: Previous map.c implementation, for backward
777           compatibility Remove spurious warning about redefining
778           _GNU_SOURCE.
779         * old-map.h: Previous map.h implementation, for backward
780         compatibility
781         * mph.h: New file; Utility types, macros;
782           BSD portability fixes.
783         * pwd.c: New file; <pwd.h> wrapper functions;
784           BSD portability fixes.
785         * stdio.c: New file; <stdio.h> wrapper functions
786         * stdlib.c: New file; <stdlib.h> wrapper functions
787         * sys-mman.c: New file; <sys/mman.h> wrapper functions
788         * sys-mount.c: New file; <sys/mount.h> wrapper functions;
789           BSD portability fixes.
790         * sys-sendfile.c: New file; <sys/sendfile.h> wrapper
791           functions; BSD portability fixes.
792         * sys-stat.c: New file; <sys/stat.h> wrapper functions
793         * sys-wait.c: New file; <sys/wait.h> wrapper functions
794         * time.c: New file; <time.h> wrapper functions;
795           BSD portability fixes.
796         * unistd.c: New file; <unistd.h> wrapper functions;
797           BSD portability fixes.
798