diff --git a/ChangeLog b/ChangeLog index 762b6f213f..0148a8614e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2001-01-30 Ulrich Drepper + + * sysdeps/generic/bits/sockaddr.h: Remove SA_LEN macro. + * sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h: Likewise. + * include/sys/socket.h: Add SA_LEN here for internal use. + 2001-01-29 Ulrich Drepper * malloc/Makefile: Don't build memusagestat if cross-compiling. diff --git a/bits/sockaddr.h b/bits/sockaddr.h index 91e923ff8e..f9ad296346 100644 --- a/bits/sockaddr.h +++ b/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of `struct sockaddr_*' common members. Generic/4.2 BSD version. - Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,8 +37,4 @@ typedef unsigned short int sa_family_t; #define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int)) -/* Return the length of a `sockaddr' structure. */ -#define SA_LEN(_x) __libc_sa_len((_x)->sa_family) -extern int __libc_sa_len (sa_family_t __af) __THROW; - #endif /* bits/sockaddr.h */ diff --git a/include/sys/socket.h b/include/sys/socket.h index 1fc90b6014..5e97ddfb53 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -28,4 +28,12 @@ extern int __send (int __fd, __const void *__buf, size_t __n, int __flags); Return 0 on success, -1 for errors. */ extern int __connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); +/* Return the length of a `sockaddr' structure. */ +#ifdef _HAVE_SA_LEN +# define SA_LEN(_x) (_x)->sa_len +#else +# define SA_LEN(_x) __libc_sa_len((_x)->sa_family) +extern int __libc_sa_len (sa_family_t __af) __THROW; +#endif + #endif diff --git a/sysdeps/generic/bits/sockaddr.h b/sysdeps/generic/bits/sockaddr.h index 91e923ff8e..f9ad296346 100644 --- a/sysdeps/generic/bits/sockaddr.h +++ b/sysdeps/generic/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of `struct sockaddr_*' common members. Generic/4.2 BSD version. - Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,8 +37,4 @@ typedef unsigned short int sa_family_t; #define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int)) -/* Return the length of a `sockaddr' structure. */ -#define SA_LEN(_x) __libc_sa_len((_x)->sa_family) -extern int __libc_sa_len (sa_family_t __af) __THROW; - #endif /* bits/sockaddr.h */ diff --git a/sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h b/sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h index 4d5fa1d33a..1b1aea1283 100644 --- a/sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h +++ b/sysdeps/unix/bsd/bsd4.4/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of `struct sockaddr_*' common members. 4.4 BSD version. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,7 +38,4 @@ typedef unsigned char sa_family_t; #define __SOCKADDR_COMMON_SIZE (2 * sizeof (unsigned char)) -/* Return the length of a `sockaddr' structure. */ -#define SA_LEN(_x) ((_x)->sa_len) - #endif /* bits/sockaddr.h */