summaryrefslogtreecommitdiff
path: root/sysutils/sbniconfig/files/sbniconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/sbniconfig/files/sbniconfig.c')
-rw-r--r--sysutils/sbniconfig/files/sbniconfig.c176
1 files changed, 0 insertions, 176 deletions
diff --git a/sysutils/sbniconfig/files/sbniconfig.c b/sysutils/sbniconfig/files/sbniconfig.c
deleted file mode 100644
index 587267433b95..000000000000
--- a/sysutils/sbniconfig/files/sbniconfig.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 1997
- * Granch ltd.
- *
- * Redistribution and use in source forms, with and without modification,
- * are permitted provided that this entire comment appear intact.
- *
- * THIS SOURCE CODE IS PROVIDED ``AS IS'' WITHOUT ANY WARRANTIES OF ANY KIND.
- *
- * sbniconfig.c,v 2.0.0 97/08/06
- */
-
-/*
- * SBNI adapter configuration utility
- *
- * Revision 2.0.0 97/08/06
- * Initial revision
- *
- * Revision 2.0.1 97/08/11
- * Additional internal statistics support (tx statistics)
- *
- * Revisuion 2.1 Jul 7 2000
- * Added feature to specify baud rate and rxl instead of flags
- *
- *
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#include <netinet/if_ether.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "if_sbnivar.h"
-
-char* rate_tab[] = {
- "0",
- "1",
- "2",
- "3"
-};
-
-int main(argc, argv)
-int argc;
-char *argv[];
-{
- char *if_name;
- int s;
- struct ifreq ifr;
- struct sbni_in_stats in_stats;
-
- struct sbni_flags flags;
-
- int rxl=-1,baud=-1;
- int rxlfix=1<<6;
-
-
- if(argc < 2 || argc > 4){
- fprintf(stderr, "usage:\tsbniconfig if_name [flags]\n");
- fprintf(stderr, "\tsbniconfig if_name baud rxl\n");
- fprintf(stderr, "e.g.: \tsbniconfig sbni0 0xdeadbeef or \n\tsbniconfig sbni0 2 15\n\tsbniconfig sbni0 0 auto\n");
-
- exit(1);
- }
- if_name = argv[1];
- if(argc == 3 || argc == 4){
- char* endptr;
- if(argc == 3){
- *(u_int32_t*)&flags = strtoul(argv[2], &endptr, 0);
- if(*endptr){
- fprintf(stderr,
- "sbniconfig: invalid flags specified\n");
- exit(1);
- }
-
- }else{
- baud=atoi(argv[2]);
- if(strcasecmp(argv[3],"auto")){
- /* NON auto */
- rxl=atoi(argv[3]);
- rxlfix=1<<6;
- }else{
- rxl=0;
- rxlfix=0;
- }
-
- if((baud < 0) || (baud > 3) || (rxl < 0) || (rxl > 15)){
- printf("incorrect params.\n");
- exit(1);
- }
-
- printf("baud rate = %d\n",baud);
-
- if(!rxlfix)
- printf("rxl = auto\n");
- else{
- printf("rxl = %d\n",rxl);
- }
-
- srandom(time(NULL));
-
- *(u_int32_t*)&flags = random();
- *((u_char*) &flags + 3) = rxl | rxlfix | (baud<<4) | (1<<7);
- printf("new flags = 0x%x\n",flags);
- }
-
- flags.mac_addr = htonl(flags.mac_addr) >> 8;
- }
-
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if(s < 0){
- perror("sbniconfig: socket");
- exit (1);
- }
-
- strncpy(ifr.ifr_name, if_name, sizeof (ifr.ifr_name));
- ifr.ifr_addr.sa_family = AF_INET;
-
- if(argc == 2){
- if(ioctl(s, SIOCGHWFLAGS, (caddr_t)&ifr) < 0){
- perror("sbniconfig: SIOCGHWFLAGS");
- exit(1);
- }
- flags = *(struct sbni_flags*)&ifr.ifr_data;
-
- ifr.ifr_data = (caddr_t)&in_stats;
- if(ioctl(s, SIOCGINSTATS, (caddr_t)&ifr) < 0){
- perror("sbniconfig: SIOCGINSTATS");
- exit(1);
- }
-
- printf("%s:\tMAC addr: 00:ff:01:%02x:%02x:%02x\n"
- "\treceive level: 0x%x (%s)\n"
- "\tbaud rate: %s (%s)\n"
- "\tTotal rx=%u\tBad rx=%u\tGood rx=%u\tTimeouts=%u\n"
- "\tError frame ratio %6.2f%%\n"
- "\tTotal tx=%u\tResend tx=%u\tImmediate tx=%u\n",
- if_name,
- *(u_char*) &flags,
- *(((u_char*) &flags)+1),
- *(((u_char*) &flags)+2),
- (unsigned) flags.rxl,
- flags.fixed_rxl ? "fixed" : "autodetected",
- rate_tab[flags.rate],
- flags.fixed_rate ? "fixed" : "autodetected",
- in_stats.all_rx_number,
- in_stats.bad_rx_number,
- in_stats.all_rx_number - in_stats.bad_rx_number,
- in_stats.timeout_number,
- (float)(in_stats.bad_rx_number*100./(in_stats.all_rx_number+0.01)),
- in_stats.all_tx_number,
- in_stats.resend_tx_number,
- in_stats.all_tx_number - in_stats.resend_tx_number);
- }
- else if((argc == 3) || (argc ==4 )){
- if(*(caddr_t*)&flags != 0){
- ifr.ifr_data = *(caddr_t*)&flags;
- if(ioctl(s, SIOCSHWFLAGS, (caddr_t)&ifr) < 0){
- perror("sbniconfig: SIOCSHWFLAGS");
- exit(1);
- }
- }
- if(ioctl(s, SIOCRINSTATS, (caddr_t)&ifr) < 0){
- perror("sbniconfig: SIOCRINSTATS");
- exit(1);
- }
- }
-
- close (s);
- return 0;
-}