lmcconfig(8): bump to WARNS=3, fix typo in usage while here
Slight style(9) improvments - function definitions - sort #include
This commit is contained in:
parent
057747a467
commit
cffd173436
@ -6,6 +6,6 @@ MAN= lmcconfig.8
|
||||
DPADD= ${LIBNETGRAPH}
|
||||
LDADD= -lnetgraph
|
||||
|
||||
WARNS?= 0
|
||||
WARNS?= 3
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -65,20 +65,21 @@
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#if defined(NETGRAPH)
|
||||
# include <netgraph.h>
|
||||
#endif
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/socket.h>
|
||||
#include <net/if.h>
|
||||
|
||||
#include <dev/lmc/if_lmc.h>
|
||||
@ -95,8 +96,13 @@ int update = 0; /* update driver config */
|
||||
int verbose = 0; /* verbose output */
|
||||
u_int8_t checksum; /* gate array ucode file checksum */
|
||||
|
||||
void usage()
|
||||
{
|
||||
/* Functions currently unused. Keep compiler happy and provide prototypes. */
|
||||
void ioctl_snmp_loop(u_int32_t);
|
||||
void init_srom(int);
|
||||
|
||||
static void
|
||||
usage(void)
|
||||
{
|
||||
fprintf(stderr, "Usage: %s interface [-abBcCdDeEfhiLmMpPsStTuUvVwWxXyYzZ?]\n", progname);
|
||||
fprintf(stderr, "or\n");
|
||||
fprintf(stderr, "Usage: %s interface -1 [-aABcdeEfFgiIlLpPstTuUvxX]\n", progname);
|
||||
@ -147,7 +153,7 @@ void usage()
|
||||
|
||||
fprintf(stderr, "The -1 switch precedes T1/E1 commands.\n");
|
||||
fprintf(stderr, "\t-a <y|b|a> Stop sending Yellow|Blue|AIS signal\n");
|
||||
fprintf(stderr, "\t-A <y|b|a> Start sending Yellow|Blue}AIS signal\n");
|
||||
fprintf(stderr, "\t-A <y|b|a> Start sending Yellow|Blue|AIS signal\n");
|
||||
fprintf(stderr, "\t-B <number> Send BOP msg 25 times\n");
|
||||
fprintf(stderr, "\t-c <number> Set cable length in meters\n");
|
||||
fprintf(stderr, "\t-d Print status of T1 DSU/CSU\n");
|
||||
@ -209,10 +215,11 @@ void usage()
|
||||
fprintf(stderr, "\t 1:OFF 2:DigitalLink|Kentrox 3:Larse\n");
|
||||
fprintf(stderr, "\t-v Set verbose printout mode\n");
|
||||
fprintf(stderr, "\t-V <number> Write to T3 VCXO freq control DAC\n");
|
||||
}
|
||||
}
|
||||
|
||||
void call_driver(unsigned long cmd, struct iohdr *iohdr)
|
||||
{
|
||||
static void
|
||||
call_driver(unsigned long cmd, struct iohdr *iohdr)
|
||||
{
|
||||
int error = 0;
|
||||
|
||||
strncpy(iohdr->ifname, ifname, sizeof(iohdr->ifname));
|
||||
@ -259,10 +266,11 @@ void call_driver(unsigned long cmd, struct iohdr *iohdr)
|
||||
fprintf(stderr, "%s: This version of %s is incompatible with the device driver\n", progname, progname);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u_int32_t read_pci_config(u_int8_t addr)
|
||||
{
|
||||
static u_int32_t
|
||||
read_pci_config(u_int8_t addr)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -273,10 +281,11 @@ u_int32_t read_pci_config(u_int8_t addr)
|
||||
call_driver(LMCIOCREAD, &ioctl.iohdr);
|
||||
|
||||
return ioctl.data;
|
||||
}
|
||||
}
|
||||
|
||||
void write_pci_config(u_int8_t addr, u_int32_t data)
|
||||
{
|
||||
static void
|
||||
write_pci_config(u_int8_t addr, u_int32_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -286,10 +295,11 @@ void write_pci_config(u_int8_t addr, u_int32_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
u_int32_t read_csr(u_int8_t addr)
|
||||
{
|
||||
static u_int32_t
|
||||
read_csr(u_int8_t addr)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -300,10 +310,11 @@ u_int32_t read_csr(u_int8_t addr)
|
||||
call_driver(LMCIOCREAD, &ioctl.iohdr);
|
||||
|
||||
return ioctl.data;
|
||||
}
|
||||
}
|
||||
|
||||
void write_csr(u_int8_t addr, u_int32_t data)
|
||||
{
|
||||
static void
|
||||
write_csr(u_int8_t addr, u_int32_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -313,10 +324,11 @@ void write_csr(u_int8_t addr, u_int32_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
u_int16_t read_srom(u_int8_t addr)
|
||||
{
|
||||
static u_int16_t
|
||||
read_srom(u_int8_t addr)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -327,10 +339,11 @@ u_int16_t read_srom(u_int8_t addr)
|
||||
call_driver(LMCIOCREAD, &ioctl.iohdr);
|
||||
|
||||
return ioctl.data;
|
||||
}
|
||||
}
|
||||
|
||||
void write_srom(u_int8_t addr, u_int16_t data)
|
||||
{
|
||||
static void
|
||||
write_srom(u_int8_t addr, u_int16_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -340,10 +353,11 @@ void write_srom(u_int8_t addr, u_int16_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
u_int8_t read_bios_rom(u_int32_t addr)
|
||||
{
|
||||
static u_int8_t
|
||||
read_bios_rom(u_int32_t addr)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -354,10 +368,11 @@ u_int8_t read_bios_rom(u_int32_t addr)
|
||||
call_driver(LMCIOCREAD, &ioctl.iohdr);
|
||||
|
||||
return ioctl.data;
|
||||
}
|
||||
}
|
||||
|
||||
void write_bios_rom(u_int32_t addr, u_int8_t data)
|
||||
{
|
||||
static void
|
||||
write_bios_rom(u_int32_t addr, u_int8_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -367,10 +382,11 @@ void write_bios_rom(u_int32_t addr, u_int8_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
u_int16_t read_mii(u_int8_t addr)
|
||||
{
|
||||
static u_int16_t
|
||||
read_mii(u_int8_t addr)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -381,10 +397,11 @@ u_int16_t read_mii(u_int8_t addr)
|
||||
call_driver(LMCIOCREAD, &ioctl.iohdr);
|
||||
|
||||
return ioctl.data;
|
||||
}
|
||||
}
|
||||
|
||||
void write_mii(u_int8_t addr, u_int16_t data)
|
||||
{
|
||||
static void
|
||||
write_mii(u_int8_t addr, u_int16_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -394,10 +411,11 @@ void write_mii(u_int8_t addr, u_int16_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
unsigned char read_framer(u_int16_t addr)
|
||||
{
|
||||
static unsigned char
|
||||
read_framer(u_int16_t addr)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -408,10 +426,11 @@ unsigned char read_framer(u_int16_t addr)
|
||||
call_driver(LMCIOCREAD, &ioctl.iohdr);
|
||||
|
||||
return ioctl.data;
|
||||
}
|
||||
}
|
||||
|
||||
void write_framer(u_int16_t addr, u_int8_t data)
|
||||
{
|
||||
static void
|
||||
write_framer(u_int16_t addr, u_int8_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -421,10 +440,11 @@ void write_framer(u_int16_t addr, u_int8_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void write_synth(struct synth synth)
|
||||
{
|
||||
static void
|
||||
write_synth(struct synth synth)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -433,10 +453,11 @@ void write_synth(struct synth synth)
|
||||
bcopy(&synth, &ioctl.data, sizeof(synth));
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void write_dac(u_int16_t data)
|
||||
{
|
||||
static void
|
||||
write_dac(u_int16_t data)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOW;
|
||||
@ -445,10 +466,11 @@ void write_dac(u_int16_t data)
|
||||
ioctl.data = data;
|
||||
|
||||
call_driver(LMCIOCWRITE, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void reset_xilinx()
|
||||
{
|
||||
static void
|
||||
reset_xilinx(void)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -456,10 +478,11 @@ void reset_xilinx()
|
||||
ioctl.cmd = IOCTL_XILINX_RESET;
|
||||
|
||||
call_driver(LMCIOCTL, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void load_xilinx_from_rom()
|
||||
{
|
||||
static void
|
||||
load_xilinx_from_rom(void)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -467,10 +490,11 @@ void load_xilinx_from_rom()
|
||||
ioctl.cmd = IOCTL_XILINX_ROM;
|
||||
|
||||
call_driver(LMCIOCTL, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void load_xilinx_from_file(char *ucode, u_int32_t len)
|
||||
{
|
||||
static void
|
||||
load_xilinx_from_file(char *ucode, u_int32_t len)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -480,10 +504,11 @@ void load_xilinx_from_file(char *ucode, u_int32_t len)
|
||||
ioctl.ucode = ucode;
|
||||
|
||||
call_driver(LMCIOCTL, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void ioctl_snmp_send(u_int32_t send)
|
||||
{
|
||||
static void
|
||||
ioctl_snmp_send(u_int32_t send)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -492,10 +517,11 @@ void ioctl_snmp_send(u_int32_t send)
|
||||
ioctl.data = send;
|
||||
|
||||
call_driver(LMCIOCTL, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void ioctl_snmp_loop(u_int32_t loop)
|
||||
{
|
||||
void
|
||||
ioctl_snmp_loop(u_int32_t loop)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -504,10 +530,11 @@ void ioctl_snmp_loop(u_int32_t loop)
|
||||
ioctl.data = loop;
|
||||
|
||||
call_driver(LMCIOCTL, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void ioctl_reset_cntrs()
|
||||
{
|
||||
static void
|
||||
ioctl_reset_cntrs(void)
|
||||
{
|
||||
struct ioctl ioctl;
|
||||
|
||||
ioctl.iohdr.direction = DIR_IOWR;
|
||||
@ -515,39 +542,44 @@ void ioctl_reset_cntrs()
|
||||
ioctl.cmd = IOCTL_RESET_CNTRS;
|
||||
|
||||
call_driver(LMCIOCTL, &ioctl.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void ioctl_read_config()
|
||||
{
|
||||
static void
|
||||
ioctl_read_config(void)
|
||||
{
|
||||
config.iohdr.direction = DIR_IOWR;
|
||||
config.iohdr.length = sizeof(struct config);
|
||||
|
||||
call_driver(LMCIOCGCFG, &config.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void ioctl_write_config()
|
||||
{
|
||||
static void
|
||||
ioctl_write_config(void)
|
||||
{
|
||||
config.iohdr.direction = DIR_IOW;
|
||||
config.iohdr.length = sizeof(struct config);
|
||||
|
||||
call_driver(LMCIOCSCFG, &config.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void ioctl_read_status()
|
||||
{
|
||||
static void
|
||||
ioctl_read_status(void)
|
||||
{
|
||||
status.iohdr.direction = DIR_IOWR;
|
||||
status.iohdr.length = sizeof(struct status);
|
||||
|
||||
call_driver(LMCIOCGSTAT, &status.iohdr);
|
||||
}
|
||||
}
|
||||
|
||||
void print_card_name()
|
||||
{
|
||||
static void
|
||||
print_card_name(void)
|
||||
{
|
||||
printf("Card name:\t\t%s\n", ifname);
|
||||
}
|
||||
}
|
||||
|
||||
void print_card_type()
|
||||
{
|
||||
static void
|
||||
print_card_type(void)
|
||||
{
|
||||
printf("Card type:\t\t");
|
||||
switch(status.card_type)
|
||||
{
|
||||
@ -570,10 +602,11 @@ void print_card_type()
|
||||
printf("unknown card_type: %d\n", status.card_type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_status()
|
||||
{
|
||||
static void
|
||||
print_status(void)
|
||||
{
|
||||
char *status_string;
|
||||
|
||||
if (status.oper_status == STATUS_UP)
|
||||
@ -585,21 +618,24 @@ void print_status()
|
||||
else
|
||||
status_string = "Unknown";
|
||||
printf("Link status:\t\t%s\n", status_string);
|
||||
}
|
||||
}
|
||||
|
||||
void print_tx_speed()
|
||||
{
|
||||
static void
|
||||
print_tx_speed(void)
|
||||
{
|
||||
printf("Tx Speed:\t\t%u\n", status.tx_speed);
|
||||
}
|
||||
}
|
||||
|
||||
void print_debug()
|
||||
{
|
||||
static void
|
||||
print_debug(void)
|
||||
{
|
||||
if (config.debug != 0)
|
||||
printf("Debug:\t\t\t%s\n", "On");
|
||||
}
|
||||
}
|
||||
|
||||
void print_line_prot()
|
||||
{
|
||||
static void
|
||||
print_line_prot(void)
|
||||
{
|
||||
char *on = "On", *off = "Off";
|
||||
|
||||
printf("Line Prot/Pkg:\t\t");
|
||||
@ -659,10 +695,11 @@ void print_line_prot()
|
||||
if (status.line_pkg == PKG_SPPP)
|
||||
printf("SPPP Keep-alives:\t%s\n",
|
||||
config.keep_alive ? on : off);
|
||||
}
|
||||
}
|
||||
|
||||
void print_crc_len()
|
||||
{
|
||||
static void
|
||||
print_crc_len(void)
|
||||
{
|
||||
printf("CRC length:\t\t");
|
||||
if (config.crc_len == CFG_CRC_0)
|
||||
printf("no CRC\n");
|
||||
@ -672,10 +709,11 @@ void print_crc_len()
|
||||
printf("32 bits\n");
|
||||
else
|
||||
printf("bad crc_len: %d\n", config.crc_len);
|
||||
}
|
||||
}
|
||||
|
||||
void print_loop_back()
|
||||
{
|
||||
static void
|
||||
print_loop_back(void)
|
||||
{
|
||||
printf("Loopback:\t\t");
|
||||
switch (config.loop_back)
|
||||
{
|
||||
@ -713,10 +751,11 @@ void print_loop_back()
|
||||
printf("unknown loop_back: %d\n", config.loop_back);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_tx_clk_src()
|
||||
{
|
||||
static void
|
||||
print_tx_clk_src(void)
|
||||
{
|
||||
printf("Tx Clk src:\t\t");
|
||||
switch (config.tx_clk_src)
|
||||
{
|
||||
@ -736,10 +775,11 @@ void print_tx_clk_src()
|
||||
printf("unknown tx_clk_src: %d\n", config.tx_clk_src);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_format()
|
||||
{
|
||||
static void
|
||||
print_format(void)
|
||||
{
|
||||
printf("Format-Frame/Code:\t");
|
||||
switch (config.format)
|
||||
{
|
||||
@ -774,10 +814,11 @@ void print_format()
|
||||
printf("unknown format: %d\n", config.format);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_dte_dce()
|
||||
{
|
||||
static void
|
||||
print_dte_dce(void)
|
||||
{
|
||||
printf("DTE or DCE:\t\t");
|
||||
switch(config.dte_dce)
|
||||
{
|
||||
@ -791,10 +832,11 @@ void print_dte_dce()
|
||||
printf("unknown dte_dce: %d\n", config.dte_dce);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_synth_freq()
|
||||
{
|
||||
static void
|
||||
print_synth_freq(void)
|
||||
{
|
||||
double Fref = 20e6;
|
||||
double Fout, Fvco;
|
||||
|
||||
@ -803,10 +845,11 @@ void print_synth_freq()
|
||||
Fout = Fvco / (1<<(config.synth.x+config.synth.r+config.synth.prescale));
|
||||
|
||||
printf("Synth freq:\t\t%.0f\n", Fout);
|
||||
}
|
||||
}
|
||||
|
||||
void synth_freq(unsigned long target)
|
||||
{
|
||||
static void
|
||||
synth_freq(unsigned long target)
|
||||
{
|
||||
unsigned int n, m, v, x, r;
|
||||
double Fout, Fvco, Ftarg;
|
||||
double newdiff, olddiff;
|
||||
@ -849,29 +892,33 @@ void synth_freq(unsigned long target)
|
||||
printf("N=%u, M=%u, V=%u, X=%u, R=%u\n", config.synth.n,
|
||||
config.synth.m, config.synth.v, config.synth.x, config.synth.r);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void print_cable_len()
|
||||
{
|
||||
static void
|
||||
print_cable_len(void)
|
||||
{
|
||||
printf("Cable length:\t\t%d meters\n", config.cable_len);
|
||||
}
|
||||
}
|
||||
|
||||
void print_cable_type()
|
||||
{
|
||||
static void
|
||||
print_cable_type(void)
|
||||
{
|
||||
printf("Cable type:\t\t");
|
||||
if (status.cable_type > 7)
|
||||
printf("unknown cable_type: %d\n", status.cable_type);
|
||||
else
|
||||
printf("%s\n", ssi_cables[status.cable_type]);
|
||||
}
|
||||
}
|
||||
|
||||
void print_time_slots()
|
||||
{
|
||||
static void
|
||||
print_time_slots(void)
|
||||
{
|
||||
printf("TimeSlot [31-0]:\t0x%08X\n", config.time_slots);
|
||||
}
|
||||
}
|
||||
|
||||
void print_scrambler()
|
||||
{
|
||||
static void
|
||||
print_scrambler(void)
|
||||
{
|
||||
printf("Scrambler:\t\t");
|
||||
if (config.scrambler == CFG_SCRAM_OFF)
|
||||
printf("off\n");
|
||||
@ -881,20 +928,22 @@ void print_scrambler()
|
||||
printf("Larse: X^20+X^17+1 w/28ZS\n");
|
||||
else
|
||||
printf("unknown scrambler: %d\n", config.scrambler);
|
||||
}
|
||||
}
|
||||
|
||||
double vga_dbs(u_int8_t vga)
|
||||
{
|
||||
static double
|
||||
vga_dbs(u_int8_t vga)
|
||||
{
|
||||
if (vga < 0x0F) return 0.0;
|
||||
if ((vga >= 0x0F) && (vga <= 0x1B)) return 0.0 + 0.77 * (vga - 0x0F);
|
||||
if ((vga >= 0x1C) && (vga <= 0x33)) return 10.0 + 1.25 * (vga - 0x1C);
|
||||
if ((vga >= 0x34) && (vga <= 0x39)) return 40.0 + 1.67 * (vga - 0x34);
|
||||
if ((vga >= 0x3A) && (vga < 0x3F)) return 50.0 + 2.80 * (vga - 0x3A);
|
||||
return 64.0;
|
||||
}
|
||||
}
|
||||
|
||||
void print_rx_gain()
|
||||
{
|
||||
static void
|
||||
print_rx_gain(void)
|
||||
{
|
||||
printf("Rx gain max:\t\t");
|
||||
|
||||
if (config.rx_gain == CFG_GAIN_AUTO)
|
||||
@ -902,10 +951,11 @@ void print_rx_gain()
|
||||
vga_dbs(read_framer(Bt8370_VGA_MAX) & 0x3F));
|
||||
else
|
||||
printf("up to %02.1f dB\n", vga_dbs(config.rx_gain));
|
||||
}
|
||||
}
|
||||
|
||||
void print_tx_lbo()
|
||||
{
|
||||
static void
|
||||
print_tx_lbo(void)
|
||||
{
|
||||
u_int8_t saved_lbo = config.tx_lbo;
|
||||
|
||||
printf("LBO = ");
|
||||
@ -936,10 +986,11 @@ void print_tx_lbo()
|
||||
|
||||
if (saved_lbo == CFG_LBO_AUTO)
|
||||
config.tx_lbo = saved_lbo;
|
||||
}
|
||||
}
|
||||
|
||||
void print_tx_pulse()
|
||||
{
|
||||
static void
|
||||
print_tx_pulse(void)
|
||||
{
|
||||
u_int8_t saved_pulse = config.tx_pulse;
|
||||
|
||||
printf("Tx pulse shape:\t\t");
|
||||
@ -983,10 +1034,11 @@ void print_tx_pulse()
|
||||
|
||||
if (saved_pulse == CFG_PULSE_AUTO)
|
||||
config.tx_pulse = saved_pulse;
|
||||
}
|
||||
}
|
||||
|
||||
void print_ssi_sigs()
|
||||
{
|
||||
static void
|
||||
print_ssi_sigs(void)
|
||||
{
|
||||
u_int32_t mii16 = status.snmp.ssi.sigs;
|
||||
char *on = "On", *off = "Off";
|
||||
|
||||
@ -1001,10 +1053,11 @@ void print_ssi_sigs()
|
||||
(mii16 & MII16_SSI_LL) ? on : off,
|
||||
(mii16 & MII16_SSI_RL) ? on : off,
|
||||
(mii16 & MII16_SSI_TM) ? on : off);
|
||||
}
|
||||
}
|
||||
|
||||
void print_hssi_sigs()
|
||||
{
|
||||
static void
|
||||
print_hssi_sigs(void)
|
||||
{
|
||||
u_int32_t mii16 = status.snmp.hssi.sigs;
|
||||
char *on = "On", *off = "Off";
|
||||
|
||||
@ -1016,10 +1069,11 @@ void print_hssi_sigs()
|
||||
(mii16 & MII16_HSSI_LB) ? on : off,
|
||||
(mii16 & MII16_HSSI_LC) ? on : off,
|
||||
(mii16 & MII16_HSSI_TM) ? on : off);
|
||||
}
|
||||
}
|
||||
|
||||
void print_events()
|
||||
{
|
||||
static void
|
||||
print_events(void)
|
||||
{
|
||||
char *time;
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
@ -1033,10 +1087,10 @@ void print_events()
|
||||
time = (char *)ctime((time_t *)&status.cntrs.reset_time.tv_sec);
|
||||
printf("Cntrs reset:\t\t%s", time);
|
||||
|
||||
if (status.cntrs.ibytes) printf("Rx bytes:\t\t%qu\n", status.cntrs.ibytes);
|
||||
if (status.cntrs.obytes) printf("Tx bytes:\t\t%qu\n", status.cntrs.obytes);
|
||||
if (status.cntrs.ipackets) printf("Rx packets:\t\t%qu\n", status.cntrs.ipackets);
|
||||
if (status.cntrs.opackets) printf("Tx packets:\t\t%qu\n", status.cntrs.opackets);
|
||||
if (status.cntrs.ibytes) printf("Rx bytes:\t\t%ju\n", (uintmax_t)status.cntrs.ibytes);
|
||||
if (status.cntrs.obytes) printf("Tx bytes:\t\t%ju\n", (uintmax_t)status.cntrs.obytes);
|
||||
if (status.cntrs.ipackets) printf("Rx packets:\t\t%ju\n", (uintmax_t)status.cntrs.ipackets);
|
||||
if (status.cntrs.opackets) printf("Tx packets:\t\t%ju\n", (uintmax_t)status.cntrs.opackets);
|
||||
if (status.cntrs.ierrors) printf("Rx errors:\t\t%u\n", status.cntrs.ierrors);
|
||||
if (status.cntrs.oerrors) printf("Tx errors:\t\t%u\n", status.cntrs.oerrors);
|
||||
if (status.cntrs.idiscards) printf("Rx discards:\t\t%u\n", status.cntrs.idiscards);
|
||||
@ -1061,10 +1115,11 @@ void print_events()
|
||||
if (status.cntrs.lck_ioctl) printf("Lck ioctl:\t\t%u\n", status.cntrs.lck_ioctl);
|
||||
if (status.cntrs.lck_intr) printf("Lck intr:\t\t%u\n", status.cntrs.lck_intr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_summary()
|
||||
{
|
||||
static void
|
||||
print_summary(void)
|
||||
{
|
||||
switch(status.card_type)
|
||||
{
|
||||
case TLP_CSID_HSSI:
|
||||
@ -1157,10 +1212,11 @@ void print_summary()
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char *print_t3_bop(int bop_code)
|
||||
{
|
||||
static char *
|
||||
print_t3_bop(int bop_code)
|
||||
{
|
||||
switch(bop_code)
|
||||
{
|
||||
case 0x00:
|
||||
@ -1180,10 +1236,11 @@ char *print_t3_bop(int bop_code)
|
||||
default:
|
||||
return "Unknown BOP code";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_t3_snmp()
|
||||
{
|
||||
static void
|
||||
print_t3_snmp(void)
|
||||
{
|
||||
printf("SNMP performance data:\n");
|
||||
printf(" LCV=%d", status.snmp.t3.lcv);
|
||||
printf(" LOS=%d", (status.snmp.t3.line & TLINE_LOS) ? 1 : 0);
|
||||
@ -1195,10 +1252,11 @@ void print_t3_snmp()
|
||||
printf(" FEBE=%d", status.snmp.t3.febe);
|
||||
printf(" RAI=%d", (status.snmp.t3.line & TLINE_RX_RAI) ? 1 : 0);
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
void print_t3_dsu()
|
||||
{
|
||||
static void
|
||||
print_t3_dsu(void)
|
||||
{
|
||||
char *no = "No", *yes = "Yes";
|
||||
u_int16_t mii16 = read_mii(16);
|
||||
u_int8_t ctl1 = read_framer(T3CSR_CTL1);
|
||||
@ -1243,10 +1301,11 @@ void print_t3_dsu()
|
||||
read_framer(T3CSR_RX_FEAC) & 0x3F,
|
||||
print_t3_bop(read_framer(T3CSR_RX_FEAC) & 0x3F));
|
||||
print_t3_snmp();
|
||||
}
|
||||
}
|
||||
|
||||
void t3_cmd(int argc, char **argv)
|
||||
{
|
||||
static void
|
||||
t3_cmd(int argc, char **argv)
|
||||
{
|
||||
int ch;
|
||||
|
||||
while ((ch = getopt(argc, argv, "a:A:B:c:de:fF:lLsS:vV:")) != -1)
|
||||
@ -1427,10 +1486,11 @@ void t3_cmd(int argc, char **argv)
|
||||
} /* case */
|
||||
} /* switch */
|
||||
} /* while */
|
||||
} /* proc */
|
||||
} /* proc */
|
||||
|
||||
void print_test_pattern(int patt)
|
||||
{
|
||||
static void
|
||||
print_test_pattern(int patt)
|
||||
{
|
||||
printf("Test Pattern:\t\t");
|
||||
switch (patt)
|
||||
{
|
||||
@ -1483,10 +1543,11 @@ void print_test_pattern(int patt)
|
||||
printf("framed X^23+X^18+1 w/14ZS\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char *print_t1_bop(int bop_code)
|
||||
{
|
||||
static char *
|
||||
print_t1_bop(int bop_code)
|
||||
{
|
||||
switch(bop_code)
|
||||
{
|
||||
case 0x00:
|
||||
@ -1506,10 +1567,11 @@ char *print_t1_bop(int bop_code)
|
||||
default:
|
||||
return "Unknown BOP code";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_far_report(int index)
|
||||
{
|
||||
static void
|
||||
print_far_report(int index)
|
||||
{
|
||||
u_int16_t far = status.snmp.t1.prm[index];
|
||||
|
||||
printf(" SEQ=%d ", (far & T1PRM_SEQ)>>8);
|
||||
@ -1526,10 +1588,11 @@ void print_far_report(int index)
|
||||
printf(" SL=%d", (far & T1PRM_SL) ? 1 : 0);
|
||||
printf(" LB=%d", (far & T1PRM_LB) ? 1 : 0);
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
void print_t1_snmp()
|
||||
{
|
||||
static void
|
||||
print_t1_snmp(void)
|
||||
{
|
||||
printf("SNMP Near-end performance data:\n");
|
||||
printf(" LCV=%d", status.snmp.t1.lcv);
|
||||
printf(" LOS=%d", (status.snmp.t1.line & TLINE_LOS) ? 1 : 0);
|
||||
@ -1548,10 +1611,11 @@ void print_t1_snmp()
|
||||
print_far_report(2);
|
||||
print_far_report(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print_t1_dsu()
|
||||
{
|
||||
static void
|
||||
print_t1_dsu(void)
|
||||
{
|
||||
char *no = "No", *yes = "Yes";
|
||||
u_int16_t mii16 = read_mii(16);
|
||||
u_int8_t isr0 = read_framer(Bt8370_ISR0);
|
||||
@ -1638,10 +1702,11 @@ void print_t1_dsu()
|
||||
read_framer(Bt8370_RBOP), print_t1_bop(read_framer(Bt8370_RBOP)&0x3F));
|
||||
}
|
||||
print_t1_snmp();
|
||||
}
|
||||
}
|
||||
|
||||
void t1_cmd(int argc, char **argv)
|
||||
{
|
||||
static void
|
||||
t1_cmd(int argc, char **argv)
|
||||
{
|
||||
int ch;
|
||||
|
||||
while ((ch = getopt(argc, argv, "a:A:B:c:de:E:fF:g:iIlLpPstT:u:U:vxX")) != -1)
|
||||
@ -1918,11 +1983,12 @@ void t1_cmd(int argc, char **argv)
|
||||
} /* case */
|
||||
} /* switch */
|
||||
} /* while */
|
||||
} /* proc */
|
||||
} /* proc */
|
||||
|
||||
/* used when reading Motorola S-Record format ROM files */
|
||||
unsigned char read_hex(FILE *f)
|
||||
{
|
||||
static unsigned char
|
||||
read_hex(FILE *f)
|
||||
{
|
||||
unsigned char a, b, c;
|
||||
for (a=0, b=0; a<2; a++)
|
||||
{
|
||||
@ -1933,10 +1999,11 @@ unsigned char read_hex(FILE *f)
|
||||
}
|
||||
checksum += b;
|
||||
return b;
|
||||
}
|
||||
}
|
||||
|
||||
static void load_xilinx(char *name)
|
||||
{
|
||||
static void
|
||||
load_xilinx(char *name)
|
||||
{
|
||||
FILE *f;
|
||||
char *ucode;
|
||||
int i, length;
|
||||
@ -2010,11 +2077,12 @@ static void load_xilinx(char *name)
|
||||
}
|
||||
|
||||
load_xilinx_from_file(ucode, length);
|
||||
}
|
||||
}
|
||||
|
||||
/* 32-bit CRC calculated right-to-left over 8-bit bytes */
|
||||
u_int32_t crc32(char *bufp, int len)
|
||||
{
|
||||
static u_int32_t
|
||||
crc32(char *bufp, int len)
|
||||
{
|
||||
int bit, i;
|
||||
u_int32_t data;
|
||||
u_int32_t crc = 0xFFFFFFFFL;
|
||||
@ -2025,11 +2093,12 @@ u_int32_t crc32(char *bufp, int len)
|
||||
crc = (crc >> 1) ^ (((crc ^ data) & 1) ? poly : 0);
|
||||
|
||||
return crc;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8-bit CRC calculated left-to-right over 16-bit words */
|
||||
u_int8_t crc8(u_int16_t *bufp, int len)
|
||||
{
|
||||
static u_int8_t
|
||||
crc8(u_int16_t *bufp, int len)
|
||||
{
|
||||
int bit, i;
|
||||
u_int16_t data;
|
||||
u_int8_t crc = 0xFF;
|
||||
@ -2042,11 +2111,12 @@ u_int8_t crc8(u_int16_t *bufp, int len)
|
||||
crc = (crc << 1) ^ ((((crc >> 7) ^ (data >> bit)) & 1) ? poly : 0);
|
||||
}
|
||||
return crc;
|
||||
}
|
||||
}
|
||||
|
||||
/* HSSI=3, DS3=4, SSI=5, T1E1=6, HSSIc=7, SDSL=8 */
|
||||
void init_srom(int board)
|
||||
{
|
||||
void
|
||||
init_srom(int board)
|
||||
{
|
||||
int i;
|
||||
u_int16_t srom[64];
|
||||
|
||||
@ -2075,10 +2145,11 @@ void init_srom(int board)
|
||||
}
|
||||
printf("\n\n");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int i, error, ch;
|
||||
char *optstring = "13a:bBcCdDeEf:Fhi:L:mM:pP:sS:tT:uUvVwW:xXyYzZ?";
|
||||
|
||||
@ -2481,4 +2552,4 @@ int main(int argc, char **argv)
|
||||
if (update) ioctl_write_config();
|
||||
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user