diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 1998-11-22 18:21:07 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1998-11-22 18:21:07 +0000 |
commit | de4597cb5b86db37759ed7b6341e933f7aac9aa6 (patch) | |
tree | 8b8f91bd1ce71e93501b8e6a502037ed76f22634 /Porting | |
parent | 12940611cd66eff0427cdf2e912e870058b20252 (diff) | |
download | perl-de4597cb5b86db37759ed7b6341e933f7aac9aa6.tar.gz |
MSG_PROXY for GNU/Hurd (previously we believed that
all GNU libc platforms have MSG_PROXY. Untrue).
In fact this ended up as a major MSG_* and SCM_*
update. The MSG_XXX known to be enums in some
versions of the glibc are now probed for and respective
HAS_MSG_XXX are defined. While I was at it I noticed
SCM_RIGHTS being similarly an enum. This reminded me of
an ancient discussion in perl5-porters:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/9612/msg01017.html
The BSD socket interface has a nifty feature for passing
file descriptors and credentials--via sockets. It may be
too late to add this functionality to the CORE but
at least Configure now probes for the functions,
structs, and includes, defining the appropriate
HAS_YYY and I_ZZZ, and the Socket extension exports
the constants, in case somebody wants to write an
extension for this interface.
p4raw-id: //depot/cfgperl@2285
Diffstat (limited to 'Porting')
-rw-r--r-- | Porting/Glossary | 66 | ||||
-rw-r--r-- | Porting/config.sh | 22 | ||||
-rw-r--r-- | Porting/config_H | 85 |
3 files changed, 164 insertions, 9 deletions
diff --git a/Porting/Glossary b/Porting/Glossary index d19328c064..8159c04aea 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -329,6 +329,10 @@ d_closedir (d_closedir.U): This variable conditionally defines HAS_CLOSEDIR if closedir() is available. +d_cmsghdr_s (d_socket.U): + This variable conditionally defines the HAS_STRUCT_CMSGHDR symbol, + which indicates that the the struct cmsghdr is supported. + d_const (d_const.U): This variable conditionally defines the HASCONST symbol, which indicates to the C program that this C compiler knows about the @@ -369,7 +373,7 @@ d_difftime (d_difftime.U): This variable conditionally defines the HAS_DIFFTIME symbol, which indicates to the C program that the difftime() routine is available. -d_dirent64s (io64.U): +d_dirent64_s (io64.U): This symbol will be defined if the C compiler supports struct dirent64. d_dirnamlen (i_dirent.U): @@ -493,7 +497,7 @@ d_flexfnam (d_flexfnam.U): This variable conditionally defines the FLEXFILENAMES symbol, which indicates that the system supports filenames longer than 14 characters. -d_flock64s (io64.U): +d_flock64_s (io64.U): This symbol will be defined if the C compiler supports struct flock64. d_flock (d_flock.U): @@ -735,6 +739,10 @@ d_ino64t (io64.U): d_int64t (i_inttypes.U): This symbol will be defined if the C compiler supports int64_t. +d_iovec_s (i_sysuio.U): + This variable conditionally defines the HAS_STRUCT_IOVEC symbol, + which indicates that the struct iovec is supported. + d_isascii (d_isascii.U): This variable conditionally defines the HAS_ISASCII constant, which indicates to the C program that isascii() is available. @@ -837,6 +845,31 @@ d_msg (d_msg.U): This variable conditionally defines the HAS_MSG symbol, which indicates that the entire msg*(2) library is present. +d_msg_ctrunc (d_socket.U): + This variable conditionally defines the HAS_MSG_CTRUNC symbol, + which indicates that the MSG_CTRUNC is available. #ifdef is + not enough because it may be an enum, glibc has been known to do this. + +d_msg_dontroute (d_socket.U): + This variable conditionally defines the HAS_MSG_DONTROUTE symbol, + which indicates that the MSG_DONTROUTE is available. #ifdef is + not enough because it may be an enum, glibc has been known to do this. + +d_msg_oob (d_socket.U): + This variable conditionally defines the HAS_MSG_OOB symbol, + which indicates that the MSG_OOB is available. #ifdef is + not enough because it may be an enum, glibc has been known to do this. + +d_msg_peek (d_socket.U): + This variable conditionally defines the HAS_MSG_PEEK symbol, + which indicates that the MSG_PEEK is available. #ifdef is + not enough because it may be an enum, glibc has been known to do this. + +d_msg_proxy (d_socket.U): + This variable conditionally defines the HAS_MSG_PROXY symbol, + which indicates that the MSG_PROXY is available. #ifdef is + not enough because it may be an enum, glibc has been known to do this. + d_msgctl (d_msgctl.U): This variable conditionally defines the HAS_MSGCTL symbol, which indicates to the C program that the msgctl() routine is available. @@ -845,6 +878,10 @@ d_msgget (d_msgget.U): This variable conditionally defines the HAS_MSGGET symbol, which indicates to the C program that the msgget() routine is available. +d_msghdr_s (d_socket.U): + This variable conditionally defines the HAS_STRUCT_MSGHDR symbol, + which indicates that the struct msghdr is supported. + d_msgrcv (d_msgrcv.U): This variable conditionally defines the HAS_MSGRCV symbol, which indicates to the C program that the msgrcv() routine is available. @@ -977,6 +1014,14 @@ d_readlink (d_readlink.U): indicates to the C program that the readlink() routine is available to read the value of a symbolic link. +d_readv (d_readv.U): + This variable conditionally defines the HAS_READV symbol, which + indicates to the C program that the readv() routine is available. + +d_recvmsg (d_socket.U): + This variable conditionally defines the HAS_RECVMSG symbol, + which indicates that the recvmsg is supported. + d_rename (d_rename.U): This variable conditionally defines the HAS_RENAME symbol, which indicates to the C program that the rename() routine is available @@ -1008,6 +1053,11 @@ d_sched_yield (d_pthread_y.U): symbol if the sched_yield routine is available to yield the execution of the current thread. +d_scm_rights (d_socket.U): + This variable conditionally defines the HAS_SCM_RIGHTS symbol, + which indicates that the SCM_RIGHTS is available. #ifdef is + not enough because it may be an enum, glibc has been known to do this. + d_seekdir64 (io64.U): This variable conditionally defines the HAS_SEEKDIR64 symbol, which indicates to the C program that the seekdir64() routine is available. @@ -1045,6 +1095,10 @@ d_semop (d_semop.U): This variable conditionally defines the HAS_SEMOP symbol, which indicates to the C program that the semop() routine is available. +d_sendmsg (d_socket.U): + This variable conditionally defines the HAS_SENDMSG symbol, + which indicates that the sendmsg is supported. + d_setegid (d_setegid.U): This variable conditionally defines the HAS_SETEGID symbol, which indicates to the C program that the setegid() routine is available @@ -1406,6 +1460,10 @@ d_wctomb (d_wctomb.U): indicates to the C program that the wctomb() routine is available to convert a wide character to a multibyte. +d_writev (d_writev.U): + This variable conditionally defines the HAS_WRITEV symbol, which + indicates to the C program that the writev() routine is available. + d_xenix (Guess.U): This variable conditionally defines the symbol XENIX, which alerts the C program that it runs under Xenix. @@ -1796,6 +1854,10 @@ i_systypes (i_systypes.U): This variable conditionally defines the I_SYS_TYPES symbol, and indicates whether a C program should include <sys/types.h>. +i_sysuio (i_sysuio.U): + This variable conditionally defines the I_SYSUIO symbol, and indicates + whether a C program should include <sys/uio.h>. + i_sysun (i_sysun.U): This variable conditionally defines I_SYS_UN, which indicates to the C program that it should include <sys/un.h> to get UNIX diff --git a/Porting/config.sh b/Porting/config.sh index 25c25cfcd6..dda3c3a704 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -8,7 +8,7 @@ # Package name : perl5 # Source directory : . -# Configuration time: Thu Nov 5 12:26:24 EET 1998 +# Configuration time: Sun Nov 22 19:19:34 EET 1998 # Configured by : jhi # Target system : osf1 alpha.hut.fi v4.0 878 alpha @@ -54,7 +54,7 @@ ccdlflags=' ' ccflags='-pthread -std -D__LANGUAGE_C__' cf_by='jhi' cf_email='yourname@yourhost.yourplace.com' -cf_time='Thu Nov 5 12:26:24 EET 1998' +cf_time='Sun Nov 22 19:19:34 EET 1998' chgrp='' chmod='' chown='' @@ -92,6 +92,7 @@ d_chown='define' d_chroot='define' d_chsize='undef' d_closedir='define' +d_cmsghdr_s='define' d_const='define' d_crypt='define' d_csh='define' @@ -101,7 +102,7 @@ d_dbmclose64='undef' d_dbminit64='undef' d_delete64='undef' d_difftime='define' -d_dirent64s='undef' +d_dirent64_s='undef' d_dirnamlen='define' d_dlerror='define' d_dlopen='define' @@ -129,7 +130,7 @@ d_fgetpos64='undef' d_fgetpos='define' d_firstkey64='undef' d_flexfnam='define' -d_flock64s='undef' +d_flock64_s='undef' d_flock='define' d_fopen64='undef' d_fork='define' @@ -180,6 +181,7 @@ d_index='undef' d_inetaton='define' d_ino64t='undef' d_int64t='undef' +d_iovec_s='define' d_isascii='define' d_killpg='define' d_lchown='define' @@ -203,8 +205,14 @@ d_mkdir='define' d_mkfifo='define' d_mktime='define' d_msg='define' +d_msg_ctrunc='define' +d_msg_dontroute='define' +d_msg_oob='define' +d_msg_peek='define' +d_msg_proxy='undef' d_msgctl='define' d_msgget='define' +d_msghdr_s='define' d_msgrcv='define' d_msgsnd='define' d_mymalloc='undef' @@ -235,6 +243,8 @@ d_pwquota='define' d_readdir64='undef' d_readdir='define' d_readlink='define' +d_readv='define' +d_recvmsg='define' d_rename='define' d_rewinddir='define' d_rmdir='define' @@ -242,6 +252,7 @@ d_safebcpy='define' d_safemcpy='undef' d_sanemcmp='define' d_sched_yield='define' +d_scm_rights='define' d_seekdir64='undef' d_seekdir='define' d_select='define' @@ -251,6 +262,7 @@ d_semctl_semid_ds='define' d_semctl_semun='define' d_semget='define' d_semop='define' +d_sendmsg='define' d_setegid='define' d_seteuid='define' d_setgrent='define' @@ -331,6 +343,7 @@ d_wait4='define' d_waitpid='define' d_wcstombs='define' d_wctomb='define' +d_writev='define' d_xenix='undef' date='date' db_hashtype='u_int32_t' @@ -417,6 +430,7 @@ i_systime='define' i_systimek='undef' i_systimes='define' i_systypes='define' +i_sysuio='define' i_sysun='define' i_syswait='define' i_termio='undef' diff --git a/Porting/config_H b/Porting/config_H index 97b5300cac..9fa28d831f 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -17,7 +17,7 @@ /* * Package name : perl5 * Source directory : . - * Configuration time: Thu Nov 5 13:03:49 EET 1998 + * Configuration time: Sun Nov 22 19:19:34 EET 1998 * Configured by : jhi * Target system : osf1 alpha.hut.fi v4.0 878 alpha */ @@ -1717,8 +1717,68 @@ * This symbol, if defined, indicates that the BSD socketpair() call is * supported. */ -#define HAS_SOCKET /**/ -#define HAS_SOCKETPAIR /**/ +/* HAS_MSG_CTRUNC: + * This symbol, if defined, indicates that the MSG_CTRUNC is supported. + * Checking just with #ifdef might not be enough because this symbol + * has been known to be an enum. + */ +/* HAS_MSG_DONTROUTE: + * This symbol, if defined, indicates that the MSG_DONTROUTE is supported. + * Checking just with #ifdef might not be enough because this symbol + * has been known to be an enum. + */ +/* HAS_MSG_OOB: + * This symbol, if defined, indicates that the MSG_OOB is supported. + * Checking just with #ifdef might not be enough because this symbol + * has been known to be an enum. + */ +/* HAS_MSG_PEEK: + * This symbol, if defined, indicates that the MSG_PEEK is supported. + * Checking just with #ifdef might not be enough because this symbol + * has been known to be an enum. + */ +/* HAS_MSG_PROXY: + * This symbol, if defined, indicates that the MSG_PROXY is supported. + * Checking just with #ifdef might not be enough because this symbol + * has been known to be an enum. + */ +/* HAS_SCM_RIGHTS: + * This symbol, if defined, indicates that the SCM_RIGHTS is supported. + * Checking just with #ifdef might not be enough because this symbol + * has been known to be an enum. + */ +/* HAS_SENDMSG: + * This symbol, if defined, indicates that the sendmsg is supported + * to send messages between sockets. You will also need struct + * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO. + */ +/* HAS_RECVMSG: + * This symbol, if defined, indicates that the recvmsg is supported + * to send messages between sockets. You will also need struct + * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO. + */ +/* HAS_STRUCT_MSGHDR: + * This symbol, if defined, indicates that the struct msghdr + * (BSD 4.3 or 4.4) is supported. You will also need struct + * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO. + */ +/* HAS_STRUCT_CMSGHDR: + * This symbol, if defined, indicates that the struct cmsghdr + * (BSD 4.4) is supported. You will also need struct + * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO. + */ +#define HAS_SOCKET /**/ +#define HAS_SOCKETPAIR /**/ +#define HAS_MSG_CTRUNC /**/ +#define HAS_MSG_DONTROUTE /**/ +#define HAS_MSG_OOB /**/ +#define HAS_MSG_PEEK /**/ +/*#define HAS_MSG_PROXY / **/ +#define HAS_SCM_RIGHTS /**/ +#define HAS_SENDMSG /**/ +#define HAS_RECVMSG /**/ +#define HAS_STRUCT_MSGHDR /**/ +#define HAS_STRUCT_CMSGHDR /**/ /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring @@ -1851,6 +1911,12 @@ #define PWGECOS /**/ #define PWPASSWD /**/ +/* I_SYSUIO: + * This symbol, if defined, indicates that <sys/uio.h> exists and + * should be included. + */ +#define I_SYSUIO /**/ + /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. @@ -1958,12 +2024,25 @@ */ /*#define HAS_FTELLO / **/ +/* HAS_READV: + * This symbol, if defined, indicates that the readv routine is + * available to do gather reads. You will also need <sys/uio.h> + * and there I_SYSUIO. + */ +#define HAS_READV /**/ + /* USE_SFIO: * This symbol, if defined, indicates that sfio should * be used. */ /*#define USE_SFIO / **/ +/* HAS_WRITEV: + * This symbol, if defined, indicates that the writev routine is + * available to do scatter writes. + */ +#define HAS_WRITEV /**/ + /* HAS_DBMINIT64: * This symbol, if defined, indicates that the dbminit64 routine is * available to open dbm files larger than 2 gigabytes. |