version 1.1, 2000/12/01 08:09:16 |
version 1.8, 2000/12/01 17:42:26 |
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
* |
* |
* $Maekawa: ox_getport.c,v 1.17 2000/11/21 13:38:51 maekawa Exp $ |
* $OpenXM: OpenXM/src/ox_socket/ox_getport.c,v 1.7 2000/12/01 17:37:53 maekawa Exp $ |
*/ |
*/ |
|
|
#include <sys/types.h> |
#include <sys/types.h> |
|
|
|
|
#include "ox_socket.h" |
#include "ox_socket.h" |
|
|
#ifndef INET6 |
#ifndef HAVE_SOCKADDR_STORAGE |
/* Derived from RFC2553 */ |
/* Derived from RFC2553 */ |
#define _SS_MAXSIZE 128 |
#define _SS_MAXSIZE 128 |
#define _SS_ALIGNSIZE (sizeof(int64_t)) |
#define _SS_ALIGNSIZE (sizeof(int64_t)) |
|
|
|
#ifdef HAVE_SOCKADDR_LEN |
|
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(uint8_t) - sizeof(sa_family_t)) |
|
#define _SS_PAD2SIZE (_SS_ALIGNSIZE - sizeof(uint8_t) - sizeof(sa_family_t) \ |
|
- _SS_PAD1SIZE - _SS_ALIGNSIZE) |
|
#else /* HAVE_SOCKADDR_LEN */ |
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(sa_family_t)) |
#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(sa_family_t)) |
#define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(sa_family_t) |
#define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(sa_family_t) \ |
+ _SS_PAD1SIZE + _SS_ALIGNSIZE) |
- _SS_PAD1SIZE - _SS_ALIGNSIZE) |
|
#endif /* HAVE_SOCKADDR_LEN */ |
|
|
struct sockaddr_storage { |
struct sockaddr_storage { |
sa_family_t __ss_family; |
#ifdef HAVE_SOCKADDR_LEN |
|
uint8_t ss_len; |
|
#endif /* HAVE_SOCKADDR_LEN */ |
|
sa_family_t ss_family; |
|
|
char __ss_pad1[_SS_PAD1SIZE]; |
char __ss_pad1[_SS_PAD1SIZE]; |
int64_t __ss_align; |
int64_t __ss_align; |
char __ss_pad2[_SS_PAD2SIZE]; |
char __ss_pad2[_SS_PAD2SIZE]; |
}; |
}; |
#endif /* INET6 */ |
#endif /* HAVE_SOCKADDR_STORAGE */ |
|
|
int |
int |
ox_getport(int sock) |
ox_getport(int sock) |
Line 66 ox_getport(int sock) |
|
Line 76 ox_getport(int sock) |
|
return (-1); |
return (-1); |
} |
} |
|
|
switch (ss.__ss_family) { |
switch (ss.ss_family) { |
case AF_INET: |
case AF_INET: |
{ |
{ |
struct sockaddr_in *sin; |
struct sockaddr_in *sin; |