curl/lib/if2ip.h

70 lines
2.4 KiB
C
Raw Normal View History

1999-12-29 15:20:26 +01:00
#ifndef __IF2IP_H
#define __IF2IP_H
2002-09-03 13:52:59 +02:00
/***************************************************************************
1999-12-29 15:20:26 +01:00
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
2004-01-07 10:19:33 +01:00
* Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
1999-12-29 15:20:26 +01:00
*
2002-09-03 13:52:59 +02:00
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
2001-01-03 10:29:33 +01:00
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
2002-09-03 13:52:59 +02:00
* furnished to do so, under the terms of the COPYING file.
1999-12-29 15:20:26 +01:00
*
2001-01-03 10:29:33 +01:00
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
1999-12-29 15:20:26 +01:00
*
2001-01-03 10:29:33 +01:00
* $Id$
2002-09-03 13:52:59 +02:00
***************************************************************************/
1999-12-29 15:20:26 +01:00
#include "setup.h"
#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN32__) && \
2004-01-16 08:15:05 +01:00
!defined(__riscos__) && !defined(__INTERIX)
extern char *Curl_if2ip(char *interface, char *buf, int buf_size);
1999-12-29 15:20:26 +01:00
#else
#define Curl_if2ip(a,b,c) NULL
1999-12-29 15:20:26 +01:00
#endif
#ifdef __INTERIX
/* Nedelcho Stanev's work-around for SFU 3.0 */
struct ifreq {
#define IFNAMSIZ 16
#define IFHWADDRLEN 6
union {
char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */
} ifr_ifrn;
union {
struct sockaddr ifru_addr;
struct sockaddr ifru_broadaddr;
struct sockaddr ifru_netmask;
struct sockaddr ifru_hwaddr;
short ifru_flags;
int ifru_metric;
int ifru_mtu;
} ifr_ifru;
};
/* This define was added by Daniel to avoid an extra #ifdef INTERIX in the
C code. */
#define ifr_dstaddr ifr_addr
#define ifr_name ifr_ifrn.ifrn_name /* interface name */
#define ifr_addr ifr_ifru.ifru_addr /* address */
#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
#define ifr_flags ifr_ifru.ifru_flags /* flags */
#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
#define ifr_metric ifr_ifru.ifru_metric /* metric */
#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
#define SIOCGIFADDR _IOW('s', 102, struct ifreq) /* Get if addr */
#endif /* interix */
1999-12-29 15:20:26 +01:00
#endif