* NET-3 Networking Distribution for the LINUX operating
* system.
*
- * Version: $Id: arp.c,v 1.13 1999/06/12 23:04:14 philip Exp $
+ * Version: $Id: arp.c,v 1.14 1999/09/27 11:00:42 philip Exp $
*
* Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
*
memcpy((char *) sa, (char *) &(ifr.ifr_hwaddr), sizeof(struct sockaddr));
if (opt_v) {
- if (!(xhw = get_hwntype(ifr.ifr_hwaddr.sa_family)) || (xhw->sprint == 0)) {
+ if (!(xhw = get_hwntype(ifr.ifr_hwaddr.sa_family)) || (xhw->print == 0)) {
xhw = get_hwntype(-1);
}
- fprintf(stderr, _("arp: device `%s' has HW address %s `%s'.\n"), ifname, xhw->name, xhw->sprint(&ifr.ifr_hwaddr));
+ fprintf(stderr, _("arp: device `%s' has HW address %s `%s'.\n"), ifname, xhw->name, xhw->print((char *)&ifr.ifr_hwaddr.sa_data));
}
return (0);
}
fprintf(stderr, _(" -n, --numeric dont resolve names\n"));
fprintf(stderr, _(" -i, --device specify network interface (e.g. eth0)\n"));
fprintf(stderr, _(" -D, --use-device read <hwaddr> from given device\n"));
+ fprintf(stderr, _(" -A, -p, --protocol specify protocol family\n"));
fprintf(stderr, _(" -f, --file read new entries from file\n\n"));
fprintf(stderr, _(" <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"), DFLT_HW);
bool 'Rose (packet radio) protocol family' HAVE_AFROSE n
bool 'Econet protocol family' HAVE_AFECONET n
bool 'DECnet protocol family' HAVE_AFDECnet n
+bool 'Ash protocol family' HAVE_AFASH n
*
*
* Device Hardware types.
* lib/af.c This file contains the top-level part of the protocol
* support functions module for the NET-2 base distribution.
*
- * Version: $Id: af.c,v 1.11 1999/04/18 20:28:42 philip Exp $
+ * Version: $Id: af.c,v 1.12 1999/09/27 11:00:44 philip Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* Copyright 1993 MicroWalt Corporation
#include "intl.h"
#include "util.h"
-int flag_unx = 0;
-int flag_ipx = 0;
-int flag_ax25 = 0;
-int flag_ddp = 0;
-int flag_netrom = 0;
-int flag_inet = 0;
-int flag_inet6 = 0;
-int flag_econet = 0;
+int flag_unx;
+int flag_ipx;
+int flag_ax25;
+int flag_ddp;
+int flag_netrom;
+int flag_inet;
+int flag_inet6;
+int flag_econet;
+int flag_ash;
struct aftrans_t {
"econet", "ec", &flag_econet
},
{
+ "ash", "ash", &flag_ash
+ },
+ {
0, 0, 0
}
};
extern struct aftype ddp_aftype;
extern struct aftype ec_aftype;
extern struct aftype rose_aftype;
+extern struct aftype ash_aftype;
static short sVafinit = 0;
#if HAVE_AFECONET
&ec_aftype,
#endif
+#if HAVE_AFASH
+ &ash_aftype,
+#endif
&unspec_aftype,
NULL
};
#if HAVE_AFROSE
rose_aftype.title = _("AMPR ROSE");
#endif
+#if HAVE_AFASH
+ ash_aftype.title = _("Ash");
+#endif
sVafinit = 1;
}
/*
* lib/ash.c This file contains an implementation of the Ash
* support functions for the NET-2 base distribution.
- * $Id: ash.c,v 1.10 1999/04/04 21:37:02 philip Exp $
+ * $Id: ash.c,v 1.11 1999/09/27 11:00:45 philip Exp $
*/
#include "config.h"
-#if HAVE_HWASH
+#if HAVE_HWASH || HAVE_AFASH
#include <sys/types.h>
#include <sys/socket.h>
#include "intl.h"
#include "util.h"
-#ifndef ARPHRD_ASH
-#warning "No definition of ARPHRD_ASH in <net/if_arp.h>, using private value 517"
-#define ARPHRD_ASH 517
-#endif
-
#define ASH_ALEN 64
-extern struct hwtype ash_hwtype;
+static unsigned char hamming[16] =
+{
+ 0x15, 0x02, 0x49, 0x5e, 0x64, 0x73, 0x38, 0x2f,
+ 0xd0, 0xc7, 0x8c, 0x9b, 0xa1, 0xb6, 0xfd, 0xea
+};
/* Display an Ash address in readable format. */
-static char *pr_ash(unsigned char *ptr)
+static char *
+pr_ash(unsigned char *ptr)
{
static char buff[128];
char *p = buff;
return buff;
}
-/* Display an Ash socket address. */
-static char *pr_sash(struct sockaddr *sap)
-{
- static char buf[64];
-
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return safe_strncpy(buf, "[NONE SET]", 64);
- return pr_ash(sap->sa_data);
-}
+#if HAVE_HWASH
-static unsigned char hamming[16] =
-{
- 0x15, 0x02, 0x49, 0x5e, 0x64, 0x73, 0x38, 0x2f,
- 0xd0, 0xc7, 0x8c, 0x9b, 0xa1, 0xb6, 0xfd, 0xea
-};
+#ifndef ARPHRD_ASH
+#warning "No definition of ARPHRD_ASH in <net/if_arp.h>, using private value 517"
+#define ARPHRD_ASH 517
+#endif
+struct hwtype ash_hwtype;
-static int in_ash(char *bufp, struct sockaddr *sap)
+static int
+in_ash(char *bufp, struct sockaddr *sap)
{
unsigned char *ptr;
unsigned int i = 0;
return 0;
}
-
struct hwtype ash_hwtype =
{
"ash", NULL, ARPHRD_ASH, ASH_ALEN,
- pr_ash, pr_sash, in_ash, NULL,
+ pr_ash, in_ash, NULL,
1
};
-#endif
+#endif /* HAVE_HWASH */
+
+#if HAVE_AFASH
+
+/* Display an Ash socket address. */
+static char *
+pr_sash(struct sockaddr *sap, int numeric)
+{
+ static char buf[64];
+
+ if (sap->sa_family != AF_ASH)
+ return safe_strncpy(buf, "[NONE SET]", 64);
+ return pr_ash(sap->sa_data);
+}
+
+struct aftype ash_aftype =
+{
+ "ash", NULL, AF_ASH, 0,
+ pr_ash, pr_sash, NULL, NULL,
+ NULL, NULL, NULL,
+ -1,
+ "/proc/sys/net/ash"
+};
+
+#endif /* HAVE_AFASH */
+
+#endif /* HAVE_AFASH || HAVE_HWASH */
* lib/ax25.c This file contains an implementation of the "AX.25"
* support functions.
*
- * Version: $Id: ax25.c,v 1.8 1998/11/19 13:01:54 philip Exp $
+ * Version: $Id: ax25.c,v 1.9 1999/09/27 11:00:45 philip Exp $
*
* NOTE: I will redo this module as soon as I got the libax25.a
* library sorted out. This library contains some useful
}
-static char *AX25_hprint(struct sockaddr *sap)
-{
- static char buf[64];
-
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return safe_strncpy(buf, _("[NONE SET]"), sizeof(buf));
- return (AX25_print(((struct sockaddr_ax25 *) sap)->sax25_call.ax25_call));
-}
-
-
static int AX25_hinput(char *bufp, struct sockaddr *sap)
{
if (AX25_input(0, bufp, sap) < 0)
struct hwtype ax25_hwtype =
{
"ax25", NULL, /*"AMPR AX.25", */ ARPHRD_AX25, 7,
- AX25_print, AX25_hprint, AX25_hinput, NULL
+ AX25_print, AX25_hinput, NULL
};
struct aftype ax25_aftype =
* lib/ec_hw.c This file contains an implementation of the Econet
* hardware support functions.
*
- * Version: $Id: ec_hw.c,v 1.1 1999/05/16 16:41:11 philip Exp $
+ * Version: $Id: ec_hw.c,v 1.2 1999/09/27 11:00:46 philip Exp $
*
* Author: Philip Blundell <philb@gnu.org>
*
struct hwtype ec_hwtype =
{
"ec", NULL /* "Econet" */, ARPHRD_ECONET, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
#endif
/*
- * lib/econet.c This file contains an implementation of the Econet
+ * lib/econet.c This file contains an implementation of the Econet
* support functions for the net-tools.
* (NET-3 base distribution).
*
- * Version: $Id: econet.c,v 1.8 1999/04/20 13:31:50 philip Exp $
+ * Version: $Id: econet.c,v 1.9 1999/09/27 11:00:47 philip Exp $
*
* Author: Philip Blundell <philb@gnu.org>
*
/* Display an Econet address */
static char *
- ec_print(unsigned char *ptr)
+ec_print(unsigned char *ptr)
{
static char buff[64];
struct ec_addr *ec = (struct ec_addr *) ptr;
/* Display an Econet socket address */
static char *
- ec_sprint(struct sockaddr *sap, int numeric)
+ec_sprint(struct sockaddr *sap, int numeric)
{
struct sockaddr_ec *sec = (struct sockaddr_ec *) sap;
return ec_print((unsigned char *) &sec->addr);
}
-static int ec_input(int type, char *bufp, struct sockaddr *sap)
+static int
+ec_input(int type, char *bufp, struct sockaddr *sap)
{
struct sockaddr_ec *sec = (struct sockaddr_ec *) sap;
int net, stn;
* lib/ether.c This file contains an implementation of the "Ethernet"
* support functions.
*
- * Version: $Id: ether.c,v 1.6 1998/11/19 13:01:56 philip Exp $
+ * Version: $Id: ether.c,v 1.7 1999/09/27 11:00:47 philip Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* Copyright 1993 MicroWalt Corporation
}
-/* Display an Ethernet socket address. */
-static char *pr_sether(struct sockaddr *sap)
-{
- static char buf[64];
-
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return safe_strncpy(buf, _("[NONE SET]"), sizeof(buf));
- return (pr_ether(sap->sa_data));
-}
-
-
/* Input an Ethernet address and convert to binary. */
static int in_ether(char *bufp, struct sockaddr *sap)
{
struct hwtype ether_hwtype =
{
"ether", NULL, /*"10Mbps Ethernet", */ ARPHRD_ETHER, ETH_ALEN,
- pr_ether, pr_sether, in_ether, NULL
+ pr_ether, in_ether, NULL
};
/*
* lib/loopback.c This file contains the general hardware types.
*
- * Version: $Id: loopback.c,v 1.6 1999/04/04 21:37:04 philip Exp $
+ * Version: $Id: loopback.c,v 1.7 1999/09/27 11:00:48 philip Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* Copyright 1993 MicroWalt Corporation
return (buff);
}
-
-/* Display an UNSPEC socket address. */
-static char *pr_sunspec(struct sockaddr *sap)
-{
- static char buf[64];
-
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return safe_strncpy(buf, _("[NONE SET]"), sizeof(buf));
- return (pr_unspec(sap->sa_data));
-}
-
-
struct hwtype unspec_hwtype =
{
"unspec", NULL, /*"UNSPEC", */ -1, 0,
- pr_unspec, pr_sunspec, NULL, NULL
+ pr_unspec, NULL, NULL
};
struct hwtype loop_hwtype =
{
"loop", NULL, /*"Local Loopback", */ ARPHRD_LOOPBACK, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
int type;
int alen;
char *(*print) (unsigned char *);
- char *(*sprint) (struct sockaddr *);
int (*input) (char *, struct sockaddr *);
int (*activate) (int fd);
int suppress_null_addr;
/*
* lib/slip.c This file contains the SLIP HW-type support.
*
- * Version: $Id: slip.c,v 1.3 1998/11/15 20:12:16 freitag Exp $
+ * Version: $Id: slip.c,v 1.4 1999/09/27 11:00:49 philip Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* Copyright 1993 MicroWalt Corporation
struct hwtype slip_hwtype =
{
"slip", NULL, /*"Serial Line IP", */ ARPHRD_SLIP, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
struct hwtype cslip_hwtype =
{
"cslip", NULL, /*"VJ Serial Line IP", */ ARPHRD_CSLIP, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
struct hwtype slip6_hwtype =
{
"slip6", NULL, /*"6-bit Serial Line IP", */ ARPHRD_SLIP6, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
struct hwtype cslip6_hwtype =
{
"cslip6", NULL, /*"VJ 6-bit Serial Line IP", */ ARPHRD_CSLIP6, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
struct hwtype adaptive_hwtype =
{
"adaptive", NULL, /*"Adaptive Serial Line IP", */ ARPHRD_ADAPT, 0,
- NULL, NULL, NULL, NULL
+ NULL, NULL, NULL
};
#endif /* HAVE_HWSLIP */
* lib/tr.c This file contains an implementation of the "Tokenring"
* support functions.
*
- * Version: $Id: tr.c,v 1.5 1999/05/16 16:41:14 philip Exp $
+ * Version: $Id: tr.c,v 1.6 1999/09/27 11:00:49 philip Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* Copyright 1993 MicroWalt Corporation
}
-static char *pr_str(struct sockaddr *sap)
-{
- if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
- return ("[NONE SET]");
- return (pr_tr(sap->sa_data));
-}
-
-
static int in_tr(char *bufp, struct sockaddr *sap)
{
unsigned char *ptr;
struct hwtype tr_hwtype =
{
"tr", NULL /* "16/4 Mbps Token Ring" */, ARPHRD_IEEE802, TR_ALEN,
- pr_tr, pr_str, in_tr, NULL
+ pr_tr, in_tr, NULL
};