Commit f3979b0f authored by Hideaki Yoshifuji's avatar Hideaki Yoshifuji

[NET]: Forward port iproute2 build fix from 2.4.23-preX

parent a0285d9e
...@@ -141,28 +141,28 @@ struct ip_msfilter { ...@@ -141,28 +141,28 @@ struct ip_msfilter {
struct group_req struct group_req
{ {
__u32 gr_interface; /* interface index */ __u32 gr_interface; /* interface index */
struct sockaddr_storage gr_group; /* group address */ struct __kernel_sockaddr_storage gr_group; /* group address */
}; };
struct group_source_req struct group_source_req
{ {
__u32 gsr_interface; /* interface index */ __u32 gsr_interface; /* interface index */
struct sockaddr_storage gsr_group; /* group address */ struct __kernel_sockaddr_storage gsr_group; /* group address */
struct sockaddr_storage gsr_source; /* source address */ struct __kernel_sockaddr_storage gsr_source; /* source address */
}; };
struct group_filter struct group_filter
{ {
__u32 gf_interface; /* interface index */ __u32 gf_interface; /* interface index */
struct sockaddr_storage gf_group; /* multicast address */ struct __kernel_sockaddr_storage gf_group; /* multicast address */
__u32 gf_fmode; /* filter mode */ __u32 gf_fmode; /* filter mode */
__u32 gf_numsrc; /* number of sources */ __u32 gf_numsrc; /* number of sources */
struct sockaddr_storage gf_slist[1]; /* interface index */ struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */
}; };
#define GROUP_FILTER_SIZE(numsrc) \ #define GROUP_FILTER_SIZE(numsrc) \
(sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ (sizeof(struct group_filter) - sizeof(struct __kernel_sockaddr_storage) \
+ (numsrc) * sizeof(struct sockaddr_storage)) + (numsrc) * sizeof(struct __kernel_sockaddr_storage))
struct in_pktinfo struct in_pktinfo
{ {
......
#ifndef _LINUX_SOCKET_H #ifndef _LINUX_SOCKET_H
#define _LINUX_SOCKET_H #define _LINUX_SOCKET_H
/*
* Desired design of maximum size and alignment (see RFC2553)
*/
#define _K_SS_MAXSIZE 128 /* Implementation specific max size */
#define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *))
/* Implementation specific desired alignment */
struct __kernel_sockaddr_storage {
unsigned short ss_family; /* address family */
/* Following field(s) are implementation specific */
char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
/* space to achieve desired size, */
/* _SS_MAXSIZE value minus size of ss_family */
} __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */
#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
#include <linux/config.h> /* for CONFIG_COMPAT */ #include <linux/config.h> /* for CONFIG_COMPAT */
...@@ -27,20 +42,7 @@ struct linger { ...@@ -27,20 +42,7 @@ struct linger {
int l_linger; /* How long to linger for */ int l_linger; /* How long to linger for */
}; };
/* #define sockaddr_storage __kernel_sockaddr_storage
* Desired design of maximum size and alignment (see RFC2553)
*/
#define _SS_MAXSIZE 128 /* Implementation specific max size */
#define _SS_ALIGNSIZE (__alignof__ (struct sockaddr *))
/* Implementation specific desired alignment */
struct sockaddr_storage {
sa_family_t ss_family; /* address family */
/* Following field(s) are implementation specific */
char __data[_SS_MAXSIZE - sizeof(sa_family_t)];
/* space to achieve desired size, */
/* _SS_MAXSIZE value minus size of ss_family */
} __attribute__ ((aligned(_SS_ALIGNSIZE))); /* force desired alignment */
/* /*
* As we do 4.4BSD message passing we use a 4.4BSD message passing * As we do 4.4BSD message passing we use a 4.4BSD message passing
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment