Update of load and log utility.
New firmware and NT mode for PRI card.
This commit is contained in:
parent
c904a46177
commit
9a59b46886
|
@ -1,4 +1,7 @@
|
||||||
$Id: CHANGES,v 1.5 2000/07/08 14:18:52 armin Exp $
|
$Id: CHANGES,v 1.6 2000/12/02 21:39:42 armin Exp $
|
||||||
|
|
||||||
|
V2.3 - 2000-12-01 - New load features. NT mode for PRI,
|
||||||
|
firmware update.
|
||||||
|
|
||||||
V2.2 - 2000-07-08 - Capable for 2.4 devfs.
|
V2.2 - 2000-07-08 - Capable for 2.4 devfs.
|
||||||
("/dev/isdnctrl" -> "/dev/isdn/isdnctrl")
|
("/dev/isdnctrl" -> "/dev/isdn/isdnctrl")
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Eiconctrl user utility and firmware for supported active ISDN cards
|
Eiconctrl user utility and firmware for supported active ISDN cards
|
||||||
from Eicon Technology.
|
from Eicon Technology.
|
||||||
|
|
||||||
Version 2.2 (c) 2000 Cytronics & Melware
|
Version 2.3 (c) 2000 Cytronics & Melware
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -70,7 +70,8 @@ static char dsp_file_format_identification[DSP_FILE_FORMAT_IDENTIFICATION_SIZE]
|
||||||
'\0','\0','\0','\0','\0','\0','\0','\0'
|
'\0','\0','\0','\0','\0','\0','\0','\0'
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
#define COMBIFILE DATADIR "/dspdload.bin"
|
|
||||||
|
/* #define COMBIFILE DATADIR "/dspdload.bin" */
|
||||||
|
|
||||||
/*These files will contain the binaries wriiten to card*/
|
/*These files will contain the binaries wriiten to card*/
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -101,6 +102,8 @@ dword store_download(char *data, word size, char *store);
|
||||||
int set_alignment_mask(int card_type);
|
int set_alignment_mask(int card_type);
|
||||||
int download(char *block, dword size, int code);
|
int download(char *block, dword size, int code);
|
||||||
|
|
||||||
|
extern char* selected_protocol_code_directory;
|
||||||
|
extern int selected_bri_code_version;
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
* load_combifile() function
|
* load_combifile() function
|
||||||
|
@ -114,7 +117,7 @@ int download(char *block, dword size, int code);
|
||||||
* Parameters: cardtype = Card ordinal as specified in cardtype.h
|
* Parameters: cardtype = Card ordinal as specified in cardtype.h
|
||||||
*--------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
void load_combifile(int card_type, word wFeatures)
|
void load_combifile(int card_type, word wFeatures, int bri_card)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
int count;
|
int count;
|
||||||
|
@ -126,6 +129,16 @@ void load_combifile(int card_type, word wFeatures)
|
||||||
t_dsp_combifile_directory_entry *directory;
|
t_dsp_combifile_directory_entry *directory;
|
||||||
t_dsp_combifile_directory_entry *tmp_directory;
|
t_dsp_combifile_directory_entry *tmp_directory;
|
||||||
dword download_size;
|
dword download_size;
|
||||||
|
char COMBIFILE[1024];
|
||||||
|
|
||||||
|
strcpy (COMBIFILE, selected_protocol_code_directory);
|
||||||
|
strcat (COMBIFILE, "dspdload.bin");
|
||||||
|
if ((bri_card == 1) && (selected_bri_code_version)) {
|
||||||
|
strcpy (COMBIFILE, selected_protocol_code_directory);
|
||||||
|
strcat (COMBIFILE, "dspdload.s6");
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf ("I: DSP FILE:<%s>\n", COMBIFILE);
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
int dsp_fd;
|
int dsp_fd;
|
||||||
|
|
|
@ -53,6 +53,9 @@ int card_id;
|
||||||
|
|
||||||
extern byte new_cards[];
|
extern byte new_cards[];
|
||||||
extern byte cards[];
|
extern byte cards[];
|
||||||
|
extern dword selected_protocol_is_dmlt;
|
||||||
|
extern char* selected_protocol_code_directory;
|
||||||
|
extern int selected_bri_code_version;
|
||||||
|
|
||||||
/*int sprintf(char *,char *,...);*/
|
/*int sprintf(char *,char *,...);*/
|
||||||
void *malloc(size_t);
|
void *malloc(size_t);
|
||||||
|
@ -60,15 +63,18 @@ void *malloc(size_t);
|
||||||
* load the specified buffer containing DSP code onto the Diva card
|
* load the specified buffer containing DSP code onto the Diva card
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void load_combifile(int card_type, word wFeatures);
|
void load_combifile(int card_type, word wFeatures, int bri);
|
||||||
|
|
||||||
int DivaALoad(char *dsp_name, dia_config_t *options, dia_card_t *card, char *msg , int adapter_instance)
|
int DivaALoad (char *dsp_name,
|
||||||
{
|
dia_config_t *options,
|
||||||
|
dia_card_t *card,
|
||||||
|
char *msg , int adapter_instance) {
|
||||||
|
int card_type = -1;
|
||||||
int loadfd; /* Divas file pointer */
|
int loadfd; /* Divas file pointer */
|
||||||
int fd; /* file pointer */
|
int fd; /* file pointer */
|
||||||
struct stat file_info; /* info about file */
|
struct stat file_info; /* info about file */
|
||||||
dia_load_t load; /* information to load */
|
dia_load_t load; /* information to load */
|
||||||
char *microcode_dir = DATADIR "/";
|
char *microcode_dir = selected_protocol_code_directory;
|
||||||
char filename[100];
|
char filename[100];
|
||||||
dia_start_t start;
|
dia_start_t start;
|
||||||
int rc;
|
int rc;
|
||||||
|
@ -99,89 +105,119 @@ int DivaALoad(char *dsp_name, dia_config_t *options, dia_card_t *card, char *msg
|
||||||
return(ERR_ETDD_IOCTL);
|
return(ERR_ETDD_IOCTL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
card_type = cards[options->card_id + 1];
|
||||||
|
#if 0
|
||||||
|
switch (card_type) {
|
||||||
|
case 0: printf ("I: PRI Card\n"); break;
|
||||||
|
case 1: printf ("I: BRI Card\n"); break;
|
||||||
|
case 2: printf ("I: 4BRI Card\n"); break;
|
||||||
|
default:
|
||||||
|
printf ("I: unknown CARD\n");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((cards[options->card_id + 1] == 2) &&
|
|
||||||
(adapter_instance == 4)) // Only on first 4BRI virtual adapter
|
|
||||||
{
|
|
||||||
|
|
||||||
strcpy(filename, microcode_dir);
|
|
||||||
strcat(filename, "/ds4bri.bit");
|
|
||||||
|
|
||||||
if ((fd = open(filename, O_RDONLY, 0)) == -1)
|
if ((cards[options->card_id + 1] == 2) &&
|
||||||
{
|
(adapter_instance == 4)) { // Only on first 4BRI virtual adapter
|
||||||
sprintf(msg,dsp_name);
|
strcpy(filename, microcode_dir);
|
||||||
(void)close(loadfd);
|
strcat(filename, "/ds4bri.bit");
|
||||||
return(ERR_ETDD_DSP);
|
|
||||||
|
if ((fd = open(filename, O_RDONLY, 0)) == -1) {
|
||||||
|
sprintf(msg,dsp_name);
|
||||||
|
(void)close(loadfd);
|
||||||
|
return(ERR_ETDD_DSP);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fstat(fd, &file_info)) {
|
||||||
|
sprintf(msg,dsp_name);
|
||||||
|
(void)close(loadfd);
|
||||||
|
(void)close(fd);
|
||||||
|
return(ERR_ETDD_ACCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file_info.st_size <= 0) {
|
||||||
|
sprintf(msg,"file error (%s)",dsp_name);
|
||||||
|
(void)close(loadfd);
|
||||||
|
(void)close(fd);
|
||||||
|
return(ERR_ETDD_READ);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(load.code = malloc(file_info.st_size))) {
|
||||||
|
(void)close(loadfd);
|
||||||
|
(void)close(fd);
|
||||||
|
return(ERR_ETDD_NOMEM);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (read(fd, load.code, file_info.st_size) != file_info.st_size) {
|
||||||
|
sprintf(msg,"format error, %s", dsp_name);
|
||||||
|
(void)close(loadfd);
|
||||||
|
(void)close(fd);
|
||||||
|
return(ERR_ETDD_READ);
|
||||||
|
}
|
||||||
|
|
||||||
|
load.length = file_info.st_size;
|
||||||
|
load.code_type=DIA_FPGA_CODE;
|
||||||
|
|
||||||
|
|
||||||
|
if ((ioctl(loadfd, DIA_IOCTL_LOAD, &load)) == -1) {
|
||||||
|
fprintf(stderr, "%s LOAD\n", DIVAS_DEVICE);
|
||||||
|
(void)close(loadfd);
|
||||||
|
(void)close(fd);
|
||||||
|
return(ERR_ETDD_IOCTL);
|
||||||
|
}
|
||||||
|
free(load.code);
|
||||||
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fstat(fd, &file_info))
|
/*
|
||||||
{
|
Download protocol code now
|
||||||
sprintf(msg,dsp_name);
|
*/
|
||||||
(void)close(loadfd);
|
|
||||||
(void)close(fd);
|
if (selected_protocol_is_dmlt & (1 << card_type)) {
|
||||||
return(ERR_ETDD_ACCESS);
|
char* p = strstr (dsp_name, ".");
|
||||||
|
strcpy(filename, microcode_dir);
|
||||||
|
strcat(filename, "te_dmlt");
|
||||||
|
strcat(filename, p);
|
||||||
|
if ((fd = open(filename, O_RDONLY, 0)) >= 0) {
|
||||||
|
close (fd);
|
||||||
|
} else {
|
||||||
|
strcpy(filename, microcode_dir);
|
||||||
|
strcat(filename, dsp_name);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
strcpy(filename, microcode_dir);
|
||||||
|
strcat(filename, dsp_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( file_info.st_size <= 0 )
|
/*
|
||||||
{
|
Alternative protocol code for BRI ?
|
||||||
sprintf(msg,"file error (%s)",dsp_name);
|
*/
|
||||||
(void)close(loadfd);
|
if (card_type == 1) {
|
||||||
(void)close(fd);
|
switch (selected_bri_code_version) {
|
||||||
return(ERR_ETDD_READ);
|
case 6:
|
||||||
|
filename[strlen(filename)-1]='6';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(load.code = malloc(file_info.st_size)))
|
// printf ("load %s\n", filename);
|
||||||
{
|
|
||||||
(void)close(loadfd);
|
|
||||||
(void)close(fd);
|
|
||||||
return(ERR_ETDD_NOMEM);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (read(fd, load.code, file_info.st_size) != file_info.st_size)
|
|
||||||
{
|
|
||||||
sprintf(msg,"format error, %s", dsp_name);
|
|
||||||
(void)close(loadfd);
|
|
||||||
(void)close(fd);
|
|
||||||
return(ERR_ETDD_READ);
|
|
||||||
}
|
|
||||||
|
|
||||||
load.length = file_info.st_size;
|
|
||||||
load.code_type=DIA_FPGA_CODE;
|
|
||||||
|
|
||||||
|
|
||||||
if((ioctl(loadfd, DIA_IOCTL_LOAD, &load)) == -1)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s LOAD\n", DIVAS_DEVICE);
|
|
||||||
(void)close(loadfd);
|
|
||||||
(void)close(fd);
|
|
||||||
return(ERR_ETDD_IOCTL);
|
|
||||||
}
|
|
||||||
free(load.code);
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
}
|
|
||||||
/* open file containing DSP code */
|
|
||||||
|
|
||||||
strcpy(filename, microcode_dir);
|
|
||||||
strcat(filename, dsp_name);
|
|
||||||
/* open this DSP binary for reading */
|
/* open this DSP binary for reading */
|
||||||
if ((fd = open(filename, O_RDONLY, 0)) == -1)
|
if ((fd = open(filename, O_RDONLY, 0)) == -1) {
|
||||||
{
|
|
||||||
sprintf(msg,dsp_name);
|
sprintf(msg,dsp_name);
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
return(ERR_ETDD_DSP);
|
return(ERR_ETDD_DSP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fstat(fd, &file_info))
|
if (fstat(fd, &file_info)) {
|
||||||
{
|
|
||||||
sprintf(msg,dsp_name);
|
sprintf(msg,dsp_name);
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
(void)close(fd);
|
(void)close(fd);
|
||||||
return(ERR_ETDD_ACCESS);
|
return(ERR_ETDD_ACCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( file_info.st_size <= 0 )
|
if ( file_info.st_size <= 0 ) {
|
||||||
{
|
|
||||||
sprintf(msg,"file error (%s)",dsp_name);
|
sprintf(msg,"file error (%s)",dsp_name);
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
(void)close(fd);
|
(void)close(fd);
|
||||||
|
@ -189,15 +225,13 @@ int DivaALoad(char *dsp_name, dia_config_t *options, dia_card_t *card, char *msg
|
||||||
}
|
}
|
||||||
|
|
||||||
/* allocate a buffer and read contents of file into buffer */
|
/* allocate a buffer and read contents of file into buffer */
|
||||||
if (!(load.code = malloc(file_info.st_size)))
|
if (!(load.code = malloc(file_info.st_size))) {
|
||||||
{
|
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
(void)close(fd);
|
(void)close(fd);
|
||||||
return(ERR_ETDD_NOMEM);
|
return(ERR_ETDD_NOMEM);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (read(fd, load.code, file_info.st_size) != file_info.st_size)
|
if (read(fd, load.code, file_info.st_size) != file_info.st_size) {
|
||||||
{
|
|
||||||
sprintf(msg,"format error, %s", dsp_name);
|
sprintf(msg,"format error, %s", dsp_name);
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
(void)close(fd);
|
(void)close(fd);
|
||||||
|
@ -213,8 +247,7 @@ int DivaALoad(char *dsp_name, dia_config_t *options, dia_card_t *card, char *msg
|
||||||
load.code_type=DIA_CPU_CODE;
|
load.code_type=DIA_CPU_CODE;
|
||||||
|
|
||||||
/* assign buffers and length and pass ioctl to /dev/Divas */
|
/* assign buffers and length and pass ioctl to /dev/Divas */
|
||||||
if((ioctl(loadfd, DIA_IOCTL_LOAD, &load)) == -1)
|
if((ioctl(loadfd, DIA_IOCTL_LOAD, &load)) == -1) {
|
||||||
{
|
|
||||||
fprintf(stderr, "%s LOAD\n", DIVAS_DEVICE);
|
fprintf(stderr, "%s LOAD\n", DIVAS_DEVICE);
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
(void)close(fd);
|
(void)close(fd);
|
||||||
|
@ -226,48 +259,41 @@ int DivaALoad(char *dsp_name, dia_config_t *options, dia_card_t *card, char *msg
|
||||||
(void) close(fd);
|
(void) close(fd);
|
||||||
(void) close(loadfd);
|
(void) close(loadfd);
|
||||||
|
|
||||||
if (cards[options->card_id + 1] == 0)
|
if (cards[options->card_id + 1] == 0) {
|
||||||
{
|
load_combifile(CARDTYPE_DIVASRV_P_9M_PCI, wFeatures, 0);
|
||||||
load_combifile(CARDTYPE_DIVASRV_P_9M_PCI, wFeatures);
|
} else if (cards[options->card_id + 1] == 1) {
|
||||||
}
|
load_combifile(CARDTYPE_MAESTRA_PCI, wFeatures, 1);
|
||||||
else if (cards[options->card_id + 1] == 1)
|
} else if ((cards[options->card_id + 1] == 2) && (adapter_instance == 1)) {
|
||||||
{
|
/*
|
||||||
load_combifile(CARDTYPE_MAESTRA_PCI, wFeatures);
|
Only on last 4BRI virtual adapter
|
||||||
}
|
*/
|
||||||
else if ((cards[options->card_id + 1] == 2) &&
|
load_combifile(CARDTYPE_DIVASRV_Q_8M_PCI, wFeatures, 0);
|
||||||
(adapter_instance == 1)) // Only on last 4BRI virtual adapter
|
}
|
||||||
{
|
|
||||||
load_combifile(CARDTYPE_DIVASRV_Q_8M_PCI, wFeatures);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* open the Divas device */
|
/* open the Divas device */
|
||||||
if ((loadfd = open(DIVAS_DEVICE_DFS, O_RDONLY, 0)) < 0)
|
if ((loadfd = open(DIVAS_DEVICE_DFS, O_RDONLY, 0)) < 0)
|
||||||
if ((loadfd = open(DIVAS_DEVICE, O_RDONLY, 0)) == -1)
|
if ((loadfd = open(DIVAS_DEVICE, O_RDONLY, 0)) == -1) {
|
||||||
{
|
sprintf(msg,DIVAS_DEVICE);
|
||||||
sprintf(msg,DIVAS_DEVICE);
|
return(ERR_ETDD_OPEN);
|
||||||
return(ERR_ETDD_OPEN);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if((ioctl(loadfd, DIA_IOCTL_CONFIG, options)) == -1)
|
if ((ioctl(loadfd, DIA_IOCTL_CONFIG, options)) == -1) {
|
||||||
{
|
fprintf(stderr, "%s CONFIG\n", DIVAS_DEVICE);
|
||||||
fprintf(stderr, "%s CONFIG\n", DIVAS_DEVICE);
|
(void)close(loadfd);
|
||||||
(void)close(loadfd);
|
return(ERR_ETDD_IOCTL);
|
||||||
return(ERR_ETDD_IOCTL);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* Inform /dev/Divas that loading is finished */
|
/* Inform /dev/Divas that loading is finished */
|
||||||
|
|
||||||
if (adapter_instance == 1) // only do this once
|
if (adapter_instance == 1) { // only do this once
|
||||||
{
|
if((ioctl(loadfd, DIA_IOCTL_START, &start)) == -1) {
|
||||||
if((ioctl(loadfd, DIA_IOCTL_START, &start)) == -1)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s START\n", DIVAS_DEVICE);
|
fprintf(stderr, "%s START\n", DIVAS_DEVICE);
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
return(ERR_ETDD_IOCTL);
|
return(ERR_ETDD_IOCTL);
|
||||||
}
|
}
|
||||||
}//if (adapter_instance == 1)
|
}//if (adapter_instance == 1)
|
||||||
|
|
||||||
(void)close(loadfd);
|
(void)close(loadfd);
|
||||||
|
|
||||||
return(ERR_ETDD_OK);
|
return(ERR_ETDD_OK);
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: eiconctrl.c,v 1.20 2000/07/08 14:18:52 armin Exp $
|
/* $Id: eiconctrl.c,v 1.21 2000/12/02 21:39:42 armin Exp $
|
||||||
*
|
*
|
||||||
* Eicon-ISDN driver for Linux. (Control-Utility)
|
* Eicon-ISDN driver for Linux. (Control-Utility)
|
||||||
*
|
*
|
||||||
|
@ -21,6 +21,10 @@
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Log: eiconctrl.c,v $
|
* $Log: eiconctrl.c,v $
|
||||||
|
* Revision 1.21 2000/12/02 21:39:42 armin
|
||||||
|
* Update of load and log utility.
|
||||||
|
* New firmware and NT mode for PRI card.
|
||||||
|
*
|
||||||
* Revision 1.20 2000/07/08 14:18:52 armin
|
* Revision 1.20 2000/07/08 14:18:52 armin
|
||||||
* Changes for devfs.
|
* Changes for devfs.
|
||||||
*
|
*
|
||||||
|
@ -211,7 +215,7 @@ char *spid_state[] =
|
||||||
__u16 xlog(FILE * stream,void * buffer);
|
__u16 xlog(FILE * stream,void * buffer);
|
||||||
|
|
||||||
void eiconctrl_usage() {
|
void eiconctrl_usage() {
|
||||||
fprintf(stderr,"Eiconctrl Utility Version 2.2 (c) 2000 Cytronics & Melware\n");
|
fprintf(stderr,"Eiconctrl Utility Version 2.3 (c) 2000 Cytronics & Melware\n");
|
||||||
fprintf(stderr,"usage: %s add <DriverID> <membase> <irq> (add card)\n",cmd);
|
fprintf(stderr,"usage: %s add <DriverID> <membase> <irq> (add card)\n",cmd);
|
||||||
fprintf(stderr," or: %s [-d <DriverID>] membase [membase-addr] (get/set memaddr)\n",cmd);
|
fprintf(stderr," or: %s [-d <DriverID>] membase [membase-addr] (get/set memaddr)\n",cmd);
|
||||||
fprintf(stderr," or: %s [-d <DriverID>] irq [irq-nr] (get/set irq)\n",cmd);
|
fprintf(stderr," or: %s [-d <DriverID>] irq [irq-nr] (get/set irq)\n",cmd);
|
||||||
|
@ -239,7 +243,7 @@ void eiconctrl_usage() {
|
||||||
fprintf(stderr," : -o allow disordered info elements\n");
|
fprintf(stderr," : -o allow disordered info elements\n");
|
||||||
fprintf(stderr," : -z switch to loopback mode\n");
|
fprintf(stderr," : -z switch to loopback mode\n");
|
||||||
#ifndef HAVE_NPCI
|
#ifndef HAVE_NPCI
|
||||||
fprintf(stderr,"Please use '%s divaload -h' for divaload options.\n", cmd);
|
fprintf(stderr,"Please use 'divaload' for DIVA Server options.\n");
|
||||||
#endif
|
#endif
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
@ -1013,7 +1017,7 @@ void eicon_manage_draw(void)
|
||||||
(man_ent[i].status &0x02) ? 'e' : '-',
|
(man_ent[i].status &0x02) ? 'e' : '-',
|
||||||
(man_ent[i].status &0x04) ? 'p' : '-');
|
(man_ent[i].status &0x04) ? 'p' : '-');
|
||||||
}
|
}
|
||||||
sprintf(MLine, "%-17s %s %-55s",
|
sprintf(MLine, "%-17s %s %-56s",
|
||||||
man_ent[i].Name,
|
man_ent[i].Name,
|
||||||
AttSt,
|
AttSt,
|
||||||
man_ent[i].Var);
|
man_ent[i].Var);
|
||||||
|
@ -1139,6 +1143,12 @@ void eicon_management(void)
|
||||||
case 27:
|
case 27:
|
||||||
case 'q':
|
case 'q':
|
||||||
case 'Q':
|
case 'Q':
|
||||||
|
move(22,0);
|
||||||
|
refresh();
|
||||||
|
endwin();
|
||||||
|
|
||||||
|
close(fd);
|
||||||
|
exit(0);
|
||||||
break;
|
break;
|
||||||
case KEY_UP:
|
case KEY_UP:
|
||||||
if (h_line) {
|
if (h_line) {
|
||||||
|
@ -2211,7 +2221,7 @@ int main(int argc, char **argv) {
|
||||||
endwin();
|
endwin();
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
return 0;
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "unknown command\n");
|
fprintf(stderr, "unknown command\n");
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
.\" $Id: eiconctrl.man.in,v 1.11 2000/07/08 14:18:52 armin Exp $
|
.\" $Id: eiconctrl.man.in,v 1.12 2000/12/02 21:39:42 armin Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" CHECKIN $Date: 2000/07/08 14:18:52 $
|
.\" CHECKIN $Date: 2000/12/02 21:39:42 $
|
||||||
.\"
|
.\"
|
||||||
.\" Process this file with
|
.\" Process this file with
|
||||||
.\" groff -man -Tascii eiconctrl.1 for ASCII output, or
|
.\" groff -man -Tascii eiconctrl.1 for ASCII output, or
|
||||||
.\" groff -man -Tps eiconctrl.1 for PostScript output
|
.\" groff -man -Tps eiconctrl.1 for PostScript output
|
||||||
.\"
|
.\"
|
||||||
.TH EICONCTRL 8 "@MANDATE@" eiconctrl-V2.2 "Linux System Administration"
|
.TH EICONCTRL 8 "@MANDATE@" eiconctrl-V2.3 "Linux System Administration"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
eiconctrl \- configure Eicon active ISDN card
|
eiconctrl \- configure Eicon active ISDN card
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -146,6 +146,8 @@ automatically.
|
||||||
.TP
|
.TP
|
||||||
.BI "PRI"
|
.BI "PRI"
|
||||||
When using PRI-PtP set -n -S2
|
When using PRI-PtP set -n -S2
|
||||||
|
.br
|
||||||
|
Use option -x to set NT mode.
|
||||||
.TP
|
.TP
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue