2006-02-17 Chris Toshok <toshok@ximian.com>
[mono.git] / support / ChangeLog
1 2006-01-03  Jonathan Pryor  <jonpryor@vt.edu>
2
3         * sys-time.c: lutimes(2) only exists on some BSDs.  There's a configure
4           check for it now -- use it.
5
6 2005-12-28  Jonathan Pryor  <jonpryor@vt.edu>
7
8         * map-icalls.h: Flush (add utimes_bad, lutimes, futimes).
9         * sys-time.c: Add lutimes(2) and futimes(2) wrapper.
10
11 2005-12-27  Jonathan Pryor  <jonpryor@vt.edu>
12
13         * map.c: Include <sys/mman.h>.  Fixes #77091.  Thanks to Ben Gamari.
14
15 2005-12-01  Jonathan Pryor  <jonpryor@vt.edu>
16
17         * Makefile.am: Use $(CRYPT_LIB), not -lcrypt, as not all platforms 
18           support -lcrypt.
19         * stdlib.c: Wrap Mono_Posix_Syscall_setkey() within HAVE_SETKEY, not
20           PLATFORM_WIN32
21
22 2005-12-01  Daniel Drake  <dsd@gentoo.org>
23
24         * Makefile.am: Link against libcrypt, needed for setkey(3) as referenced
25         in stdlib.c. Problem caught by Michael Hill.
26
27 2005-11-07  Jonathan Pryor  <jonpryor@vt.edu>
28
29         * map-icalls.h: Oddly, this file didn't get the new functions added in
30           2005-10-14 -- ToConfstrName, FromConfstrName, etc.  Add them.
31         * map.c, map.h: Remove invalid enumeration value SyslogFacility.LOG_USRE.
32
33 2005-10-14  Jonathan Pryor  <jonpryor@vt.edu>
34
35         * signal.c: Don't build Syscall wrappers on Win32.
36
37 2005-10-14  Jonathan Pryor  <jonpryor@vt.edu>
38
39         * Makefile.am (MPH_UNIX_SOURCE): Add syslog.c.
40         * dirent.c, grp.c, pwd.c, signal.c, stdio.c, stdlib.c: Wrap functions which
41           return `void' so that they instead: (1) return `int', (2) clear errno
42           before calling the real function, and (3) return -1 if errno changed.
43           This must be done in native code because calling 
44           Stdlib.SetLastError/Syscall.xxx
45           from managed code won't work reliably (since errno may change between the
46           SetLastError call and the actual Syscall invocation).
47         * unistd.c: Same as above, and allow fpathconf(3), pathconf(3), sysconf(3), 
48           and confstr(3) callers to explicitly choose their own errno value.
49         * map.c, map.h: Handle enumeration name change in Mono.Unix.Native
50           (e.g. ConfStr --> ConfstrName, etc.).  This is so that they follow the
51           established naming conventions.
52         * map-icalls.h: Add new icalls.
53         * syslog.c: Added; wraps <syslog.h> functions.
54
55 2005-10-06  Jonathan Pryor  <jonpryor@vt.edu>
56
57         * Makefile.am (MPH_C_SOURCE): Add string.c.
58         * string.c: Added; exports strlen(3) wrapper.
59         * map-icalls.h: Prototype for strlen(3) wrapper.
60
61 2005-09-29  Miguel de Icaza  <miguel@novell.com>
62
63         * support-heap.c: Add meat to the Heap routines. 
64
65 2005-09-20  Jonathan Pryor  <jonpryor@vt.edu>
66
67         * Makefile.am (refresh): Use the make-map.exe in Mono.Unix.Native.
68         * map-icalls.h, map.c, map.h: Update to catch new enums AccessModes, Errno,  
69           and MmapProts.  Huge re-ordering because of namespace change in managed
70           code (not relevant to C API), and make-map.exe now outputs types/members
71           in alphabetical order (to avoid major code churn in the future).
72
73 2005-07-12  Daniel Drake  <dsd@gentoo.org>
74
75         * sys-xattr.c: Use <attr/attr.h> if <sys/xattr.h> does not exist (e.g. for
76         glibc 2.2)
77         * Makefile.am: Link to libattr if libc does not provide the xattr
78         syscalls.
79
80 Thu Jul 7 12:35:20 EDT 2005 Paolo Molaro <lupus@ximian.com>
81
82         *supportw.c, Makefile.am: remove calls and link to libmono/libwapi.
83
84 2005-07-01  Daniel Drake  <dsd@gentoo.org>
85
86         * sys-xattr.c: Support FreeBSD's extattr implementation. Slight API rework
87           to provide transparency between Linux and FreeBSD EA's.
88         * map-icalls.h: Update as above
89
90 2005-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
91
92         * supportw.c: HeapDestroy.
93         * Makefile.am: don't build supportw on windows.
94
95 2005-06-29  Ben Maurer  <bmaurer@ximian.com>
96
97         * Makefile.am: namespace our library.
98
99 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
100
101         * supportw.c:
102         * supportw.h:
103         * Makefile.am: new library intended to provide often P/Invoked windows
104         API functions not present in io-layer.
105
106 2005-06-29  Jonathan Pryor  <jonpryor@vt.edu>
107
108         * map.c: Handle Syslog-related changes (SyslogFacility isn't a 
109           [Flags] enum); make-map.exe changes.
110
111 2005-06-28  Jonathan Pryor  <jonpryor@vt.edu>
112
113         * map.c, map.h: Handle Syslog-related changes (SyslogLevel isn't a [Flags]
114           enum; change in order between LOG_USER and LOG_USRE).
115
116 2005-06-27  Jonathan Pryor  <jonpryor@vt.edu>
117
118         * map.c, map.h: Add corrected spelling of LOG_USER.
119
120 2005-06-13  Miguel de Icaza  <miguel@novell.com>
121
122         *  sys-statvfs.c (copy_statfs): f_flags is the field name on BSD,
123         not f_flag. 
124
125 2005-06-08  Jonathan Pryor  <jonpryor@vt.edu>
126
127         * Makefile.am: Create an unversioned library.  We won't make any gaurantees
128           about ABI stability until Mono 1.2 (if then).
129
130 2005-06-07  Jonathan Pryor  <jonpryor@vt.edu>
131
132         * sys-mman.c: Check for presence of mremap and remap_file_pages.
133
134 2005-06-05  Jonathan Pryor  <jonpryor@vt.edu>
135
136         * map-icalls.h, map.h: Change header comment so it matches what 
137           `make refresh` generates.
138         * map.c: Add <sys/xattr.h> header.
139
140 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
141
142         * sys-mman.c: Add wrappers for mmap, munmap, mprotect, msync, mlock,
143           munlock, mremap, mincore, remap_file_pages.
144         * map-icalls.h: Update to latest shared interface.
145         * map.c, map.h: Add {To,From} pairs for MmapFlags, MmapProt, MsyncFlags,
146           MlockallFlags, MremapFlags.
147         * mph.h: Add mph_return_*_if_ssize_t_overflow macros.
148
149 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
150
151         * unistd.c: Oops -- deal with s/LockFlags/LockfCommand/ change.
152
153 2005-05-31  Jonathan Pryor  <jonpryor@vt.edu>
154
155         * map.h, map.c, map-icalls.h: Rename LockFlags to LockfCommand.
156
157 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
158
159         * Makefile.am (MPH_C_SOURCE): Add map-icalls.h. Fixes #75012.
160
161 2005-05-18  Jonathan Pryor  <jonpryor@vt.edu>
162
163         * map-icalls.h: Added; auto-generated file which contains Mono_Posix_*
164           declarations for DllImport functions in Mono.Posix.dll.  This ensure
165           consistency between Mono.Posix.dll and MonoPosixHelper.so.
166         * mph.h: Add include for map-icalls.h, to ensure that all MonoPosixHelper
167           exports have correct prototypes.
168         * dirent.c, grp.c, macros.c, pwd.c, signal.c, stdio.c, sys-stat.c, 
169           sys-time.c, utime.c: Correct prototypes to match map-icalls.h.  Alas, this
170           "loses" information -- FILE* becomes void*, etc. -- but no semantics or
171           ABI should be changed (except for Mono_Posix_Syscall_utime).  Some
172           structure names also changed to match the generated names; since the
173           structures are private, this shouldn't break anything.
174         * errno.c: Remove Mono_Posix_Syscall_SetLastError so we don't get a warning
175           about a missing prototype.  This was never in a stable release.
176         * old-map.c: Include mph.h for prototype checking.
177         * unistd.c: SeekFlags conversion is now done in managed code so that a short
178           isn't passed as a parameter; Correct prototypes to match map-icalls.h.
179         * sys-xattr.c: fix lsetxattr/fsetxattr confusion; Correct prototypes to 
180           match map-icalls.h.
181         * sys-sendfile.c: Move mph.h include so that HAVE_SYS_SENDFILE_H is used.
182         * sys-wait.c: Include mph.h so that prototypes are checked.
183
184 2005-05-16  Jonathan Pryor  <jonpryor@vt.edu>
185
186         * sys-statvfs.c: Include "map.h" for Mono_Posix_ToMountFlags prototype.
187         * map.c: Include <sys/statvfs.h> so Mono_Posix_{To,From}MountFlags actually
188           does something useful.
189
190 2005-05-12  Jonathan Pryor  <jonpryor@vt.edu>
191
192         * map.c, map.h: Add FromMountFlags, ToMountFlags.  (MountFlags is used in
193           `struct statvfs', which is POSIX).
194         * sys-statvfs.c: Use ToMountFlags to convert the OS flags value into the
195           managed equivalent.
196
197 2005-05-03  Geoff Norton  <gnorton@customerdna.com>
198
199         * sys-xattr.c:  Mac OS/X Tiger supports xattr but has a different API for supporting
200         resource forks.  Allow mono to build on Tiger.
201
202 2005-04-30  Jonathan Pryor  <jonpryor@vt.edu>
203
204         * stdio.c: Add Mono_Posix_Stdlib_DumpFilePosition, which create a hex string
205           "dump" of a fpos_t.  This is used for Mono.Unix.FilePosition.ToString().
206
207 2005-04-19  Jonathan Pryor  <jonpryor@vt.edu>
208
209         * map.c, map.h: Added XattrFlags values, functions.
210         * sys-xattr.c: Added; <sys/xattr.h> wrapper functions.  Thanks to Daniel
211           Drake for writing these.
212         * Makefile.am: Add sys-xattr.c to the build.
213
214 2005-04-07  Jonathan Pryor  <jonpryor@vt.edu>
215
216         * errno.c: Use the GNU version of strerror_r if _GNU_SOURCE is defined
217           (otherwise assume existence of XPG variant).  This allows proper
218           compilation under Red Hat 9.
219         * fstab.c: protect against users calling setfsent(), setfsent(), ...  
220           endfsent(), which would otherwise leak a FILE handle.
221
222 2005-04-05  Zoltan Varga  <vargaz@freemail.hu>
223
224         * mph.h: Apply patch from the freebsd ports collection.
225
226 2005-02-10  Zoltan Varga  <vargaz@freemail.hu>
227
228         * zlib_macros.c (create_z_stream): Explicitly check for older versions
229         of zlib.
230
231 2005-02-08  Zoltan Varga  <vargaz@freemail.hu>
232
233         * pwd.c (Mono_Posix_Syscall_getpwnam_r): Add another part missing from the last patch.
234
235 2005-02-07  Jonathan Pryor  <jonpryor@vt.edu>
236
237         * grp.c: Oops.  Didn't see other Solaris fix in #72292.
238
239 2005-02-07  Jonathan Pryor  <jonpryor@vt.edu>
240
241         * grp.c, pwd.c: Clear errno before calling the actual calls, as errno may
242           have a stale value, leading to spurious errors later.  Fixes #72292.
243
244 2005-02-03  Jonathan Pryor  <jonpryor@vt.edu>
245
246         * Makefile.am (MPH_C_SOURCE): Move errno.c into MPH_C_SOURCE, so it's built
247           on Windows as well as Unix.
248
249 2005-02-03  Jonathan Pryor  <jonpryor@vt.edu>
250
251         * errno.c: Mono_Posix_Syscall_SetLastError should be in Stdlib, not Syscall, 
252           since it's part of ANSI C (and errno will be used from StdioFileStream).  
253           Add Mono_Posix_Stdlib_SetLastError.  Don't remove the Syscall version, as 
254           we don't want to break Mono 1.1.4/svn users the day after release. :-)
255
256 2005-01-25  Jonathan Pryor  <jonpryor@vt.edu>
257
258         * macros.c: Use gint64, not long, to match C# declaration.  Fixes 71152.
259
260 2005-01-23  Geoff Norton  <gnorton@customerdna.com>
261
262         * dirent.c: Include <unistd.h> to bring off_t in on gcc4.0+OSX
263
264 2005-01-13  Jonathan Pryor  <jonpryor@vt.edu>
265
266         * map.h: Correct Mono_Posix_OpenFlags values (they should now match 
267           x86 linux); remove unused enumerations (MountFlags, etc.).
268
269 2005-01-13  Jonathan Pryor  <jonpryor@vt.edu>
270
271         * fstab.c: Fix HPUX support.  HPUX includes both <fstab.h> and
272           <checkpoint.h>, so we need to give preference to <checkpoint.h>.
273
274 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
275
276         * fstab.c: Add support for HPUX, which uses <checklist.h>.
277
278 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
279
280         * map.c: Continuing my ineptitude...  <sys/wait.h> isn't on Win32.
281         * mph.h: Win32 doesn't define EOVERFLOW, either.  Define it.
282
283 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
284
285         * map.c: Include <config.h> so we can check for PLATFORM_WIN32.
286
287 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
288
289         * map.c: Fix Win32 build break.  Win32 doesn't have all the sys/* headers.
290
291 2005-01-05  Jonathan Pryor  <jonpryor@vt.edu>
292
293         * serial.c: HPUX compiler fix.
294         * stdlib.c: Add C-defined macro wrappers.
295
296 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
297
298         * stdio.c: Add wrapper for C99's snprintf(3).
299
300 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
301
302         * Makefile.am: Rewrite.  Remove configure-generated warnings about 
303           multiple _LIBADD and _SOURCES lines.  Add support for Win32.  
304           Win32 support is limited to ANSI C functions.
305         * stdio.c: Don't compile Unix wrappers on Win32.
306
307 2005-01-04  Raja R Harinath  <rharinath@novell.com>
308
309         * Makefile.am (LIBS): Remove.  Was overriding results of configure check.
310         (libMonoPosixHelper_la_LIBADD): List $(GLIB_LIBS) here.
311
312 2005-01-04  Jonathan Pryor  <jonpryor@vt.edu>
313
314         * Makefile.am: Add libnsl to LIBS.  Hopefully this will let sparc link.
315         * mph.h: Make MPH_INTERNAL conditional on __GNUC__.
316
317 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
318
319         * signal.c, stdio.c: Remove "function declaration isn't a prototype" warnings.
320         * unistd.c: Check for presence of gethostname and sethostname.
321
322 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
323
324         * mph.h, x-struct-str.c: Add "const" to parameters to remove 
325           "warning: passing arg [2|4]...discards qualifiers" message.
326
327 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
328
329         * fstab.c: Remove some sparc compiler warnings.
330
331 2005-01-03  Jonathan Pryor  <jonpryor@vt.edu>
332
333         * fstab.c: Solaris doesn't support getfsent(3), but it provides equivalent
334           functionality in getvfsent(3C).  Implement Solaris support.
335
336 2005-01-02  Jonathan Pryor  <jonpryor@vt.edu>
337
338         * stdio.c: More wrapper functions.  I missed a few macros...  This should
339           complete all macro's defined in <stdio.h> for C99.
340
341 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
342
343         * stdio.c: More wrapper functions.  This should complete C89's <stdio.h>
344           requirements.
345
346 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
347
348         * sys-statvfs.c: Further proving that changing code without compiling is
349           dangerous business...  Compiler fix for OS X.
350
351 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
352
353         * signal.c: Mac OS X portability fixes -- it doesn't provide sighandler_t!
354
355 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
356
357         * Makefile.am: Add signal.c to the build.
358         * signal.c: Added.  Contains helper functions to wrap signal(2).
359
360 2004-12-30  Jonathan Pryor  <jonpryor@vt.edu>
361
362         * sys-statvfs.c: Fix Mac OS X build (statfs.f_frsize doesn't exist on OSX;
363           f_fsid isn't an integral type; fstatfs needs to use fpathconf).
364
365 2004-12-29  Jonathan Pryor  <jonpryor@vt.edu>
366
367         * unistd.c: Null-terminate the string returned by readlink(2).  This works
368           around a marshaler "issue".
369
370 2004-12-28  Jonathan Pryor  <jonpryor@vt.edu>
371
372         * Makefile.am: Add GLIB_LIBS to the LIBS line, since we require linking
373           against glib-2.0 (to use g_assert()).
374
375 2004-12-28  Jonathan Pryor  <jonpryor@vt.edu>
376
377         * fstab.c: Added; wrap <fstab.h> functions: getfsent(3), getfsfile(3), 
378           getfsspec(3).
379         * map.c: Add new conversion functions for SyslogOptions, SyslogFacility, 
380           SyslogLevel; see syslog(3) for details.
381         * map.h: Add new conversion functions and values for SyslogOptions, 
382           SyslogFacility, SyslogLevel; see syslog(3) for details.
383         * Makefile.am (MPH_SOURCE): add fstab.c, sys-statvfs.c, x-struct-str.c.
384         * mph.h: Document location for Mac OS X man page documentation; add
385           MPH_INTERNAL macro for intra-library function calls (for functions that
386           shouldn't be exported from libMonoPosixHelper.so); declare
387           _mph_copy_structure_strings().
388         * pwd.c: Use _mph_copy_structure_strings() to copy strings embedded within
389           struct passwd.
390         * sys-statvfs.c: Added; wrap <sys/statvfs.h> functions statvfs(2),
391           fstatvfs(2), and (to complicate things) implement (f)statvfs(2) in terms
392           of (f)statfs(2) on Mac OS X (which lacks the -vfs calls).
393         * x-struct-str.c: implements _mph_copy_structure_strings(), which is a
394           generalized interface to copy strings between structures (as is needed in
395           pwd.c and fstab.c).
396
397 Thu Dec 23 14:58:09 EST 2004 Paolo Molaro <lupus@ximian.com>
398
399         * serial.c: remove mono calls from here: they break the build
400         and they don't belong here.
401
402 2004-12-21  Chris Toshok  <toshok@ximian.com>
403
404         * serial.c: initial import of System.IO.Ports pinvoke stuff.
405
406         * Makefile.am (MPH_SOURCE): add serial.c.
407
408 2004-11-30  Jonathan Pryor  <jonpryor@vt.edu>
409
410         * mph.h: Use <glib.h>, not <glib/gtypes.h>, as the HP/UX compiler needs
411           <glib/gutils.h> to handle the `inline' keyword.
412
413 2004-11-27  Miguel de Icaza  <miguel@ximian.com>
414
415         * Makefile.am (MPH_SOURCE): Add macros.c for compatibility with
416         the old API (currently the old API would fail).
417
418 2004-11-25  Raja R Harinath  <rharinath@novell.com>
419
420         * Makefile.am (MPH_SOURCE): Distribute old-map.h and map.h.
421
422 2004-11-18  Jonathan Pryor  <jonpryor@vt.edu>
423
424         * stdio.c: Add fread(3) and fwrite(3) wrappers.
425
426 2004-11-16  Jonathan Pryor  <jonpryor@vt.edu>
427
428         * Makefile.am: Remove sys-mount.c from the build.
429         * sys-mount.c: Delete.  We're not exporting mount-related functionality
430           anymore.  It's not remotely portable, and trying to make it portable is a
431           doomed idea.
432         * map.c: Remove mount- and umount-related conversion functions.
433
434 2004-11-14  Geoff Norton  <gnorton@customerdna.com>
435         
436         * mph.h:  Revernt jonp's removal of MPH_ON_BSD define as sys-mount.c
437         and unistd.c still check this configuration value.  This allows mono
438         to build on *BSD again.
439
440 2004-11-12  Jonathan Pryor <jonpryor@vt.edu>
441
442         * dirent.c: Only access members which exist on the target
443           platform.
444         * errno.c: Only export strerror_r if it's available.
445         * mph.h: Remove MPH_ON_BSD; use the configure checks instead.
446         * sys-mman.c: Only export posix_madvise if it's available.
447         * unistd.c: Only export sethostid if it's available.
448
449 2004-11-08  Jonathan Pryor <jonpryor@vt.edu>
450
451         * Makefile.am: Add sys-sendfile.c to the build.
452         * dirent.c, fcntl.c, unistd.c: Remove
453           compile-time checks for -64 apis (pread64, etc.), as they're
454           superfluous.  GLibc #defines the functions to the appropriate
455           -64 counterpart when necessary, and Darwin is intrinsically
456           large-file-aware, so manual checking on my part is redundant and
457           unnecessary.
458         * grp.c: Add checks for non-portable functions getgrnam_r,
459           getgrgid_r.
460         * pwd.c: Add checks for non-portable functions getpwnam_r,
461           getpwuid_r.
462         * map.c: Remove <poll.h> include.  Building on Tiger (Mac
463           OS X 10.4 beta) breaks when both <poll.h> and <sys/poll.h> are
464           included, so only use <sys/poll.h>.
465         * mph.h: Clean up macro handling for type overflow checking.
466
467 2004-11-05  Jonathan Pryor <jonpryor@vt.edu>
468
469         * .cvsignore: Ignore generated files.
470         * Makefile.am: Add new INCLUDE directives (for glib
471           headers), source; bump library version (so we don't clobber
472           previous versions of libMonoPosixHelper.so).
473         * dirent.c: New file; <dirent.h> wrapper functions; 
474           BSD portability fixes.
475         * errno.c: New file; <errno.h> wrapper functions
476         * fcntl.c: New file; <fcntl.h> wrapper functions;
477           BSD portability fixes.
478         * grp.c: New file; <grp.h> wrapper functions;
479           BSD portability fixes.
480         * map.c: Updated macro mapping functions (more enums
481           mapped, more error checking, etc.).
482         * map.h: Updated macro mapping functions
483         * old-map.c: Previous map.c implementation, for backward
484           compatibility Remove spurious warning about redefining
485           _GNU_SOURCE.
486         * old-map.h: Previous map.h implementation, for backward
487         compatibility
488         * mph.h: New file; Utility types, macros;
489           BSD portability fixes.
490         * pwd.c: New file; <pwd.h> wrapper functions;
491           BSD portability fixes.
492         * stdio.c: New file; <stdio.h> wrapper functions
493         * stdlib.c: New file; <stdlib.h> wrapper functions
494         * sys-mman.c: New file; <sys/mman.h> wrapper functions
495         * sys-mount.c: New file; <sys/mount.h> wrapper functions;
496           BSD portability fixes.
497         * sys-sendfile.c: New file; <sys/sendfile.h> wrapper
498           functions; BSD portability fixes.
499         * sys-stat.c: New file; <sys/stat.h> wrapper functions
500         * sys-wait.c: New file; <sys/wait.h> wrapper functions
501         * time.c: New file; <time.h> wrapper functions;
502           BSD portability fixes.
503         * unistd.c: New file; <unistd.h> wrapper functions;
504           BSD portability fixes.
505