version 1.55.2.1, 2000/10/09 02:41:28 |
version 1.59.2.1, 2001/06/21 20:09:54 |
|
|
* Data types. |
* Data types. |
*/ |
*/ |
#include <sys/ansi.h> |
#include <sys/ansi.h> |
|
|
|
#ifndef sa_family_t |
|
typedef __sa_family_t sa_family_t; |
|
#define sa_family_t __sa_family_t |
|
#endif |
|
|
#ifndef socklen_t |
#ifndef socklen_t |
typedef __socklen_t socklen_t; |
typedef __socklen_t socklen_t; |
#define socklen_t socklen_t |
#define socklen_t __socklen_t |
#endif |
#endif |
|
|
/* |
/* |
|
|
* addresses. |
* addresses. |
*/ |
*/ |
struct sockaddr { |
struct sockaddr { |
u_char sa_len; /* total length */ |
uint8_t sa_len; /* total length */ |
u_char sa_family; /* address family */ |
sa_family_t sa_family; /* address family */ |
char sa_data[14]; /* actually longer; address value */ |
char sa_data[14]; /* actually longer; address value */ |
}; |
}; |
|
|
#if defined(_KERNEL) |
#if defined(_KERNEL) |
Line 205 struct sockproto { |
|
Line 211 struct sockproto { |
|
*/ |
*/ |
#define _SS_MAXSIZE 128 |
#define _SS_MAXSIZE 128 |
#define _SS_ALIGNSIZE (sizeof(int64_t)) |
#define _SS_ALIGNSIZE (sizeof(int64_t)) |
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(u_char) * 2) |
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - 2) |
#define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(u_char) * 2 - \ |
#define _SS_PAD2SIZE (_SS_MAXSIZE - 2 - \ |
_SS_PAD1SIZE - _SS_ALIGNSIZE) |
_SS_PAD1SIZE - _SS_ALIGNSIZE) |
|
|
#if !defined(_XOPEN_SOURCE) || (_XOPEN_SOURCE - 0) >= 500 |
#if !defined(_XOPEN_SOURCE) || (_XOPEN_SOURCE - 0) >= 500 |
struct sockaddr_storage { |
struct sockaddr_storage { |
u_char ss_len; /* address length */ |
uint8_t ss_len; /* address length */ |
u_char ss_family; /* address family */ |
sa_family_t ss_family; /* address family */ |
char __ss_pad1[_SS_PAD1SIZE]; |
char __ss_pad1[_SS_PAD1SIZE]; |
int64_t __ss_align; /* force desired structure storage alignment */ |
int64_t __ss_align;/* force desired structure storage alignment */ |
char __ss_pad2[_SS_PAD2SIZE]; |
char __ss_pad2[_SS_PAD2SIZE]; |
}; |
}; |
#endif /* !_XOPEN_SOURCE || ... */ |
#endif /* !_XOPEN_SOURCE || ... */ |
#endif /* 1 */ |
#endif /* 1 */ |
Line 401 struct cmsghdr { |
|
Line 407 struct cmsghdr { |
|
|
|
/* given pointer to struct cmsghdr, return pointer to data */ |
/* given pointer to struct cmsghdr, return pointer to data */ |
#define CMSG_DATA(cmsg) \ |
#define CMSG_DATA(cmsg) \ |
((u_char *)(cmsg) + __CMSG_ALIGN(sizeof(struct cmsghdr))) |
((u_char *)(void *)(cmsg) + __CMSG_ALIGN(sizeof(struct cmsghdr))) |
|
|
/* |
/* |
* Alignment requirement for CMSG struct manipulation. |
* Alignment requirement for CMSG struct manipulation. |
Line 449 struct cmsghdr { |
|
Line 455 struct cmsghdr { |
|
* 4.3 compat sockaddr, move to compat file later |
* 4.3 compat sockaddr, move to compat file later |
*/ |
*/ |
struct osockaddr { |
struct osockaddr { |
u_short sa_family; /* address family */ |
uint16_t sa_family; /* address family */ |
char sa_data[14]; /* up to 14 bytes of direct address */ |
char sa_data[14]; /* up to 14 bytes of direct address */ |
}; |
}; |
|
|
/* |
/* |