Darren J Moffat wrote: [CC:'ing ksh93-integration-discuss at opensolaris.org that David&&Glenn&&co. can comment about libast issues...] > The ZFS code base already reuses a few errno value from <sys/errno.h> > that aren't generated else where on Solaris.
What happens if you have older code (e.g. SystemV or SunOS4.x binaries) which assignes these values a special meaning ? > In particularly these ones: > > /* Convergent Error Returns */ > #define EBADE 50 /* invalid exchange */ > #define EBADR 51 /* invalid request descriptor */ > > The way it currently does so is by a #define ECKSUM EBADE in the zfs > header files. > > I'd rather we just made the change in <sys/errno.h> and also change the > text versions of these in libc as well. However I've discovered that, > like many other things recently, libast has a copy of this type of thing > as well. I did a quick grep -r '~(E)(EBADE|EBADR)' usr/src/lib/libast/ and got no matches... ... where did you saw the copy ? > So should we really be reusing errno's or should we just be appending on > the end ? I think traditionally you only append errno values and never re-use them (e.g. as precedent see the now unused values for XENIX and RFS) ... > Is the highest errno really fixed ? Erm... why do you think that there is a limit (except |SHRT_MAX|) ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;)