Marcus Watts <[EMAIL PROTECTED]> writes: > fcntl.h has been in bsd since 4.2, in AT&T since system III, in SunOS > since it was called Sun UNIX, and in linux since presumably its start. > Since it's clearly in windows a well, it should be safe to include it > everywhere needed with no configure test or #ifdef logic.
> string.h has been in bsd since 4.4bsd, and in AT&T since system 5. It > wasn't in 4.2bsd, sunos, etc, but as people have pointed out this > probably doesn't matter. I doubt there are any supported platforms for > AFS where there needs to configured ifdef logic when including it. At least in user-space code (I don't know if kernel-space is special), at least all of the following C headers can be included without any guards on any Unix platform we care about: errno.h fcntl.h stdarg.h stdio.h stdlib.h string.h sys/stat.h sys/types.h syslog.h unistd.h I'm fairly sure that while there are special Autoconf probes for the following, we no longer need to worry about these either: sys/time.h sys/wait.h time.h All of the networking headers can be included without guards: arpa/inet.h netdb.h netinet/in.h sys/socket.h except that netinet/in.h has to be included before arpa/inet.h on BSDi, should we ever care about that platform. In order to get the prototype for select() on AIX, you do need to include sys/select.h, which doesn't exist on some other platforms, so that requires an Autoconf probe. *Most* Autoconf header probes are unnecessary and are copied around by cargo-cult practice from software that used to be portable to SunOS, Ultrix, NeXTSTEP, and similar obsolete platforms. I don't know what specific additional requirements Windows adds for code that should also build on Windows. -- Russ Allbery ([EMAIL PROTECTED]) <http://www.eyrie.org/~eagle/> _______________________________________________ OpenAFS-devel mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-devel
