- quick and dirty Call-History in "-m" Mode (press "h" for more info) added
- eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !! - Support for tesion)) Baden-Wuerttemberg Tarif - more Providers - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de> - better zone-info support in "tools/isdnconf.c" - buffer-overrun in "isdntools.c" fixed - big Austrian Patch from Michael Reinelt <reinelt@eunet.at> - added $(DESTDIR) in any "Makefile.in" - new Configure-Switches "ISDN_AT" and "ISDN_DE" - splitted "takt.c" and "tools.c" into "takt_at.c" / "takt_de.c" ... "tools_at.c" / "takt_de.c" ... - new feature CALLFILE = /var/log/caller.log CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6 in "isdn.conf" - ATTENTION: 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?) 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS" should be fixed soon
This commit is contained in:
parent
6875ee5978
commit
31048f5b41
|
@ -175,15 +175,15 @@ enew:
|
|||
# Install output files
|
||||
install: all
|
||||
if [ $(TARGET_DIR) != $(GEN_DIR) ]; then \
|
||||
$(INSTALL) -m 0755 -d $(TARGET_DIR); \
|
||||
$(INSTALL) -m 0644 `find $(GEN_DIR) -maxdepth 1 -type f` $(TARGET_DIR); \
|
||||
$(INSTALL) -m 0755 -d $(DESTDIR)$(TARGET_DIR); \
|
||||
$(INSTALL) -m 0644 `find $(GEN_DIR) -maxdepth 1 -type f` $(DESTDIR)$(TARGET_DIR); \
|
||||
fi
|
||||
|
||||
# Un-install output files
|
||||
uninstall:
|
||||
set -e; \
|
||||
if [ $(TARGET_DIR) != $(GEN_DIR) ]; then \
|
||||
cd $(TARGET_DIR); \
|
||||
cd $(DESTDIR)$(TARGET_DIR); \
|
||||
for i in $(OUT_7BIT) $(OUT_HTML) $(OUT_ENG_7BIT) $(OUT_ENG_HTML) ; do \
|
||||
rm -f $$i $$i.zip $$i.gz ; \
|
||||
done; \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.3 1997/10/26 22:52:56 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.4 1998/09/26 18:27:29 akool Exp $
|
||||
#
|
||||
# Makefile for actctrl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -46,21 +46,21 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install-man: $(PROGRAM).man
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install-data: firmware/$(FIRMWARE)
|
||||
mkdir -p $(DATADIR)
|
||||
$(INSTALL_DATA) $< $(DATADIR)/$(FIRMWARE)
|
||||
mkdir -p $(DESTDIR)$(DATADIR)
|
||||
$(INSTALL_DATA) $< $(DESTDIR)$(DATADIR)/$(FIRMWARE)
|
||||
|
||||
install: $(PROGRAM) install-man install-data
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE) $(DATADIR)/$(FIRMWARE)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE) $(DESTDIR)$(DATADIR)/$(FIRMWARE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -37,9 +37,9 @@ install-man:
|
|||
|
||||
install: all
|
||||
ifeq ($(CONFIG_LIB_AREACODE),y)
|
||||
mkdir -p $(CONFIG_DATADIR)
|
||||
mkdir -p $(DESTDIR)$(CONFIG_DATADIR)
|
||||
$(MAKE) -f make/linux.mak $(INSTALLOPTS) install
|
||||
endif
|
||||
|
||||
uninstall:
|
||||
rm -f $(shell echo $(CONFIG_DATADIR))/areacodes
|
||||
rm -f $(shell echo $(DESTDIR)$(CONFIG_DATADIR))/areacodes
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.5 1997/10/26 22:55:25 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.6 1998/09/26 18:27:40 akool Exp $
|
||||
#
|
||||
# Makefile for avmcapictrl
|
||||
# (C) 1997 Carsten Paeth
|
||||
|
@ -42,23 +42,23 @@ avmcapictrl: $(MODULES)
|
|||
$(CC) $(CFLAGS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install: $(PROGRAMS) $(MANPAGES)
|
||||
mkdir -p $(SBINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROGRAMS) $(SBINDIR)
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(MAN8DIR)
|
||||
mkdir -p $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(SBINDIR)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(DESTDIR)$(MAN8DIR)
|
||||
|
||||
install-strip: $(PROGRAMS) $(MANPAGES)
|
||||
mkdir -p $(SBINDIR)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAMS) $(SBINDIR)
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(MAN8DIR)
|
||||
mkdir -p $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAMS) $(DESTDIR)$(SBINDIR)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(DESTDIR)$(MAN8DIR)
|
||||
|
||||
uninstall:
|
||||
@for i in `echo $(PROGRAMS)` ; do \
|
||||
rm -f $(SBINDIR)/$$i ; \
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$$i ; \
|
||||
done
|
||||
@for i in `echo $(MANPAGES)` ; do \
|
||||
rm -f $(MAN8DIR)/$$i ; \
|
||||
rm -f $(DESTDIR)$(MAN8DIR)/$$i ; \
|
||||
done
|
||||
|
||||
clean:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.1 1998/06/12 11:11:42 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.2 1998/09/26 18:27:45 akool Exp $
|
||||
#
|
||||
# Makefile for diehlctrl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -48,23 +48,23 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install-data:
|
||||
mkdir -p $(DATADIR)
|
||||
#$(INSTALL_DATA) firmware/loadpg.bin $(DATADIR)/loadpg.bin
|
||||
#$(INSTALL_DATA) firmware/pc_eu_ca.bin $(DATADIR)/pc_eu_ca.bin
|
||||
#$(INSTALL_DATA) firmware/pc_1t_ca.bin $(DATADIR)/pc_1t_ca.bin
|
||||
mkdir -p $(DESTDIR)$(DATADIR)
|
||||
#$(INSTALL_DATA) firmware/loadpg.bin $(DESTDIR)$(DATADIR)/loadpg.bin
|
||||
#$(INSTALL_DATA) firmware/pc_eu_ca.bin $(DESTDIR)$(DATADIR)/pc_eu_ca.bin
|
||||
#$(INSTALL_DATA) firmware/pc_1t_ca.bin $(DESTDIR)$(DATADIR)/pc_1t_ca.bin
|
||||
|
||||
install-man: $(PROGRAM).man
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install: $(PROGRAM) install-man install-data
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.7 1997/10/26 22:58:46 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.8 1998/09/26 18:27:50 akool Exp $
|
||||
#
|
||||
# Makefile for ISDN manpages
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -38,7 +38,7 @@ config.status: configure
|
|||
install: $(MANPAGES) Makefile
|
||||
@for i in $(MANPAGES) ; do \
|
||||
MANSECT=`echo $$i | cut -d. -f2` ;\
|
||||
DEST=$(MANDIR)/man$$MANSECT ;\
|
||||
DEST=$(DESTDIR)$(MANDIR)/man$$MANSECT ;\
|
||||
mkdir -p $$DEST ;\
|
||||
$(INSTALL_MAN) $$i $$DEST/$$i ;\
|
||||
done
|
||||
|
@ -46,7 +46,7 @@ install: $(MANPAGES) Makefile
|
|||
uninstall: Makefile
|
||||
for i in $(MANPAGES) ; do \
|
||||
MANSECT=`echo $$i | cut -d. -f2` ;\
|
||||
DEST=$(MANDIR)/man$$MANSECT ;\
|
||||
DEST=$(DESTDIR)$(MANDIR)/man$$MANSECT ;\
|
||||
rm -f $$DEST/$$i ;\
|
||||
done
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.7 1997/10/26 23:00:24 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.8 1998/09/26 18:27:55 akool Exp $
|
||||
#
|
||||
# Makefile for icnctrl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -48,23 +48,23 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install-data:
|
||||
mkdir -p $(DATADIR)
|
||||
$(INSTALL_DATA) firmware/loadpg.bin $(DATADIR)/loadpg.bin
|
||||
$(INSTALL_DATA) firmware/pc_eu_ca.bin $(DATADIR)/pc_eu_ca.bin
|
||||
$(INSTALL_DATA) firmware/pc_1t_ca.bin $(DATADIR)/pc_1t_ca.bin
|
||||
mkdir -p $(DESTDIR)$(DATADIR)
|
||||
$(INSTALL_DATA) firmware/loadpg.bin $(DESTDIR)$(DATADIR)/loadpg.bin
|
||||
$(INSTALL_DATA) firmware/pc_eu_ca.bin $(DESTDIR)$(DATADIR)/pc_eu_ca.bin
|
||||
$(INSTALL_DATA) firmware/pc_1t_ca.bin $(DESTDIR)$(DATADIR)/pc_1t_ca.bin
|
||||
|
||||
install-man: $(PROGRAM).man
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install: $(PROGRAM) install-man install-data
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.4 1997/10/26 23:02:52 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.5 1998/09/26 18:28:00 akool Exp $
|
||||
#
|
||||
# Makefile for iMON
|
||||
#
|
||||
|
@ -50,17 +50,17 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install-man: imon.man
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install: $(PROGRAM) install-man
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#
|
||||
# (c) 1995-97 Volker Götz
|
||||
#
|
||||
# $Id: Makefile,v 1.2 1997/04/03 08:56:54 fritz Exp $
|
||||
# $Id: Makefile,v 1.3 1998/09/26 18:28:06 akool Exp $
|
||||
|
||||
ifeq (../.config,$(wildcard ../.config))
|
||||
#
|
||||
|
@ -38,10 +38,10 @@ rootperm:
|
|||
fi
|
||||
|
||||
install: $(PROGS) rootperm
|
||||
install -s -o 0 -g 0 -m 0755 $(PROGS) $(CONFIG_SBINDIR)
|
||||
install -s -o 0 -g 0 -m 0755 $(PROGS) $(DESTDIR)$(CONFIG_SBINDIR)
|
||||
|
||||
uninstall: rootperm
|
||||
for i in $(PROGS) ; do rm -f $(CONFIG_SBINDIR)/$$i; done
|
||||
for i in $(PROGS) ; do rm -f $(DESTDIR)$(CONFIG_SBINDIR)/$$i; done
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGS) *~
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# ipppd makefile for Linux
|
||||
# $Id: Makefile.in,v 1.10 1998/06/27 00:36:08 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.11 1998/09/26 18:28:10 akool Exp $
|
||||
#
|
||||
|
||||
HAVE_LIBDES := @HAVE_LIBDES@
|
||||
|
@ -48,22 +48,22 @@ all: ipppd
|
|||
install-man: $(MANPAGES)
|
||||
for i in $(MANPAGES) ; do \
|
||||
MANSECT=`echo $$i | cut -d. -f2` ;\
|
||||
$(INSTALL_DIR) $(MANDIR)/man$$MANSECT ;\
|
||||
$(INSTALL_DATA) $$i $(MANDIR)/man$$MANSECT/$$i ;\
|
||||
$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/man$$MANSECT ;\
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(MANDIR)/man$$MANSECT/$$i ;\
|
||||
done
|
||||
|
||||
uninstall-man:
|
||||
for i in $(MANPAGES) ; do \
|
||||
MANSECT=`echo $$i | cut -d. -f2` ;\
|
||||
rm -f $(MANDIR)/man$$MANSECT/$$i ;\
|
||||
rm -f $(DESTDIR)$(MANDIR)/man$$MANSECT/$$i ;\
|
||||
done
|
||||
|
||||
uninstall: uninstall-man
|
||||
rm -f $(SBINDIR)/ipppd
|
||||
rm -f $(DESTDIR)$(SBINDIR)/ipppd
|
||||
|
||||
install: ipppd install-man
|
||||
$(INSTALL_DIR) $(SBINDIR)
|
||||
$(INSTALL_SBIN) ipppd $(SBINDIR)/ipppd
|
||||
$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_SBIN) ipppd $(DESTDIR)$(SBINDIR)/ipppd
|
||||
|
||||
ifeq (.depend,$(wildcard .depend))
|
||||
include .depend
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# pppstats makefile
|
||||
# $Id: Makefile.in,v 1.3 1998/03/15 22:36:39 tsbogend Exp $
|
||||
# $Id: Makefile.in,v 1.4 1998/09/26 18:28:15 akool Exp $
|
||||
#
|
||||
SBINDIR = @CONFIG_SBINDIR@
|
||||
MANDIR = @CONFIG_MANDIR@
|
||||
|
@ -18,13 +18,13 @@ CFLAGS = -fomit-frame-pointer -O2 -I@CONFIG_KERNELDIR@/include
|
|||
all: ipppstats
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/ipppstats $(MANDIR)/man8/ipppstats.8
|
||||
rm -f $(DESTDIR)$(SBINDIR)/ipppstats $(DESTDIR)$(MANDIR)/man8/ipppstats.8
|
||||
|
||||
install: ipppstats ipppstats.man
|
||||
$(INSTALL_DIR) $(SBINDIR)
|
||||
$(INSTALL_DIR) $(MANDIR)/man8
|
||||
$(INSTALL_SBIN) ipppstats $(SBINDIR)/ipppstats
|
||||
$(INSTALL_DATA) ipppstats.man $(MANDIR)/man8/ipppstats.8
|
||||
$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/man8
|
||||
$(INSTALL_SBIN) ipppstats $(DESTDIR)$(SBINDIR)/ipppstats
|
||||
$(INSTALL_DATA) ipppstats.man $(DESTDIR)$(MANDIR)/man8/ipppstats.8
|
||||
|
||||
ipppstats: Makefile $(PPPSTATSRCS)
|
||||
$(CC) $(CFLAGS) -o ipppstats ipppstats.c
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.3 1997/10/26 23:10:42 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.4 1998/09/26 18:28:21 akool Exp $
|
||||
#
|
||||
# Makefile for iprofd
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -42,17 +42,17 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install-man: iprofd.man
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install: $(PROGRAM) install-man
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE)
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.10 1998/03/16 09:40:51 cal Exp $
|
||||
# $Id: Makefile.in,v 1.11 1998/09/26 18:28:25 akool Exp $
|
||||
#
|
||||
# Makefile for isdnctrl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -64,20 +64,20 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $(MODULES) $(LDFLAGS) -o $@
|
||||
|
||||
install-man: $(MANPAGES)
|
||||
$(INSTALL) -d $(MAN8DIR)
|
||||
$(INSTALL_MAN) $^ $(MAN8DIR)
|
||||
$(INSTALL) -d $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $^ $(DESTDIR)$(MAN8DIR)
|
||||
|
||||
install: $(PROGRAM) install-man
|
||||
$(INSTALL) -d $(SBINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL) -d $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL) -d $(SBINDIR)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL) -d $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM)
|
||||
for i in $(MANPAGES) ; do rm $(MAN8DIR)/$$i ; done
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
for i in $(MANPAGES) ; do rm $(DESTDIR)$(MAN8DIR)/$$i ; done
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM) *.man *.8 .*.man .*.8
|
||||
|
|
|
@ -19,6 +19,7 @@ if [ "$CONFIG_ISDNLOG_MYSQLDB" = "y" ]; then
|
|||
fi
|
||||
choice 'Country specific chargeinfo support' \
|
||||
"DE CONFIG_ISDN_LOG_DE \
|
||||
AT CONFIG_ISDN_LOG_AT \
|
||||
NL CONFIG_ISDN_LOG_NL \
|
||||
CH CONFIG_ISDN_LOG_CH" DE
|
||||
endmenu
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
## $Id: Makefile.in,v 1.40 1998/06/14 15:33:42 akool Exp $
|
||||
## $Id: Makefile.in,v 1.41 1998/09/26 18:28:32 akool Exp $
|
||||
##
|
||||
## ISDN accounting for isdn4linux.
|
||||
##
|
||||
|
@ -19,6 +19,29 @@
|
|||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
## $Log: Makefile.in,v $
|
||||
## Revision 1.41 1998/09/26 18:28:32 akool
|
||||
## - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
## - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
## - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
## - more Providers
|
||||
## - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
## - better zone-info support in "tools/isdnconf.c"
|
||||
## - buffer-overrun in "isdntools.c" fixed
|
||||
## - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
## - added $(DESTDIR) in any "Makefile.in"
|
||||
## - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
## - splitted "takt.c" and "tools.c" into
|
||||
## "takt_at.c" / "takt_de.c" ...
|
||||
## "tools_at.c" / "takt_de.c" ...
|
||||
## - new feature
|
||||
## CALLFILE = /var/log/caller.log
|
||||
## CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
## in "isdn.conf"
|
||||
## - ATTENTION:
|
||||
## 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
## 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
## should be fixed soon
|
||||
##
|
||||
## Revision 1.40 1998/06/14 15:33:42 akool
|
||||
## AVM B1 support (Layer 3)
|
||||
## Telekom's new currency DEM 0,121 supported
|
||||
|
@ -265,6 +288,8 @@ USERFILE := @USERFILE@
|
|||
DEFS :=
|
||||
SUBDIRS :=
|
||||
|
||||
NATION := @NATION@
|
||||
|
||||
export LOGFILE := @LOGFILE@
|
||||
export COUNTRYCODE := @COUNTRYCODE@
|
||||
export COUNTRYPREFIX := @COUNTRYPREFIX@
|
||||
|
@ -297,7 +322,7 @@ endif
|
|||
|
||||
CC = $(_CC)
|
||||
|
||||
INCLUDE = -I./connect -I./tools -I$(PREFIXDIR) -I$(LIBISDNDIR) -I@CONFIG_KERNELDIR@/include
|
||||
INCLUDE = -I./isdnlog -I./connect -I./tools -I$(PREFIXDIR) -I$(LIBISDNDIR) -I@CONFIG_KERNELDIR@/include
|
||||
|
||||
LIB = $(DBMLIB)
|
||||
|
||||
|
@ -311,7 +336,7 @@ SERVICEFILE = /etc/services
|
|||
# DON'T EDIT BELOW THIS LINE
|
||||
######################################################################
|
||||
|
||||
VERSION = 2.99.30
|
||||
VERSION = 2.99.31
|
||||
|
||||
ifeq ($(POSTGRES),1)
|
||||
DEFS += -DPOSTGRES
|
||||
|
@ -333,6 +358,7 @@ endif
|
|||
DEFS += \
|
||||
-DVERSION=\"$(VERSION)\" \
|
||||
-DI4LVERSION=\"$(I4LVERSION)\" \
|
||||
-DISDN_DE=1 \
|
||||
$(INCLUDE)
|
||||
|
||||
%.o: %.c
|
||||
|
@ -342,7 +368,8 @@ ISDNLOG_OBJS = isdnlog/isdnlog.o isdnlog/processor.o isdnlog/functions.o \
|
|||
isdnlog/server.o isdnlog/start_prog.o isdnlog/messages.o \
|
||||
connect/connect.o connect/socket.o tools/tools.o \
|
||||
connect/conv_address.o isdnlog/user_access.o \
|
||||
isdnrep/cheap.o isdnrep/gebuehr.o tools/isdnconf.o isdnlog/takt.o \
|
||||
isdnrep/cheap.o isdnrep/gebuehr.o tools/isdnconf.o \
|
||||
tools/tools_$(NATION).o isdnlog/takt_$(NATION).o \
|
||||
$(LIBISDNDIR)/libisdn.a
|
||||
|
||||
|
||||
|
@ -361,9 +388,11 @@ endif
|
|||
ISDNREP_OBJS = isdnrep/rep_main.o isdnrep/cheap.o tools/tools.o \
|
||||
tools/isdnconf.o isdnlog/messages.o isdnrep/isdnrep.o \
|
||||
isdnrep/gebuehr.o \
|
||||
tools/tools_$(NATION).o \
|
||||
$(LIBISDNDIR)/libisdn.a
|
||||
|
||||
ISDNCONF_OBJS= isdnconf/isdnconf.o tools/tools.o tools/isdnconf.o \
|
||||
tools/tools_$(NATION).o \
|
||||
$(LIBISDNDIR)/libisdn.a
|
||||
|
||||
ISDNLOG = bin/isdnlog
|
||||
|
@ -404,31 +433,35 @@ rootperm:
|
|||
|
||||
uninstall: rootperm
|
||||
if ps -x | fgrep $(ISDNLOG) >/dev/null; then kill `cat $(RUNDIR)/isdnlog.pid` 2>/dev/null; fi
|
||||
rm -f $(SBINDIR)/$(ISDNLOG) $(BINDIR)/$(ISDNREP) $(BINDIR)/$(ISDNCONF)
|
||||
rm -f $(MAN8DIR)/isdnlog.8 $(MAN1DIR)/isdnrep.1
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(ISDNLOG) $(DESTDIR)$(BINDIR)/$(ISDNREP) $(DESTDIR)$(BINDIR)/$(ISDNCONF)
|
||||
rm -f $(DESTDIR)$(MAN8DIR)/isdnlog.8 $(DESTDIR)$(MAN1DIR)/isdnrep.1
|
||||
|
||||
installdirs: rootperm
|
||||
$(INSTALL_DIR) $(I4LCONFDIR)
|
||||
$(INSTALL_DIR) $(BINDIR)
|
||||
$(INSTALL_DIR) $(SBINDIR)
|
||||
# $(INSTALL_DIR) $(MAN1DIR)
|
||||
# $(INSTALL_DIR) $(MAN8DIR)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(I4LCONFDIR)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(MAN1DIR)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(MAN8DIR)
|
||||
|
||||
install: all rootperm installdirs
|
||||
@echo "Killing running isdnlog!"
|
||||
-@if ps -x | fgrep $(ISDNLOG) >/dev/null; then kill `cat $(RUNDIR)/isdnlog.pid 2>/dev/null`; fi
|
||||
-@test ! -d $(OLDCONFDIR) || cp -auv $(OLDCONFDIR)/$(USERFILE) $(I4LCONFDIR)
|
||||
-@test ! -d $(OLDCONFDIR) || (cp -auv $(OLDCONFDIR)/$(OLDCONFFILE) $(I4LCONFDIR) \
|
||||
-@test ! -d $(DESTDIR)$(OLDCONFDIR) || cp -auv $(DESTDIR)$(OLDCONFDIR)/$(USERFILE) $(DESTDIR)$(I4LCONFDIR)
|
||||
-@test ! -d $(DESTDIR)$(OLDCONFDIR) || (cp -auv $(DESTDIR)$(OLDCONFDIR)/$(OLDCONFFILE) $(DESTDIR)$(I4LCONFDIR) \
|
||||
&& $(ISDNREP) 1>/dev/null 2>&1) \
|
||||
&& mv $(I4LCONFDIR)/$(OLDCONFFILE) $(I4LCONFDIR)/$(OLDCONFFILE).old
|
||||
$(GENCONF) $(I4LCONFDIR)/$(CONFFILE) $(I4LCONFDIR)/$(CALLERIDFILE)
|
||||
&& mv $(DESTDIR)$(I4LCONFDIR)/$(OLDCONFFILE) $(DESTDIR)$(I4LCONFDIR)/$(OLDCONFFILE).old
|
||||
@if [ -n "$(DESTDIR)" ]; then
|
||||
$(GENCONF) $(DESTDIR)$(I4LCONFDIR)/$(CONFFILE).new $(DESTDIR)$(I4LCONFDIR)/$(CALLERIDFILE).new
|
||||
else
|
||||
$(GENCONF) $(DESTDIR)$(I4LCONFDIR)/$(CONFFILE) $(DESTDIR)$(I4LCONFDIR)/$(CALLERIDFILE)
|
||||
fi
|
||||
@echo "Generate config files. Wait a moment..."
|
||||
-@$(ISDNCONF) -c 040 1>/dev/null 2>&1 || echo "Can not read areacode/avon lib."
|
||||
$(INSTALL_BIN) $(ISDNLOG) $(SBINDIR)
|
||||
$(INSTALL_BIN) $(ISDNREP) $(BINDIR)
|
||||
$(INSTALL_BIN) $(ISDNCONF) $(BINDIR)
|
||||
# $(INSTALL_DATA) isdnlog/isdnlog.8 $(MAN8DIR)
|
||||
# $(INSTALL_DATA) isdnrep/isdnrep.1 $(MAN1DIR)
|
||||
$(INSTALL_BIN) $(ISDNLOG) $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_BIN) $(ISDNREP) $(DESTDIR)$(BINDIR)
|
||||
$(INSTALL_BIN) $(ISDNCONF) $(DESTDIR)$(BINDIR)
|
||||
$(INSTALL_DATA) isdnlog/isdnlog.8 $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_DATA) isdnrep/isdnrep.1 $(DESTDIR)$(MAN1DIR)
|
||||
@echo ""
|
||||
@echo "Don't forget to create $(I4LCONFDIR)/$(USERFILE)"
|
||||
@echo ""
|
||||
|
|
|
@ -380,6 +380,7 @@ und die ueber das Menue konfiguriert werden:
|
|||
|
||||
-DISDN_NL - Gebuehrenauswertung Niederlande (anstelle Deutschland)
|
||||
-DISDN_CH - Gebuehrenauswertung Schweiz (anstelle Deutschland)
|
||||
-DISDN_AT - Gebuehrenauswertung Oesterreich (anstelle Deutschland)
|
||||
|
||||
I4LCONFDIR (/etc/isdn)
|
||||
Wo liegen die "isdn.conf" sowie die "avon" (falls verwendet!)
|
||||
|
|
|
@ -134,21 +134,21 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
|||
|
||||
install-dataDATA: $(data_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(datadir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
@list='$(data_DATA)'; for p in $$list; do \
|
||||
if test -f $(srcdir)/$$p; then \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(datadir)/$$p; \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p; \
|
||||
else if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(datadir)/$$p; \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p; \
|
||||
fi; fi; \
|
||||
done
|
||||
|
||||
uninstall-dataDATA:
|
||||
$(NORMAL_UNINSTALL)
|
||||
list='$(data_DATA)'; for p in $$list; do \
|
||||
rm -f $(datadir)/$$p; \
|
||||
rm -f $(DESTDIR)$(datadir)/$$p; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
@ -225,13 +225,13 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
|||
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(appsdir)
|
||||
$(INSTALL_DATA) kisdnlog.xpm $(kde_icondir)/kisdnlog.xpm
|
||||
$(INSTALL_DATA) isdnlog.xpm $(kde_datadir)/kisdnlog/isdnlog.xpm
|
||||
$(mkinstalldirs) $(DESTDIR)$(appsdir)
|
||||
$(INSTALL_DATA) kisdnlog.xpm $(DESTDIR)$(kde_icondir)/kisdnlog.xpm
|
||||
$(INSTALL_DATA) isdnlog.xpm $(DESTDIR)$(kde_datadir)/kisdnlog/isdnlog.xpm
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(kde_icondir)/kisdnlog.xpm
|
||||
rm -f $(kde_datadir)/kisdnlog/isdnlog.xpm
|
||||
rm -f $(DESTDIR)$(kde_icondir)/kisdnlog.xpm
|
||||
rm -f $(DESTDIR)$(kde_datadir)/kisdnlog/isdnlog.xpm
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
|
|
@ -3,10 +3,10 @@ data_DATA = isdnlog.xpm
|
|||
datadir = $(prefix)/share/apps/@PACKAGE@/pics
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(appsdir)
|
||||
$(INSTALL_DATA) @PACKAGE@.xpm $(kde_icondir)/@PACKAGE@.xpm
|
||||
$(INSTALL_DATA) isdnlog.xpm $(kde_datadir)/@PACKAGE@/isdnlog.xpm
|
||||
$(mkinstalldirs) $(DESTDIR)$(appsdir)
|
||||
$(INSTALL_DATA) @PACKAGE@.xpm $(DESTDIR)$(kde_icondir)/@PACKAGE@.xpm
|
||||
$(INSTALL_DATA) isdnlog.xpm $(DESTDIR)$(kde_datadir)/@PACKAGE@/isdnlog.xpm
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(kde_icondir)/@PACKAGE@.xpm
|
||||
rm -f $(kde_datadir)/@PACKAGE@/isdnlog.xpm
|
||||
rm -f $(DESTDIR)$(kde_icondir)/@PACKAGE@.xpm
|
||||
rm -f $(DESTDIR)$(kde_datadir)/@PACKAGE@/isdnlog.xpm
|
||||
|
|
|
@ -134,21 +134,21 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
|||
|
||||
install-dataDATA: $(data_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(datadir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
@list='$(data_DATA)'; for p in $$list; do \
|
||||
if test -f $(srcdir)/$$p; then \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(datadir)/$$p; \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p; \
|
||||
else if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(datadir)/$$p; \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p; \
|
||||
fi; fi; \
|
||||
done
|
||||
|
||||
uninstall-dataDATA:
|
||||
$(NORMAL_UNINSTALL)
|
||||
list='$(data_DATA)'; for p in $$list; do \
|
||||
rm -f $(datadir)/$$p; \
|
||||
rm -f $(DESTDIR)$(datadir)/$$p; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
@ -190,7 +190,7 @@ all: Makefile $(DATA)
|
|||
install-strip:
|
||||
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(datadir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(datadir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
|
|
@ -380,12 +380,12 @@ messages:
|
|||
# don't install a list of file. Just one file per install.
|
||||
# if you have more of them, create a subdirectory with an extra Makefile
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(APPSDIR)
|
||||
$(INSTALL_DATA) Kisdnlog.kdelnk $(APPSDIR)
|
||||
$(mkinstalldirs) $(DESTDIR)$(APPSDIR)
|
||||
$(INSTALL_DATA) Kisdnlog.kdelnk $(DESTDIR)$(APPSDIR)
|
||||
|
||||
# remove ALL you have installed in install-data-local or install-exec-local
|
||||
uninstall-local:
|
||||
-rm -f $(APPSDIR)/Kisdnlog.kdelnk
|
||||
-rm -f $(DESTDIR)$(APPSDIR)/Kisdnlog.kdelnk
|
||||
|
||||
# add a dependency for every moc file to be full portable
|
||||
# I've added a key binding to emacs for this.
|
||||
|
|
|
@ -49,12 +49,12 @@ messages:
|
|||
# don't install a list of file. Just one file per install.
|
||||
# if you have more of them, create a subdirectory with an extra Makefile
|
||||
install-data-local:
|
||||
$(mkinstalldirs) $(APPSDIR)
|
||||
$(INSTALL_DATA) Kisdnlog.kdelnk $(APPSDIR)
|
||||
$(mkinstalldirs) $(DESTDIR)$(APPSDIR)
|
||||
$(INSTALL_DATA) Kisdnlog.kdelnk $(DESTDIR)$(APPSDIR)
|
||||
|
||||
# remove ALL you have installed in install-data-local or install-exec-local
|
||||
uninstall-local:
|
||||
-rm -f $(APPSDIR)/Kisdnlog.kdelnk
|
||||
-rm -f $(DESTDIR)$(APPSDIR)/Kisdnlog.kdelnk
|
||||
|
||||
# add a dependency for every moc file to be full portable
|
||||
# I've added a key binding to emacs for this.
|
||||
|
|
|
@ -204,18 +204,18 @@ maintainer-clean-binPROGRAMS:
|
|||
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(bindir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
|
||||
$(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
|
||||
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
$(NORMAL_UNINSTALL)
|
||||
list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
|
||||
done
|
||||
|
||||
.c.o:
|
||||
|
|
|
@ -633,13 +633,29 @@ cat >> confdefs.h <<EOF
|
|||
#define REBOOTCMD "$REBOOTCMD"
|
||||
EOF
|
||||
|
||||
if test "$CONFIG_ISDN_LOG_DE" = "y" ; then
|
||||
NATION="de"
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define ISDN_DE 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
if test "$CONFIG_ISDN_LOG_AT" = "y" ; then
|
||||
NATION="at"
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define ISDN_AT 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
if test "$CONFIG_ISDN_LOG_CH" = "y" ; then
|
||||
NATION="ch"
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define ISDN_CH 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
if test "$CONFIG_ISDN_LOG_NL" = "y" ; then
|
||||
NATION="nl"
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define ISDN_NL 1
|
||||
EOF
|
||||
|
@ -2415,6 +2431,7 @@ s%@COUNTRYCODE@%$COUNTRYCODE%g
|
|||
s%@COUNTRYPREFIX@%$COUNTRYPREFIX%g
|
||||
s%@AREACODE@%$AREACODE%g
|
||||
s%@AREAPREFIX@%$AREAPREFIX%g
|
||||
s%@NATION@%$NATION%g
|
||||
|
||||
CEOF
|
||||
EOF
|
||||
|
|
|
@ -75,10 +75,20 @@ AC_DEFINE_UNQUOTED(CHARGEFILE,"$CHARGEFILE")
|
|||
AC_DEFINE_UNQUOTED(RELOADCMD,"$RELOADCMD")
|
||||
AC_DEFINE_UNQUOTED(STOPCMD,"$STOPCMD")
|
||||
AC_DEFINE_UNQUOTED(REBOOTCMD,"$REBOOTCMD")
|
||||
if test "$CONFIG_ISDN_LOG_DE" = "y" ; then
|
||||
NATION="de"
|
||||
AC_DEFINE(ISDN_DE,1)
|
||||
fi
|
||||
if test "$CONFIG_ISDNLOG_AT" = "y" ; then
|
||||
NATION="at"
|
||||
AC_DEFINE(ISDN_AT,1)
|
||||
fi
|
||||
if test "$CONFIG_ISDN_LOG_CH" = "y" ; then
|
||||
NATION="ch"
|
||||
AC_DEFINE(ISDN_CH,1)
|
||||
fi
|
||||
if test "$CONFIG_ISDN_LOG_NL" = "y" ; then
|
||||
NATION="nl"
|
||||
AC_DEFINE(ISDN_NL,1)
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: isdnlog.c,v 1.21 1998/06/21 11:52:46 akool Exp $
|
||||
/* $Id: isdnlog.c,v 1.22 1998/09/26 18:29:07 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (log-module)
|
||||
*
|
||||
|
@ -19,6 +19,29 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
*
|
||||
* $Log: isdnlog.c,v $
|
||||
* Revision 1.22 1998/09/26 18:29:07 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.21 1998/06/21 11:52:46 akool
|
||||
* First step to let isdnlog generate his own AOCD messages
|
||||
*
|
||||
|
@ -121,6 +144,7 @@
|
|||
#define _ISDNLOG_C_
|
||||
|
||||
#include <linux/limits.h>
|
||||
#include <termio.h>
|
||||
|
||||
#include "isdnlog.h"
|
||||
#ifdef POSTGRES
|
||||
|
@ -317,6 +341,9 @@ static void loop(void)
|
|||
(void)morectrl(0);
|
||||
else if (X_FD_ISSET(sockets[ISDNCTRL2].descriptor, &readmask))
|
||||
(void)morectrl(1);
|
||||
else if (X_FD_ISSET(sockets[STDIN].descriptor, &readmask))
|
||||
(void)morekbd();
|
||||
|
||||
} /* else */
|
||||
} /* while */
|
||||
} /* loop */
|
||||
|
@ -796,6 +823,28 @@ static void restoreCharge()
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
void raw_mode(int state)
|
||||
{
|
||||
static struct termio newterminfo, oldterminfo;
|
||||
|
||||
|
||||
if (state) {
|
||||
ioctl(fileno(stdin), TCGETA, &oldterminfo);
|
||||
newterminfo = oldterminfo;
|
||||
|
||||
newterminfo.c_iflag &= ~(INLCR | ICRNL | IUCLC | ISTRIP);
|
||||
newterminfo.c_lflag &= ~(ICANON | ECHO);
|
||||
newterminfo.c_cc[VMIN] = 1;
|
||||
newterminfo.c_cc[VTIME] = 1;
|
||||
|
||||
ioctl(fileno(stdin), TCSETAF, &newterminfo);
|
||||
}
|
||||
else
|
||||
ioctl(fileno(stdin), TCSETA, &oldterminfo);
|
||||
} /* raw_mode */
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
int main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
register char *p;
|
||||
|
@ -862,7 +911,8 @@ int main(int argc, char *argv[], char *envp[])
|
|||
|
||||
if (add_socket(&sockets, -1) || /* reserviert fuer isdnctrl */
|
||||
add_socket(&sockets, -1) || /* reserviert fuer isdnctrl2 */
|
||||
add_socket(&sockets, -1) ) /* reserviert fuer isdninfo */
|
||||
add_socket(&sockets, -1) || /* reserviert fuer isdninfo */
|
||||
add_socket(&sockets, -1) ) /* reserviert fuer stdin */
|
||||
Exit(19);
|
||||
|
||||
if (replay) {
|
||||
|
@ -982,6 +1032,11 @@ int main(int argc, char *argv[], char *envp[])
|
|||
|
||||
if (replay || ((sockets[ISDNINFO].descriptor = open(INFO, O_RDONLY | O_NONBLOCK)) >= 0)) {
|
||||
|
||||
if (!isdaemon) {
|
||||
raw_mode(1);
|
||||
sockets[STDIN].descriptor = dup(fileno(stdin));
|
||||
} /* if */
|
||||
|
||||
now();
|
||||
|
||||
#ifdef Q931
|
||||
|
@ -1028,6 +1083,11 @@ int main(int argc, char *argv[], char *envp[])
|
|||
close(sockets[ISDNCTRL].descriptor);
|
||||
if (*isdnctrl2)
|
||||
close(sockets[ISDNCTRL2].descriptor);
|
||||
|
||||
if (!isdaemon) {
|
||||
raw_mode(0);
|
||||
close(sockets[STDIN].descriptor);
|
||||
} /* if */
|
||||
}
|
||||
else {
|
||||
print_msg(PRT_ERR, msg1, myshortname, isdnctrl, strerror(errno));
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: isdnlog.h,v 1.9 1998/06/21 11:52:47 akool Exp $
|
||||
/* $Id: isdnlog.h,v 1.10 1998/09/26 18:29:10 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux.
|
||||
*
|
||||
|
@ -20,6 +20,29 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: isdnlog.h,v $
|
||||
* Revision 1.10 1998/09/26 18:29:10 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.9 1998/06/21 11:52:47 akool
|
||||
* First step to let isdnlog generate his own AOCD messages
|
||||
*
|
||||
|
@ -151,9 +174,10 @@
|
|||
#define ISDNCTRL 0
|
||||
#define ISDNCTRL2 1
|
||||
#define ISDNINFO 2
|
||||
#define IN_PORT 3
|
||||
#define STDIN 3
|
||||
#define IN_PORT 4
|
||||
|
||||
#define FIRST_DESCR 3
|
||||
#define FIRST_DESCR 4
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
|
@ -300,6 +324,7 @@ _EXTERN IO io[ISDN_MAX_CHANNELS];
|
|||
_EXTERN void dotrace(void);
|
||||
_EXTERN int morectrl(int card);
|
||||
_EXTERN void moreinfo(void);
|
||||
_EXTERN void morekbd(void);
|
||||
_EXTERN void processcint(void);
|
||||
_EXTERN void processrate(void);
|
||||
_EXTERN void clearchan(int chan, int total);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: processor.c,v 1.24 1998/09/22 20:59:15 luethje Exp $
|
||||
/* $Id: processor.c,v 1.25 1998/09/26 18:29:15 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (log-module)
|
||||
*
|
||||
|
@ -19,6 +19,29 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: processor.c,v $
|
||||
* Revision 1.25 1998/09/26 18:29:15 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.24 1998/09/22 20:59:15 luethje
|
||||
* isdnrep: -fixed wrong provider report
|
||||
* -fixed wrong html output for provider report
|
||||
|
@ -352,7 +375,9 @@
|
|||
|
||||
|
||||
extern double cheap96(time_t when, int zone, int *zeit);
|
||||
static int HiSax = 0, hexSeen = 0;
|
||||
extern double taktlaenge(int chan, char *description);
|
||||
|
||||
static int HiSax = 0, hexSeen = 0, uid = -1;
|
||||
static char *asnp, *asnm;
|
||||
#ifdef Q931
|
||||
static int lfd = 0;
|
||||
|
@ -554,6 +579,7 @@ static void buildnumber(char *num, int oc3, int oc3a, char *result, int version,
|
|||
strcpy(n, num);
|
||||
strcpy(result, "");
|
||||
|
||||
#ifdef ISDN_DE
|
||||
if (!memcmp(num, "010", 3)) { /* Provider */
|
||||
char c = num[5];
|
||||
num[5] = 0;
|
||||
|
@ -570,6 +596,7 @@ static void buildnumber(char *num, int oc3, int oc3a, char *result, int version,
|
|||
} /* if */
|
||||
#endif
|
||||
} /* if */
|
||||
#endif
|
||||
|
||||
if ((*sondernummer = is_sondernummer(num)) == -1)
|
||||
|
||||
|
@ -1820,7 +1847,7 @@ static void decode(int chan, register char *p, int type, int version)
|
|||
|
||||
break;
|
||||
|
||||
#if !defined(ISDN_NL) && !defined(ISDN_CH)
|
||||
#ifdef ISDN_DE
|
||||
case 0x28 : /* DISPLAY ... z.b. Makelweg, AOC-E ... */
|
||||
#ifdef Q931
|
||||
if (q931dmp) {
|
||||
|
@ -1881,15 +1908,15 @@ static void decode(int chan, register char *p, int type, int version)
|
|||
; /* info(chan, PRT_SHOWAOCD, STATE_AOCD, asnm); */
|
||||
#if 0
|
||||
else if (!memcmp(call[chan].provider, "01019", 5) ||
|
||||
!memcmp(call[chan].provider, "01070", 5)) {
|
||||
|
||||
!memcmp(call[chan].provider, "01070", 5)) {
|
||||
|
||||
if (type != FACILITY) { /* "AOC-E" Meldung */
|
||||
if (!memcmp(call[chan].provider, "01019", 5)) { /* Mobilcom */
|
||||
tx = cur_time - call[chan].connect;
|
||||
|
||||
|
||||
call[chan].aoce = (int)((tx + 59) / 60);
|
||||
call[chan].pay = call[chan].aoce * 0.19;
|
||||
|
||||
|
||||
if (tx)
|
||||
sprintf(s, "%s %s (%s)",
|
||||
currency,
|
||||
|
@ -1899,7 +1926,7 @@ static void decode(int chan, register char *p, int type, int version)
|
|||
sprintf(s, "%s %s",
|
||||
currency,
|
||||
double2str(call[chan].pay, 6, 2, DEB));
|
||||
|
||||
|
||||
info(chan, PRT_SHOWAOCD, STATE_AOCD, s);
|
||||
} /* if */
|
||||
} /* if */
|
||||
|
@ -2317,6 +2344,13 @@ static void decode(int chan, register char *p, int type, int version)
|
|||
|
||||
call[chan].screening = (oc3a & 3);
|
||||
|
||||
#ifdef ISDN_AT
|
||||
/* in Österreich wird + als 00 signalisiert */
|
||||
if ((oc3 & 0x10) && s[0]=='0' && s[1]=='0') {
|
||||
s[0]='+';
|
||||
memmove (s+1, s+2, strlen(s+1));
|
||||
}
|
||||
#endif
|
||||
strcpy(call[chan].onum[CALLING], s);
|
||||
buildnumber(s, oc3, oc3a, call[chan].num[CALLING], version, &call[chan].provider, &call[chan].sondernummer);
|
||||
|
||||
|
@ -2334,6 +2368,18 @@ static void decode(int chan, register char *p, int type, int version)
|
|||
Q931dump(TYPE_STRING, -2, s, version);
|
||||
} /* if */
|
||||
#endif
|
||||
/* Fixme: what is short for 'Calling Party Number'? */
|
||||
sprintf(s1, "CPN %s", call[chan].num[CALLING]);
|
||||
info(chan, PRT_SHOWNUMBERS, STATE_RING, s1);
|
||||
|
||||
if (callfile && call[chan].dialin) {
|
||||
FILE *cl = fopen (callfile, "a");
|
||||
if (cl != NULL) {
|
||||
iprintf (s1, chan, callfmt);
|
||||
fprintf (cl, "%s\n", s1);
|
||||
fclose (cl);
|
||||
}
|
||||
}
|
||||
|
||||
if (warn) {
|
||||
sprintf(s1, "CLIP %s", call[chan].vnum[CLIP]);
|
||||
|
@ -3167,7 +3213,7 @@ static void huptime(int chan, int bchan)
|
|||
register int c = call[chan].confentry[OTHER];
|
||||
auto isdn_net_ioctl_cfg cfg;
|
||||
auto int oldchargeint = 0, newchargeint = 0;
|
||||
auto int oldhuptimeout, newhuptimeout, zeit;
|
||||
auto int oldhuptimeout, newhuptimeout;
|
||||
auto char sx[BUFSIZ], why[BUFSIZ];
|
||||
|
||||
|
||||
|
@ -3185,13 +3231,12 @@ static void huptime(int chan, int bchan)
|
|||
if (!oldhuptimeout) {
|
||||
sprintf(sx, "HUPTIMEOUT %s is *disabled* - unchanged", known[c]->interface);
|
||||
info(chan, PRT_SHOWNUMBERS, STATE_HUPTIMEOUT, sx);
|
||||
return;
|
||||
return;
|
||||
} /* if */
|
||||
|
||||
newchargeint = (int)cheap96(cur_time, known[c]->zone, &zeit);
|
||||
|
||||
sprintf(why, "%s, %s", z2s(known[c]->zone), t2tz(zeit));
|
||||
newchargeint = taktlaenge(chan, why);
|
||||
|
||||
#ifdef ISDN_DE
|
||||
if (call[chan].provider == 19) { /* Mobilcom 60/60 Takt */
|
||||
newchargeint = 60;
|
||||
sprintf(why, "via %s", Providername(call[chan].provider));
|
||||
|
@ -3216,6 +3261,7 @@ static void huptime(int chan, int bchan)
|
|||
newchargeint = 1;
|
||||
sprintf(why, "via %s", Providername(call[chan].provider));
|
||||
} /* else */
|
||||
#endif
|
||||
|
||||
#if NET_DV >= NETDV_CHARGEINT
|
||||
if (net_dv >= NETDV_CHARGEINT) {
|
||||
|
@ -3248,13 +3294,11 @@ static void huptime(int chan, int bchan)
|
|||
|
||||
info(chan, PRT_INFO, STATE_HUPTIMEOUT, sx);
|
||||
|
||||
if (oldhuptimeout != newhuptimeout) {
|
||||
sprintf(sx, "HUPTIMEOUT %s %d (was %d)",
|
||||
known[c]->interface, newhuptimeout, oldhuptimeout);
|
||||
|
||||
info(chan, PRT_INFO, STATE_HUPTIMEOUT, sx);
|
||||
} /* if */
|
||||
} /* if */
|
||||
}
|
||||
else {
|
||||
sprintf(sx, "CHARGEINT %s still %d - %s", known[c]->interface,
|
||||
|
@ -3475,7 +3519,7 @@ static void processinfo(char *s)
|
|||
#else
|
||||
int my_net_dv = 0;
|
||||
#endif
|
||||
|
||||
|
||||
tty_dv = version & 0xff;
|
||||
version = version >> 8;
|
||||
net_dv = version & 0xff;
|
||||
|
@ -3680,8 +3724,11 @@ static void how_expensive(int chan)
|
|||
|
||||
if (call[chan].sondernummer != -1) {
|
||||
switch (SN[call[chan].sondernummer].tarif) {
|
||||
case -1 : if (!strcmp(call[chan].num[1] + 3, "11833")) /* Sonderbedingung Auskunft Inland */
|
||||
case -1 :
|
||||
#ifdef ISDN_DE
|
||||
if (!strcmp(call[chan].num[1] + 3, "11833")) /* Sonderbedingung Auskunft Inland */
|
||||
dur -= 30;
|
||||
#endif
|
||||
pay2 = SN[call[chan].sondernummer].grund1 * currency_factor;
|
||||
pay2 += (dur / SN[call[chan].sondernummer].takt1) * currency_factor;
|
||||
break;
|
||||
|
@ -3720,7 +3767,7 @@ static void how_expensive(int chan)
|
|||
call[chan].pay = call[chan].aoce * currency_factor;
|
||||
else {
|
||||
if (zone > 0) {
|
||||
|
||||
#ifdef ISDN_DE
|
||||
if (zone == 1)
|
||||
pro2 = 33; /* CityCall :: Telekom */
|
||||
else if (zone == 2)
|
||||
|
@ -3780,9 +3827,11 @@ static void how_expensive(int chan)
|
|||
info(chan, PRT_SHOWHANGUP, STATE_HANGUP, sx);
|
||||
} /* if */
|
||||
} /* if */
|
||||
#endif
|
||||
} /* if */
|
||||
} /* else */
|
||||
|
||||
#ifdef ISDN_DE
|
||||
if ((dur > 600) && (zone > 1) && ((call[chan].aoce > 0) || (pro == 33))) {
|
||||
onesec = call[chan].pay / dur;
|
||||
pay2 = (dur - 600) * onesec * 0.30;
|
||||
|
@ -3796,6 +3845,7 @@ static void how_expensive(int chan)
|
|||
|
||||
info(chan, PRT_SHOWHANGUP, STATE_HANGUP, sx);
|
||||
} /* if */
|
||||
#endif
|
||||
}
|
||||
else
|
||||
call[chan].pay = pay2;
|
||||
|
@ -3803,6 +3853,109 @@ static void how_expensive(int chan)
|
|||
} /* how_expensive */
|
||||
|
||||
|
||||
static void dumpme()
|
||||
{
|
||||
register int chan;
|
||||
auto char s[BUFSIZ];
|
||||
|
||||
|
||||
for (chan = 0; chan < MAXCHAN; chan++) {
|
||||
sprintf(s, "^CHAN[%d]: %s -> %s\n",
|
||||
chan,
|
||||
call[chan].vnum[0],
|
||||
call[chan].vnum[1]);
|
||||
|
||||
print_msg(PRT_SHOWNUMBERS, "%s", s);
|
||||
} /* for */
|
||||
} /* dumpme */
|
||||
|
||||
|
||||
/* mode :: 0 = Add new entry, 1 = change existing entry, 2 = Terminate entry, 3 = dump */
|
||||
static void addlist(int chan, int type, int mode)
|
||||
{
|
||||
|
||||
#define MAXLIST 1000
|
||||
|
||||
typedef struct {
|
||||
int state;
|
||||
char *vnum[2];
|
||||
int si;
|
||||
time_t connect;
|
||||
time_t disconnect;
|
||||
int cause;
|
||||
int uid;
|
||||
} LIST;
|
||||
|
||||
static LIST list[MAXLIST];
|
||||
static int lp = -1;
|
||||
register int i;
|
||||
register char *p;
|
||||
auto struct tm *tm;
|
||||
auto char s[BUFSIZ], s1[BUFSIZ];
|
||||
|
||||
|
||||
if (((chan == -1) || call[chan].dialin)) {
|
||||
if (mode == 0) {
|
||||
|
||||
if (++lp == MAXLIST)
|
||||
lp = 0;
|
||||
|
||||
list[lp].state = SETUP;
|
||||
list[lp].vnum[0] = strdup(call[chan].vnum[CALLING]);
|
||||
list[lp].vnum[1] = strdup(call[chan].vnum[CALLED]);
|
||||
list[lp].si = call[chan].si1;
|
||||
list[lp].connect = call[chan].connect;
|
||||
list[lp].uid = call[chan].uid;
|
||||
}
|
||||
else if ((mode == 1) || (mode == 2)) {
|
||||
for (i = lp; i >= 0; i--) {
|
||||
if (call[chan].uid == list[i].uid) {
|
||||
switch (mode) {
|
||||
case 1 : list[i].state = CONNECT;
|
||||
break;
|
||||
|
||||
case 2 : list[i].cause = call[chan].cause;
|
||||
list[i].state = RELEASE;
|
||||
list[i].disconnect = call[chan].disconnect;
|
||||
break;
|
||||
} /* switch */
|
||||
|
||||
break;
|
||||
} /* if */
|
||||
} /* if */
|
||||
}
|
||||
else if (mode == 3) {
|
||||
for (i = 0; i <= lp; i++) {
|
||||
tm = localtime(&list[i].connect);
|
||||
strftime(s1, 64, "%a %b %d %X", tm);
|
||||
|
||||
if (!list[i].disconnect)
|
||||
list[i].disconnect = cur_time;
|
||||
|
||||
switch (list[i].si) {
|
||||
case 1 : p = "Speech"; break;
|
||||
case 2 : p = "Fax G3"; break;
|
||||
case 3 : p = "Data"; break;
|
||||
case 4 : p = "Fax G4"; break;
|
||||
case 7 : p = "Data"; break;
|
||||
default : p = ""; break;
|
||||
} /* switch */
|
||||
|
||||
sprintf(s, "%s %s(%s) -> %s %ds %s",
|
||||
s1,
|
||||
list[i].vnum[0],
|
||||
p,
|
||||
list[i].vnum[1],
|
||||
(int)(list[i].disconnect - list[i].connect),
|
||||
qmsg(TYPE_CAUSE, VERSION_EDSS1, list[i].cause));
|
||||
|
||||
print_msg(PRT_SHOWNUMBERS, "%s\n", s);
|
||||
} /* for */
|
||||
} /* else */
|
||||
} /* if */
|
||||
} /* addlist */
|
||||
|
||||
|
||||
static void processctrl(int card, char *s)
|
||||
{
|
||||
register char *ps = s, *p;
|
||||
|
@ -4103,6 +4256,7 @@ static void processctrl(int card, char *s)
|
|||
call[chan].dialin = dialin;
|
||||
call[chan].tei = tei;
|
||||
call[chan].card = card;
|
||||
call[chan].uid = ++uid;
|
||||
decode(chan, ps, type, version);
|
||||
|
||||
if (call[chan].channel) { /* Aha, Kanal war dabei, dann nehmen wir den gleich */
|
||||
|
@ -4129,6 +4283,8 @@ static void processctrl(int card, char *s)
|
|||
call[chan].dialin ? " IN" : "OUT",
|
||||
net ? "NET" : "USR");
|
||||
|
||||
addlist(chan, type, 0);
|
||||
|
||||
goto endhex;
|
||||
} /* if SETUP */
|
||||
|
||||
|
@ -4165,6 +4321,8 @@ static void processctrl(int card, char *s)
|
|||
|
||||
decode(chan, ps, type, version);
|
||||
|
||||
/* dumpme(); */
|
||||
|
||||
if (call[chan].channel) { /* jetzt muesste einer da sein */
|
||||
|
||||
chan = call[chan].channel - 1;
|
||||
|
@ -4172,6 +4330,7 @@ static void processctrl(int card, char *s)
|
|||
/* nicht --channel, channel muss unveraendert bleiben! */
|
||||
memcpy((char *)&call[chan], (char *)&call[5], sizeof(CALL));
|
||||
Change_Channel(5, chan);
|
||||
addlist(chan, type, 1);
|
||||
clearchan(5, 1);
|
||||
}
|
||||
else
|
||||
|
@ -4277,8 +4436,6 @@ static void processctrl(int card, char *s)
|
|||
|
||||
if (!call[chan].dialin) {
|
||||
auto char s[BUFSIZ], sx[BUFSIZ];
|
||||
extern float taktlaenge(int chan, char *description);
|
||||
|
||||
|
||||
if ((call[chan].cint = taktlaenge(chan, s)) > 1) {
|
||||
call[chan].cinth = hour;
|
||||
|
@ -4309,6 +4466,7 @@ doppelt:break;
|
|||
wegchan = (call[2].state) ? 3 : 2;
|
||||
memcpy((char *)&call[wegchan], (char *)&call[chan], sizeof(CALL));
|
||||
Change_Channel(chan, wegchan);
|
||||
addlist(wegchan, type, 1);
|
||||
clearchan(chan, 1);
|
||||
call[wegchan].state = MAKEL_ACKNOWLEDGE;
|
||||
info(wegchan, PRT_SHOWHANGUP, STATE_HANGUP, "MAKEL");
|
||||
|
@ -4320,6 +4478,7 @@ doppelt:break;
|
|||
call[call[chan].channel - 1].channel = chan; /* den alten merken */
|
||||
Change_Channel(chan, call[chan].channel - 1);
|
||||
chan = call[chan].channel - 1; /* chan setzen */
|
||||
addlist(chan, type, 1);
|
||||
clearchan(call[chan].channel, 1);
|
||||
call[chan].channel = chan + 1; /* in Ordnung bringen */
|
||||
call[chan].state = CONNECT;
|
||||
|
@ -4365,6 +4524,7 @@ doppelt:break;
|
|||
memcpy((char *)&call[4], (char *)&call[chan], sizeof(CALL));
|
||||
Change_Channel(chan, 4);
|
||||
chan = 4;
|
||||
addlist(chan, type, 1);
|
||||
call[chan].tei = tei;
|
||||
call[chan].card = card;
|
||||
} /* if */
|
||||
|
@ -4415,6 +4575,8 @@ doppelt:break;
|
|||
#endif
|
||||
logger(chan);
|
||||
|
||||
addlist(chan, type, 2);
|
||||
|
||||
if (call[chan].dialog || any) {
|
||||
if (call[chan].ibytes + call[chan].obytes) {
|
||||
sprintf(s2, " I=%s O=%s",
|
||||
|
@ -4461,6 +4623,7 @@ doppelt:break;
|
|||
|
||||
info(chan, PRT_SHOWHANGUP, STATE_HANGUP, sx);
|
||||
|
||||
if (chargemax != 0.0) {
|
||||
if (!call[chan].dialin && ((c = call[chan].confentry[OTHER]) > -1)) {
|
||||
sprintf(sx, "CHARGEMAX total=%s %s today=%s %s remaining=%s %s",
|
||||
currency,
|
||||
|
@ -4470,6 +4633,7 @@ doppelt:break;
|
|||
currency,
|
||||
double2str((chargemax - known[c]->charge), 6, 2, DEB));
|
||||
info(chan, PRT_SHOWCHARGEMAX, STATE_HANGUP, sx);
|
||||
}
|
||||
|
||||
if (connectmax != 0.0) {
|
||||
if (connectmaxmode == 1)
|
||||
|
@ -4701,14 +4865,65 @@ void moreinfo()
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
void morekbd()
|
||||
{
|
||||
auto char s[BIGBUFSIZ * 2];
|
||||
auto char *ps = s;
|
||||
auto int n, chan;
|
||||
|
||||
|
||||
if ((n = read(sockets[STDIN].descriptor, ps, BIGBUFSIZ)) > 0) {
|
||||
ps += n;
|
||||
|
||||
*ps = 0;
|
||||
|
||||
switch (*s) {
|
||||
case 'l' : print_msg(PRT_SHOWNUMBERS, "Recent caller's:\n");
|
||||
addlist(-1, SETUP, 3);
|
||||
break;
|
||||
|
||||
case 'h' : print_msg(PRT_SHOWNUMBERS, "\n\t*** s)tatus, l)ist, u)p, d)own ***\n");
|
||||
break;
|
||||
|
||||
case 'u' : /* huptime(0, 0); */
|
||||
break;
|
||||
|
||||
case 'd' : /* huptime(0, 0); */
|
||||
break;
|
||||
|
||||
case 's' : now();
|
||||
|
||||
print_msg(PRT_SHOWNUMBERS, "\n\t*** %s\n", stl);
|
||||
|
||||
for (chan = 0; chan < MAXCHAN; chan++) {
|
||||
if (call[chan].bchan == -1)
|
||||
sprintf(s, "\t*** BCHAN#%d : FREE ***\n", chan + 1);
|
||||
else {
|
||||
sprintf(s, "\t*** BCHAN#%d : %d %s %s %s ***\n",
|
||||
chan + 1,
|
||||
call[chan].bchan,
|
||||
call[chan].vnum[0],
|
||||
call[chan].dialin ? "<-" : "->",
|
||||
call[chan].vnum[1]);
|
||||
} /* else */
|
||||
|
||||
print_msg(PRT_SHOWNUMBERS, "%s", s);
|
||||
} /* for */
|
||||
break;
|
||||
} /* switch */
|
||||
|
||||
} /* if */
|
||||
} /* morekbd */
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
void processcint()
|
||||
{
|
||||
register int chan;
|
||||
auto char s[BUFSIZ], sx[BUFSIZ];
|
||||
auto float newcint;
|
||||
auto double newcint;
|
||||
auto double exp;
|
||||
auto int dur;
|
||||
extern float taktlaenge(int chan, char *description);
|
||||
extern double pay(time_t ts, int dauer, int tarifz, int pro);
|
||||
|
||||
|
||||
|
@ -4718,19 +4933,14 @@ void processcint()
|
|||
|
||||
dur = cur_time - call[chan].connect;
|
||||
|
||||
if ((call[chan].cinth != hour) && ((hour == 5) ||
|
||||
(hour == 9) ||
|
||||
(hour == 12) ||
|
||||
(hour == 18) ||
|
||||
(hour == 21) ||
|
||||
(hour == 2))) { /* Moeglicherweise Taktwechsel */
|
||||
if (call[chan].cinth != hour) { /* Moeglicherweise Taktwechsel */
|
||||
|
||||
newcint = taktlaenge(chan, s);
|
||||
|
||||
if (newcint != call[chan].cint) {
|
||||
call[chan].cint = newcint;
|
||||
|
||||
sprintf(sx, "NEXT CHARGEINT %sIN %s (%s)", (newcint == call[chan].cint) ? "STILL " : "", double2clock((double)call[chan].cint), s);
|
||||
sprintf(sx, "NEXT CHARGEINT IN %s (%s)", double2clock((double)call[chan].cint), s);
|
||||
info(chan, PRT_SHOWCONNECT, STATE_CONNECT, sx);
|
||||
}
|
||||
} /* if */
|
||||
|
||||
call[chan].cinth = hour;
|
||||
|
@ -4738,12 +4948,15 @@ void processcint()
|
|||
|
||||
if (1 /* message & PRT_SHOWTICKS */) {
|
||||
|
||||
#ifdef ISDN_DE
|
||||
if ((call[chan].provider == -1) || (call[chan].provider == 33))
|
||||
exp = call[chan].ctakt * currency_factor;
|
||||
else
|
||||
/* call pay() with duration + 1 to get the charge for the _next_ chargeint! */
|
||||
exp = pay(call[chan].connect, dur + 1, call[chan].zone, call[chan].provider);
|
||||
|
||||
#else
|
||||
exp = call[chan].ctakt * currency_factor;
|
||||
#endif
|
||||
sprintf(sx, "START %d.CHARGEINT %s %s (%s)",
|
||||
call[chan].ctakt,
|
||||
currency,
|
||||
|
|
|
@ -0,0 +1,319 @@
|
|||
/* $Id: takt_at.c,v 1.1 1998/09/26 18:29:22 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (log-module)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: takt_at.c,v $
|
||||
* Revision 1.1 1998/09/26 18:29:22 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
*/
|
||||
|
||||
#define _TAKT_C_
|
||||
#include "isdnlog.h"
|
||||
|
||||
#define KARF 4
|
||||
#define OST1 5
|
||||
#define OST2 6
|
||||
#define CHRI 7
|
||||
#define PFI1 8
|
||||
#define PFI2 9
|
||||
#define FRON 10
|
||||
|
||||
#define A_FEI 16
|
||||
|
||||
struct w_ftag {
|
||||
char tag;
|
||||
char monat;
|
||||
char telekom; /* TRUE, wenn auch fuer die PTA ein Feiertag (siehe Telefonbuch!) */
|
||||
char *bez;
|
||||
};
|
||||
|
||||
|
||||
static struct {
|
||||
int tag;
|
||||
int monat;
|
||||
int jahr;
|
||||
int tgind;
|
||||
} _datum;
|
||||
|
||||
|
||||
static char tab_tage[2][12] = {{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
|
||||
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }};
|
||||
|
||||
static struct w_ftag t_ftag[A_FEI] = {
|
||||
{ 1, 1, 1, "Neujahr" },
|
||||
{ 6, 1, 0, "Hl. Drei Könige" },
|
||||
{ 1, 5, 1, "1. Mai" },
|
||||
{ 0, 0, 1, "Muttertag" },
|
||||
{ 0, 0, 1, "Karfreitag" },
|
||||
{ 0, 0, 1, "Ostersonntag" },
|
||||
{ 0, 0, 1, "Ostermontag" },
|
||||
{ 0, 0, 1, "Christi Himmelfahrt" },
|
||||
{ 0, 0, 1, "Pfingstsonntag" },
|
||||
{ 0, 0, 1, "Pfingstmontag" },
|
||||
{ 0, 0, 0, "Fronleichnam" },
|
||||
{ 26, 10, 1, "Nationalfeiertag" },
|
||||
{ 15, 8, 0, "Maria Himmelfahrt" },
|
||||
{ 1, 11, 0, "Allerheiligen" },
|
||||
{ 25, 12, 1, "Christtag" },
|
||||
{ 26, 12, 1, "2. Weihnachtstag" }};
|
||||
|
||||
static int schalt(register int j)
|
||||
{
|
||||
return(((j % 4 == 0) && (j % 100 != 0)) || (j % 400 == 0));
|
||||
} /* schalt */
|
||||
|
||||
|
||||
static int tag_num(register int t, register int m, register int j)
|
||||
{
|
||||
register char *tm = tab_tage[schalt(j)];
|
||||
|
||||
while (--m)
|
||||
t += *tm++;
|
||||
|
||||
return(t);
|
||||
} /* tag_num */
|
||||
|
||||
|
||||
static void num_tag(int jahr, int lfd)
|
||||
{
|
||||
register int i;
|
||||
register char *t;
|
||||
|
||||
|
||||
while (lfd < 1)
|
||||
lfd += tag_num(31, 12, --jahr);
|
||||
|
||||
t = tab_tage[schalt(jahr)];
|
||||
|
||||
for (i = 1; lfd > *t && i < 13; i++)
|
||||
lfd -= *t++;
|
||||
|
||||
if (i > 12)
|
||||
num_tag(++jahr, lfd);
|
||||
else {
|
||||
_datum.monat = i;
|
||||
_datum.tag = lfd;
|
||||
_datum.jahr = jahr;
|
||||
} /* else */
|
||||
} /* num_tag */
|
||||
|
||||
|
||||
static void comp_feier_tage(int jj)
|
||||
{
|
||||
static struct w_ftag t_stag[A_FEI];
|
||||
static int firsttime = 1;
|
||||
static int l_jj = -1;
|
||||
register int mm, tt, i, j, a, b;
|
||||
|
||||
|
||||
if (jj == l_jj)
|
||||
return;
|
||||
|
||||
l_jj = jj;
|
||||
|
||||
if (firsttime) {
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
t_stag[i] = t_ftag[i];
|
||||
|
||||
firsttime = 0;
|
||||
}
|
||||
else
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
t_ftag[i] = t_stag[i];
|
||||
|
||||
|
||||
/* Berechnung von Ostern nach C.F.Gauss */
|
||||
|
||||
i = jj / 100 - jj / 400 + 4;
|
||||
j = i - jj / 300 + 11;
|
||||
a = (((jj % 19) * 19) + j) % 30;
|
||||
b = (((jj % 4) * 2 + (4 * jj) + (6 * a) + i) % 7) + a - 9;
|
||||
|
||||
if (b < 1) {
|
||||
tt = 31 + b;
|
||||
mm = 3;
|
||||
}
|
||||
else {
|
||||
if ((b == 26) || ((a == 28) && (b == 25) && ((11 * (j + 1) % 30) < 19)))
|
||||
b -= 7;
|
||||
tt = b;
|
||||
mm = 4;
|
||||
} /* else */
|
||||
|
||||
num_tag(jj, tag_num(tt, mm, jj));
|
||||
|
||||
t_ftag[OST1].monat = _datum.monat; t_ftag[OST1].tag = _datum.tag;
|
||||
|
||||
num_tag(jj, 1 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[OST2].monat = _datum.monat; t_ftag[OST2].tag = _datum.tag;
|
||||
|
||||
num_tag(jj, - 3 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[KARF].monat = _datum.monat; t_ftag[KARF].tag = _datum.tag;
|
||||
|
||||
/* Pfingsten */
|
||||
num_tag(jj, 51 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[PFI1].monat = _datum.monat; t_ftag[PFI1].tag = _datum.tag;
|
||||
num_tag(jj, 1 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[PFI2].monat = _datum.monat; t_ftag[PFI2].tag = _datum.tag;
|
||||
|
||||
/* Himmelfahrt */
|
||||
num_tag(jj, -10 + tag_num(t_ftag[PFI1].tag, t_ftag[PFI1].monat, jj));
|
||||
t_ftag[CHRI].monat = _datum.monat; t_ftag[CHRI].tag = _datum.tag;
|
||||
|
||||
/* Fronleichnam */
|
||||
num_tag(jj, 11 + tag_num(t_ftag[PFI1].tag, t_ftag[PFI1].monat, jj));
|
||||
t_ftag[FRON].monat = _datum.monat; t_ftag[FRON].tag = _datum.tag;
|
||||
} /* comp_feier_tage */
|
||||
|
||||
|
||||
#define WT 0 /* Werktag */
|
||||
#define FR 1 /* Freitag */
|
||||
#define WE 2 /* Wochenende */
|
||||
|
||||
/*
|
||||
* 0 .. Tageszeit 1: Mo-Fr 08-12 Mo-Do 13-16
|
||||
* 1 .. Tageszeit 2: Mo-Do 12-13 Mo-Do 16-18 Fr 12-18
|
||||
* 2 .. Sparzeit: Mo-Fr 06-08 Mo-Fr 18-20 Sa+So+Feiertag 06-20
|
||||
* 3 .. Supersparzeit: täglich 06-20
|
||||
*/
|
||||
|
||||
static int zeitzone [3][24] = {{ 3, 3, 3, 3, 3, 3, 2, 2, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3 }, /* Werktag */
|
||||
{ 3, 3, 3, 3, 3, 3, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3 }, /* Freitag */
|
||||
{ 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 }}; /* Wochenende */
|
||||
|
||||
|
||||
static int tarifzeit(struct tm *tm, char *why)
|
||||
{
|
||||
int i;
|
||||
|
||||
comp_feier_tage(tm->tm_year + 1900);
|
||||
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
if ((t_ftag[i].monat == tm->tm_mon + 1) &&
|
||||
(t_ftag[i].tag == tm->tm_mday) &&
|
||||
t_ftag[i].telekom) {
|
||||
sprintf(why, "Feiertag (%s)", t_ftag[i].bez);
|
||||
return(WE); /* Feiertag wie Wochenende */
|
||||
}
|
||||
|
||||
if (tm->tm_wday == 0 || tm->tm_wday == 6) {
|
||||
strcpy(why, "Wochenende");
|
||||
return(WE);
|
||||
}
|
||||
|
||||
if (tm->tm_wday == 5) {
|
||||
strcpy(why, "Freitag");
|
||||
return(FR);
|
||||
}
|
||||
|
||||
strcpy(why, "Werktag");
|
||||
return(WT);
|
||||
}
|
||||
|
||||
/* Einheiten in 72 sec */
|
||||
|
||||
static double faktor [30][4] = {{ 1.25, 1.00, 0.66, 0.45 }, /* Regionalzone bis 50 km */
|
||||
{ 3.60, 2.88, 1.44, 1.00 }, /* Fernzone 1 bis 200 km */
|
||||
{ 4.80, 3.75, 1.80, 1.44 }, /* Fernzone 2 über 200 km */
|
||||
{ 0.60, 0.60, 0.20, 0.20 }, /* Online-Tarif */
|
||||
{ 6.00, 6.00, 3.75, 3.75 }, /* Mobilfunk */
|
||||
{ 6.00, 6.00, 5.00, 5.00 }, /* Ausland Zone 1 */
|
||||
{ 8.00, 8.00, 6.00, 6.00 }, /* Ausland Zone 2 */
|
||||
{ 11.00, 11.00, 9.00, 9.00 }, /* Ausland Zone 3 */
|
||||
{ 14.00, 14.00, 12.00, 12.00 }, /* Ausland Zone 4 */
|
||||
{ 17.00, 17.00, 15.00, 15.00 }, /* Ausland Zone 5 */
|
||||
{ 20.00, 20.00, 17.00, 17.00 }, /* Ausland Zone 6 */
|
||||
{ 23.00, 23.00, 20.00, 20.00 }, /* Ausland Zone 7 */
|
||||
{ 26.00, 26.00, 24.00, 24.00 }, /* Ausland Zone 8 */
|
||||
{ 30.00, 30.00, 28.00, 28.00 }, /* Ausland Zone 9 */
|
||||
{ 34.00, 34.00, 32.00, 32.00 }, /* Ausland Zone 10 */
|
||||
{ 39.00, 39.00, 36.00, 36.00 }, /* Ausland Zone 11 */
|
||||
{ 44.00, 44.00, 40.00, 40.00 }, /* Ausland Zone 12 */
|
||||
{ 59.00, 59.00, 53.00, 53.00 }, /* Ausland Zone 13 */
|
||||
{ 9.00, 9.00, 8.00, 8.00 }, /* Ausland Zone 14 */
|
||||
{ 8.00, 8.00, 10.00, 10.00 }, /* Ausland Zone 15 */
|
||||
{ 0.00, 0.00, 0.00, 0.00 }, /* Handvermittelter Verkehr */
|
||||
{ 4.00, 4.00, 3.00, 3.00 }, /* Grenznahverkehr */
|
||||
{ 6.67, 6.67, 6.67, 6.67 }, /* Teleinfo 04570 */
|
||||
{ 10.00, 10.00, 10.00, 10.00 }, /* Teleinfo 04500 */
|
||||
{ 16.00, 16.00, 16.00, 16.00 }, /* Telebusiness 04590 */
|
||||
{ 26.67, 26.67, 26.67, 26.67 }, /* Teleinfo 04580 */
|
||||
{ 1.25, 1.00, 0.66, 0.45 }, /* Businessline 0711x */
|
||||
{ 2.25, 2.25, 2.25, 2.25 }, /* Businessline 0713x */
|
||||
{ 4.80, 4.80, 4.80, 4.80 }, /* Businessline 0714x */
|
||||
{ 4.80, 4.80, 4.80, 4.80 }}; /* Votingline 0717x */
|
||||
|
||||
|
||||
|
||||
double taktlaenge(int chan, char *description)
|
||||
{
|
||||
int c;
|
||||
struct tm *tm;
|
||||
char why[BUFSIZ];
|
||||
int provider, zone, fenster;
|
||||
time_t connect;
|
||||
double takt;
|
||||
|
||||
zone = -1;
|
||||
if (description) description[0] = '\0';
|
||||
provider = call[chan].provider;
|
||||
connect = call[chan].connect;
|
||||
tm = localtime(&connect);
|
||||
|
||||
if (call[chan].dialin)
|
||||
return -1;
|
||||
|
||||
if (*call[chan].num[1] == '\0')
|
||||
return -1;
|
||||
|
||||
if ((c = call[chan].confentry[OTHER]) > -1)
|
||||
zone = known[c]->zone;
|
||||
|
||||
if (zone < 1 || zone > 30)
|
||||
return -1;
|
||||
|
||||
call[chan].zone = zone;
|
||||
|
||||
fenster = zeitzone[tarifzeit(tm, why)][tm->tm_hour];
|
||||
takt = 72.0/faktor[zone-1][fenster];
|
||||
if (description) sprintf(description, "%s, %s, %s", z2s(zone), why, t2tz(fenster));
|
||||
|
||||
return (takt);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: takt.c,v 1.4 1998/09/22 20:59:42 luethje Exp $
|
||||
/* $Id: takt_ch.c,v 1.1 1998/09/26 18:29:41 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (log-module)
|
||||
*
|
||||
|
@ -276,7 +276,7 @@ static int tarifzeit(struct tm *tm, char *why)
|
|||
| | | +----- 1=CityCall, 2=RegioCall, 3=GermanCall
|
||||
| | +------------ 1=Werktag, 2=Wochenende, 3=27.12. - 30.12., 4=Feiertag
|
||||
| +-------------------- 1=05:00 .. 09:00, 2=09:00 .. 12:00, 3=12:00 .. 18:00, 4=18:00 .. 21:00, 5=21:00 .. 02:00, 6=02:00 .. 05:00
|
||||
+------------------------------ 1=DTAG, 2=Mobilcom
|
||||
+------------------------------ 1=DTAG, 2=Mobilcom, 3=Tele2
|
||||
*/
|
||||
|
||||
static int zeit[24] = { 4, 4, 5, 5, 5, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4 };
|
|
@ -0,0 +1,491 @@
|
|||
/* $Id: takt_de.c,v 1.1 1998/09/26 18:29:42 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (log-module)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#define _TAKT_C_
|
||||
#include "isdnlog.h"
|
||||
|
||||
#define DTAG 0
|
||||
#define MOBILCOM 1
|
||||
#define TELE 2
|
||||
|
||||
#define CITYCALL 0
|
||||
#define REGIOCALL 1
|
||||
#define GERMANCALL 2
|
||||
|
||||
#define DTAG_PREIS 0.121
|
||||
#define MOBILCOM_PREIS 0.19
|
||||
|
||||
#define WT 0 /* Werktag */
|
||||
#define WE 1 /* Wochenende */
|
||||
#define FE 2 /* Feiertag */
|
||||
#define ZJ 3 /* Werktag 27. .. 30.12. */
|
||||
|
||||
|
||||
#define MUTT 3
|
||||
#define KARF 4
|
||||
#define OST1 5
|
||||
#define OST2 6
|
||||
#define CHRI 7
|
||||
#define PFI1 8
|
||||
#define PFI2 9
|
||||
#define FRON 10
|
||||
#define EINH 11
|
||||
#define MARI 12
|
||||
#define ALLE 13
|
||||
#define BUSS 14
|
||||
|
||||
#define A_FEI 17
|
||||
|
||||
struct w_ftag {
|
||||
char tag;
|
||||
char monat;
|
||||
char telekom; /* TRUE, wenn auch fuer die Deutsche Telekom ein Feiertag (siehe Telefonbuch!) */
|
||||
char *bez;
|
||||
};
|
||||
|
||||
|
||||
static struct {
|
||||
int tag;
|
||||
int monat;
|
||||
int jahr;
|
||||
int tgind;
|
||||
} _datum;
|
||||
|
||||
|
||||
static char tab_tage[2][12] = {{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
|
||||
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }};
|
||||
|
||||
static struct w_ftag t_ftag[A_FEI] = {
|
||||
#ifdef ISDN_NL
|
||||
{ 1, 1, 0, "Neujahr" },
|
||||
{ 6, 1, 0, "Erscheinungsfest" }, /* nur Baden-Wuerttemberg und Bayern */
|
||||
{ 1, 5, 0, "Maifeiertag" },
|
||||
{ 0, 0, 0, "Muttertag" },
|
||||
{ 0, 0, 0, "Karfreitag" },
|
||||
{ 0, 0, 0, "Ostersonntag" },
|
||||
{ 0, 0, 0, "Ostermontag" },
|
||||
{ 0, 0, 0, "Christi Himmelfahrt" },
|
||||
{ 0, 0, 0, "Pfingstsonntag" },
|
||||
{ 0, 0, 0, "Pfingstmontag" },
|
||||
{ 0, 0, 0, "Fronleichnam" }, /* nur in Baden-Wuerttemberg, Bayern, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 3, 10, 0, "Tag der deutschen Einheit" }, /* vor 1990 am 17.6. */
|
||||
{ 15, 8, 0, "Maria Himmelfahrt" }, /* nur Saarland und ueberwiegend katholischen Gemeinden Bayerns */
|
||||
{ 1, 11, 0, "Allerheiligen" }, /* nur Baden-Wuerttemberg, Bayern, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 0, 0, 0, "Buss- und Bettag" }, /* nur bis incl. 1994 (wg. Pflegeversicherung abgeschafft) */
|
||||
{ 25, 12, 0, "1. Weihnachtsfeiertag" },
|
||||
{ 26, 12, 0, "2. Weihnachtsfeiertag" }};
|
||||
#else
|
||||
{ 1, 1, 1, "Neujahr" },
|
||||
{ 6, 1, 0, "Erscheinungsfest" }, /* nur Baden-Wuerttemberg und Bayern */
|
||||
{ 1, 5, 1, "Maifeiertag" },
|
||||
{ 0, 0, 1, "Muttertag" },
|
||||
{ 0, 0, 1, "Karfreitag" },
|
||||
{ 0, 0, 1, "Ostersonntag" },
|
||||
{ 0, 0, 1, "Ostermontag" },
|
||||
{ 0, 0, 1, "Christi Himmelfahrt" },
|
||||
{ 0, 0, 1, "Pfingstsonntag" },
|
||||
{ 0, 0, 1, "Pfingstmontag" },
|
||||
{ 0, 0, 0, "Fronleichnam" }, /* nur in Baden-Wuerttemberg, Bayern, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 3, 10, 1, "Tag der deutschen Einheit" }, /* vor 1990 am 17.6. */
|
||||
{ 15, 8, 0, "Maria Himmelfahrt" }, /* nur Saarland und ueberwiegend katholischen Gemeinden Bayerns */
|
||||
{ 1, 11, 0, "Allerheiligen" }, /* nur Baden-Wuerttemberg, Bayern, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 0, 0, 0, "Buss- und Bettag" }, /* nur bis incl. 1994 (wg. Pflegeversicherung abgeschafft) */
|
||||
{ 25, 12, 1, "1. Weihnachtsfeiertag" },
|
||||
{ 26, 12, 1, "2. Weihnachtsfeiertag" }};
|
||||
#endif
|
||||
|
||||
|
||||
static int schalt(register int j)
|
||||
{
|
||||
return(((j % 4 == 0) && (j % 100 != 0)) || (j % 400 == 0));
|
||||
} /* schalt */
|
||||
|
||||
|
||||
static int tag_num(register int t, register int m, register int j)
|
||||
{
|
||||
register char *tm = tab_tage[schalt(j)];
|
||||
|
||||
while (--m)
|
||||
t += *tm++;
|
||||
|
||||
return(t);
|
||||
} /* tag_num */
|
||||
|
||||
|
||||
static void num_tag(int jahr, int lfd)
|
||||
{
|
||||
register int i;
|
||||
register char *t;
|
||||
|
||||
|
||||
while (lfd < 1)
|
||||
lfd += tag_num(31, 12, --jahr);
|
||||
|
||||
t = tab_tage[schalt(jahr)];
|
||||
|
||||
for (i = 1; lfd > *t && i < 13; i++)
|
||||
lfd -= *t++;
|
||||
|
||||
if (i > 12)
|
||||
num_tag(++jahr, lfd);
|
||||
else {
|
||||
_datum.monat = i;
|
||||
_datum.tag = lfd;
|
||||
_datum.jahr = jahr;
|
||||
} /* else */
|
||||
} /* num_tag */
|
||||
|
||||
|
||||
static void comp_feier_tage(int jj)
|
||||
{
|
||||
static struct w_ftag t_stag[A_FEI];
|
||||
static int firsttime = 1;
|
||||
static int l_jj = -1;
|
||||
register int mm, tt, i, j, a, b;
|
||||
|
||||
|
||||
if (jj == l_jj)
|
||||
return;
|
||||
|
||||
l_jj = jj;
|
||||
|
||||
if (firsttime) {
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
t_stag[i] = t_ftag[i];
|
||||
|
||||
firsttime = 0;
|
||||
}
|
||||
else
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
t_ftag[i] = t_stag[i];
|
||||
|
||||
|
||||
/* Berechnung von Ostern nach C.F.Gauss */
|
||||
|
||||
i = jj / 100 - jj / 400 + 4;
|
||||
j = i - jj / 300 + 11;
|
||||
a = (((jj % 19) * 19) + j) % 30;
|
||||
b = (((jj % 4) * 2 + (4 * jj) + (6 * a) + i) % 7) + a - 9;
|
||||
|
||||
if (b < 1) {
|
||||
tt = 31 + b;
|
||||
mm = 3;
|
||||
}
|
||||
else {
|
||||
if ((b == 26) || ((a == 28) && (b == 25) && ((11 * (j + 1) % 30) < 19)))
|
||||
b -= 7;
|
||||
tt = b;
|
||||
mm = 4;
|
||||
} /* else */
|
||||
|
||||
num_tag(jj, tag_num(tt, mm, jj));
|
||||
|
||||
t_ftag[OST1].monat = _datum.monat; t_ftag[OST1].tag = _datum.tag;
|
||||
|
||||
num_tag(jj, 1 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[OST2].monat = _datum.monat; t_ftag[OST2].tag = _datum.tag;
|
||||
|
||||
num_tag(jj, - 3 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[KARF].monat = _datum.monat; t_ftag[KARF].tag = _datum.tag;
|
||||
|
||||
/* Pfingsten */
|
||||
num_tag(jj, 51 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[PFI1].monat = _datum.monat; t_ftag[PFI1].tag = _datum.tag;
|
||||
num_tag(jj, 1 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[PFI2].monat = _datum.monat; t_ftag[PFI2].tag = _datum.tag;
|
||||
|
||||
/* Himmelfahrt */
|
||||
num_tag(jj, -10 + tag_num(t_ftag[PFI1].tag, t_ftag[PFI1].monat, jj));
|
||||
t_ftag[CHRI].monat = _datum.monat; t_ftag[CHRI].tag = _datum.tag;
|
||||
|
||||
/* Fronleichnam */
|
||||
num_tag(jj, 11 + tag_num(t_ftag[PFI1].tag, t_ftag[PFI1].monat, jj));
|
||||
t_ftag[FRON].monat = _datum.monat; t_ftag[FRON].tag = _datum.tag;
|
||||
} /* comp_feier_tage */
|
||||
|
||||
|
||||
static int tarifzeit(struct tm *tm, char *why)
|
||||
{
|
||||
register int i;
|
||||
|
||||
|
||||
#ifndef ISDN_NL
|
||||
if ((tm->tm_mday == 24) && (tm->tm_mon == 11)) {
|
||||
strcpy(why, "Feiertag (Heilig-Abend)");
|
||||
return(FE);
|
||||
} /* if */
|
||||
|
||||
if ((tm->tm_mday == 31) && (tm->tm_mon == 11)) {
|
||||
strcpy(why, "Feiertag (Sylvester)");
|
||||
return(FE);
|
||||
} /* if */
|
||||
|
||||
if ((tm->tm_mday > 26) && (tm->tm_mon == 11)) {
|
||||
strcpy(why, "Jahresende (27. .. 30.12.)");
|
||||
return(ZJ);
|
||||
} /* if */
|
||||
|
||||
comp_feier_tage(tm->tm_year + 1900);
|
||||
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
if ((t_ftag[i].monat == tm->tm_mon + 1) &&
|
||||
(t_ftag[i].tag == tm->tm_mday) &&
|
||||
t_ftag[i].telekom) {
|
||||
sprintf(why, "Feiertag (%s)", t_ftag[i].bez);
|
||||
return(FE);
|
||||
} /* if */
|
||||
#endif
|
||||
|
||||
if (tm->tm_wday == 6) {
|
||||
strcpy(why, "Wochenende (Samstag)");
|
||||
return(WE);
|
||||
} /* if */
|
||||
|
||||
if (tm->tm_wday == 0) {
|
||||
strcpy(why, "Wochenende (Sonntag)");
|
||||
return(WE);
|
||||
} /* if */
|
||||
|
||||
strcpy(why, "Werktag");
|
||||
return(WT);
|
||||
} /* tarifzeit */
|
||||
|
||||
|
||||
/*
|
||||
[Provider][Uhrzeit][Tarif][Zone]
|
||||
| | | |
|
||||
| | | +----- 1=CityCall, 2=RegioCall, 3=GermanCall
|
||||
| | +------------ 1=Werktag, 2=Wochenende, 3=27.12. - 30.12., 4=Feiertag
|
||||
| +-------------------- 1=05:00 .. 09:00, 2=09:00 .. 12:00, 3=12:00 .. 18:00, 4=18:00 .. 21:00, 5=21:00 .. 02:00, 6=02:00 .. 05:00
|
||||
+------------------------------ 1=DTAG, 2=Mobilcom, 3=Tele2
|
||||
*/
|
||||
|
||||
static int zeit[24] = { 4, 4, 5, 5, 5, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4 };
|
||||
static char *zeiten[6] = { "Freizeit", "Vormittag", "Nachmittag", "Freizeit", "Mondschein", "Nacht" };
|
||||
static char *zonen[4] = { "CityCall", "RegioCall", "GermanCall", "GlobalCall" };
|
||||
|
||||
|
||||
static float gebuehr[2][6][4][3] =
|
||||
{{{{ 150.0, 45.0, 22.5 }, /* DTAG */
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 150.0, 45.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 90.0, 26.0, 13.0 },
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 90.0, 36.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 90.0, 30.0, 14.0 },
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 90.0, 36.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 150.0, 45.0, 22.5 },
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 150.0, 45.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 60.0, 36.0 }},
|
||||
|
||||
{{ 240.0, 120.0, 120.0 },
|
||||
{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 120.0, 120.0 },
|
||||
{ 240.0, 60.0, 36.0 }}},
|
||||
|
||||
{{{ -1.0, 60.0, 60.0 }, /* Mobilcom */
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }}}};
|
||||
|
||||
|
||||
float taktlaenge(int chan, char *description)
|
||||
{
|
||||
register int c;
|
||||
auto struct tm *tm;
|
||||
auto char why[BUFSIZ];
|
||||
auto int provider = call[chan].provider;
|
||||
auto time_t connect = call[chan].connect;
|
||||
auto int zone = -1, zone2 = -1;
|
||||
auto float takt;
|
||||
|
||||
|
||||
*description = 0;
|
||||
|
||||
if (!call[chan].dialin && *call[chan].num[1]) {
|
||||
|
||||
if ((provider == 11) || /* o.tel.o */
|
||||
(provider == 13) || /* Tele2 */
|
||||
(provider == 14) || /* EWE TEL */
|
||||
(provider == 15) || /* */
|
||||
(provider == 23) || /* Tesion */
|
||||
(provider == 24) || /* TelePassport */
|
||||
(provider == 30) || /* TelDaFax */
|
||||
(provider == 39) || /* tesion */
|
||||
(provider == 41) || /* HanseNet */
|
||||
(provider == 46) || /* KomTel */
|
||||
(provider == 49) || /* ACC */
|
||||
(provider == 66) || /* Interoute */
|
||||
(provider == 70) || /* Arcor */
|
||||
(provider == 79) || /* Viatel */
|
||||
(provider == 90) || /* Viag Interkom */
|
||||
(provider == 98)) /* STAR Telecom */
|
||||
return(1);
|
||||
|
||||
if (provider == 18) /* Debitel */
|
||||
return(30);
|
||||
|
||||
if ((provider == 36) || /* Hutchison Telekom */
|
||||
(provider == 50)) /* Talkline */
|
||||
return(10);
|
||||
|
||||
if (provider == 43) /* Hutchison Telekom */
|
||||
return(60);
|
||||
|
||||
if (provider == 9) /* ECONOphone - mindestens jedoch 30 Sekunden! */
|
||||
return(6);
|
||||
|
||||
tm = localtime(&connect);
|
||||
|
||||
if (call[chan].sondernummer != -1) {
|
||||
switch (SN[call[chan].sondernummer].tarif) {
|
||||
case 0 : sprintf(description, "FreeCall"); /* Free of charge */
|
||||
return(60 * 60 * 24); /* one day should be enough ;-) */
|
||||
|
||||
case 1 : zone = 1; /* CityCall */
|
||||
break;
|
||||
|
||||
case -1 : if ((tm->tm_wday > 0) && (tm->tm_wday < 6)) {
|
||||
if ((tm->tm_hour > 8) && (tm->tm_hour < 18))
|
||||
takt = SN[call[chan].sondernummer].takt1; /* Werktag 9-18 Uhr */
|
||||
else
|
||||
takt = SN[call[chan].sondernummer].takt2; /* Restliche Zeit */
|
||||
}
|
||||
else
|
||||
takt = SN[call[chan].sondernummer].takt2;
|
||||
|
||||
strcpy(description, SN[call[chan].sondernummer].sinfo);
|
||||
return(takt);
|
||||
break;
|
||||
|
||||
} /* switch */
|
||||
} /* if */
|
||||
|
||||
if (zone == -1) {
|
||||
zone2 = area_diff(NULL, call[chan].num[1]);
|
||||
|
||||
if ((zone2 == -1) && (c = call[chan].confentry[OTHER]) > -1)
|
||||
zone = known[c]->zone;
|
||||
else
|
||||
zone = zone2;
|
||||
|
||||
} /* if */
|
||||
|
||||
if (zone != -1) {
|
||||
|
||||
if (provider == -1)
|
||||
provider = 33;
|
||||
|
||||
call[chan].zone = zone;
|
||||
|
||||
zone--;
|
||||
|
||||
if ((zone < 0) || (zone > 3))
|
||||
return(-1);
|
||||
|
||||
if ((provider == 19) || (provider == 33)) {
|
||||
takt = gebuehr[(provider == 33) ? DTAG : MOBILCOM][zeit[tm->tm_hour]][tarifzeit(tm, why)][zone];
|
||||
sprintf(description, "%s, %s, %s", zeiten[zeit[tm->tm_hour]], why, zonen[zone]);
|
||||
return(takt);
|
||||
}
|
||||
else
|
||||
return(-1);
|
||||
}
|
||||
else
|
||||
return(-1);
|
||||
}
|
||||
else
|
||||
return(-1);
|
||||
} /* taktlaenge */
|
||||
|
||||
|
||||
float preis(int chan)
|
||||
{
|
||||
auto int duration;
|
||||
auto float pay, minpr;
|
||||
auto char why[BUFSIZ];
|
||||
auto int tz;
|
||||
auto struct tm *tm;
|
||||
|
||||
|
||||
if (call[chan].provider == 13) { /* Tele 2 */
|
||||
|
||||
if (call[chan].zone == CITYCALL) /* not possible with Tele 2 */
|
||||
return(-1.0);
|
||||
|
||||
tm = localtime(&call[chan].connect);
|
||||
tz = tarifzeit(tm, why);
|
||||
|
||||
if ((tz == WE) || (tz == FE))
|
||||
minpr = 0.10;
|
||||
else {
|
||||
if ((tm->tm_hour > 8) && (tm->tm_hour < 18))
|
||||
minpr = 0.20;
|
||||
else
|
||||
minpr = 0.15;
|
||||
} /* else */
|
||||
|
||||
duration = call[chan].disconnect - call[chan].connect;
|
||||
pay = minpr / 60 * duration;
|
||||
return(pay);
|
||||
} /* if */
|
||||
|
||||
return 0;
|
||||
} /* preis */
|
|
@ -0,0 +1,491 @@
|
|||
/* $Id: takt_nl.c,v 1.1 1998/09/26 18:29:44 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (log-module)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#define _TAKT_C_
|
||||
#include "isdnlog.h"
|
||||
|
||||
#define DTAG 0
|
||||
#define MOBILCOM 1
|
||||
#define TELE 2
|
||||
|
||||
#define CITYCALL 0
|
||||
#define REGIOCALL 1
|
||||
#define GERMANCALL 2
|
||||
|
||||
#define DTAG_PREIS 0.121
|
||||
#define MOBILCOM_PREIS 0.19
|
||||
|
||||
#define WT 0 /* Werktag */
|
||||
#define WE 1 /* Wochenende */
|
||||
#define FE 2 /* Feiertag */
|
||||
#define ZJ 3 /* Werktag 27. .. 30.12. */
|
||||
|
||||
|
||||
#define MUTT 3
|
||||
#define KARF 4
|
||||
#define OST1 5
|
||||
#define OST2 6
|
||||
#define CHRI 7
|
||||
#define PFI1 8
|
||||
#define PFI2 9
|
||||
#define FRON 10
|
||||
#define EINH 11
|
||||
#define MARI 12
|
||||
#define ALLE 13
|
||||
#define BUSS 14
|
||||
|
||||
#define A_FEI 17
|
||||
|
||||
struct w_ftag {
|
||||
char tag;
|
||||
char monat;
|
||||
char telekom; /* TRUE, wenn auch fuer die Deutsche Telekom ein Feiertag (siehe Telefonbuch!) */
|
||||
char *bez;
|
||||
};
|
||||
|
||||
|
||||
static struct {
|
||||
int tag;
|
||||
int monat;
|
||||
int jahr;
|
||||
int tgind;
|
||||
} _datum;
|
||||
|
||||
|
||||
static char tab_tage[2][12] = {{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
|
||||
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }};
|
||||
|
||||
static struct w_ftag t_ftag[A_FEI] = {
|
||||
#ifdef ISDN_NL
|
||||
{ 1, 1, 0, "Neujahr" },
|
||||
{ 6, 1, 0, "Erscheinungsfest" }, /* nur Baden-Wuerttemberg und Bayern */
|
||||
{ 1, 5, 0, "Maifeiertag" },
|
||||
{ 0, 0, 0, "Muttertag" },
|
||||
{ 0, 0, 0, "Karfreitag" },
|
||||
{ 0, 0, 0, "Ostersonntag" },
|
||||
{ 0, 0, 0, "Ostermontag" },
|
||||
{ 0, 0, 0, "Christi Himmelfahrt" },
|
||||
{ 0, 0, 0, "Pfingstsonntag" },
|
||||
{ 0, 0, 0, "Pfingstmontag" },
|
||||
{ 0, 0, 0, "Fronleichnam" }, /* nur in Baden-Wuerttemberg, Bayern, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 3, 10, 0, "Tag der deutschen Einheit" }, /* vor 1990 am 17.6. */
|
||||
{ 15, 8, 0, "Maria Himmelfahrt" }, /* nur Saarland und ueberwiegend katholischen Gemeinden Bayerns */
|
||||
{ 1, 11, 0, "Allerheiligen" }, /* nur Baden-Wuerttemberg, Bayern, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 0, 0, 0, "Buss- und Bettag" }, /* nur bis incl. 1994 (wg. Pflegeversicherung abgeschafft) */
|
||||
{ 25, 12, 0, "1. Weihnachtsfeiertag" },
|
||||
{ 26, 12, 0, "2. Weihnachtsfeiertag" }};
|
||||
#else
|
||||
{ 1, 1, 1, "Neujahr" },
|
||||
{ 6, 1, 0, "Erscheinungsfest" }, /* nur Baden-Wuerttemberg und Bayern */
|
||||
{ 1, 5, 1, "Maifeiertag" },
|
||||
{ 0, 0, 1, "Muttertag" },
|
||||
{ 0, 0, 1, "Karfreitag" },
|
||||
{ 0, 0, 1, "Ostersonntag" },
|
||||
{ 0, 0, 1, "Ostermontag" },
|
||||
{ 0, 0, 1, "Christi Himmelfahrt" },
|
||||
{ 0, 0, 1, "Pfingstsonntag" },
|
||||
{ 0, 0, 1, "Pfingstmontag" },
|
||||
{ 0, 0, 0, "Fronleichnam" }, /* nur in Baden-Wuerttemberg, Bayern, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 3, 10, 1, "Tag der deutschen Einheit" }, /* vor 1990 am 17.6. */
|
||||
{ 15, 8, 0, "Maria Himmelfahrt" }, /* nur Saarland und ueberwiegend katholischen Gemeinden Bayerns */
|
||||
{ 1, 11, 0, "Allerheiligen" }, /* nur Baden-Wuerttemberg, Bayern, Nordrhein-Westfalen, Rheinland-Pfalz und im Saarland */
|
||||
{ 0, 0, 0, "Buss- und Bettag" }, /* nur bis incl. 1994 (wg. Pflegeversicherung abgeschafft) */
|
||||
{ 25, 12, 1, "1. Weihnachtsfeiertag" },
|
||||
{ 26, 12, 1, "2. Weihnachtsfeiertag" }};
|
||||
#endif
|
||||
|
||||
|
||||
static int schalt(register int j)
|
||||
{
|
||||
return(((j % 4 == 0) && (j % 100 != 0)) || (j % 400 == 0));
|
||||
} /* schalt */
|
||||
|
||||
|
||||
static int tag_num(register int t, register int m, register int j)
|
||||
{
|
||||
register char *tm = tab_tage[schalt(j)];
|
||||
|
||||
while (--m)
|
||||
t += *tm++;
|
||||
|
||||
return(t);
|
||||
} /* tag_num */
|
||||
|
||||
|
||||
static void num_tag(int jahr, int lfd)
|
||||
{
|
||||
register int i;
|
||||
register char *t;
|
||||
|
||||
|
||||
while (lfd < 1)
|
||||
lfd += tag_num(31, 12, --jahr);
|
||||
|
||||
t = tab_tage[schalt(jahr)];
|
||||
|
||||
for (i = 1; lfd > *t && i < 13; i++)
|
||||
lfd -= *t++;
|
||||
|
||||
if (i > 12)
|
||||
num_tag(++jahr, lfd);
|
||||
else {
|
||||
_datum.monat = i;
|
||||
_datum.tag = lfd;
|
||||
_datum.jahr = jahr;
|
||||
} /* else */
|
||||
} /* num_tag */
|
||||
|
||||
|
||||
static void comp_feier_tage(int jj)
|
||||
{
|
||||
static struct w_ftag t_stag[A_FEI];
|
||||
static int firsttime = 1;
|
||||
static int l_jj = -1;
|
||||
register int mm, tt, i, j, a, b;
|
||||
|
||||
|
||||
if (jj == l_jj)
|
||||
return;
|
||||
|
||||
l_jj = jj;
|
||||
|
||||
if (firsttime) {
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
t_stag[i] = t_ftag[i];
|
||||
|
||||
firsttime = 0;
|
||||
}
|
||||
else
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
t_ftag[i] = t_stag[i];
|
||||
|
||||
|
||||
/* Berechnung von Ostern nach C.F.Gauss */
|
||||
|
||||
i = jj / 100 - jj / 400 + 4;
|
||||
j = i - jj / 300 + 11;
|
||||
a = (((jj % 19) * 19) + j) % 30;
|
||||
b = (((jj % 4) * 2 + (4 * jj) + (6 * a) + i) % 7) + a - 9;
|
||||
|
||||
if (b < 1) {
|
||||
tt = 31 + b;
|
||||
mm = 3;
|
||||
}
|
||||
else {
|
||||
if ((b == 26) || ((a == 28) && (b == 25) && ((11 * (j + 1) % 30) < 19)))
|
||||
b -= 7;
|
||||
tt = b;
|
||||
mm = 4;
|
||||
} /* else */
|
||||
|
||||
num_tag(jj, tag_num(tt, mm, jj));
|
||||
|
||||
t_ftag[OST1].monat = _datum.monat; t_ftag[OST1].tag = _datum.tag;
|
||||
|
||||
num_tag(jj, 1 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[OST2].monat = _datum.monat; t_ftag[OST2].tag = _datum.tag;
|
||||
|
||||
num_tag(jj, - 3 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[KARF].monat = _datum.monat; t_ftag[KARF].tag = _datum.tag;
|
||||
|
||||
/* Pfingsten */
|
||||
num_tag(jj, 51 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[PFI1].monat = _datum.monat; t_ftag[PFI1].tag = _datum.tag;
|
||||
num_tag(jj, 1 + tag_num(_datum.tag, _datum.monat, jj));
|
||||
t_ftag[PFI2].monat = _datum.monat; t_ftag[PFI2].tag = _datum.tag;
|
||||
|
||||
/* Himmelfahrt */
|
||||
num_tag(jj, -10 + tag_num(t_ftag[PFI1].tag, t_ftag[PFI1].monat, jj));
|
||||
t_ftag[CHRI].monat = _datum.monat; t_ftag[CHRI].tag = _datum.tag;
|
||||
|
||||
/* Fronleichnam */
|
||||
num_tag(jj, 11 + tag_num(t_ftag[PFI1].tag, t_ftag[PFI1].monat, jj));
|
||||
t_ftag[FRON].monat = _datum.monat; t_ftag[FRON].tag = _datum.tag;
|
||||
} /* comp_feier_tage */
|
||||
|
||||
|
||||
static int tarifzeit(struct tm *tm, char *why)
|
||||
{
|
||||
register int i;
|
||||
|
||||
|
||||
#ifndef ISDN_NL
|
||||
if ((tm->tm_mday == 24) && (tm->tm_mon == 11)) {
|
||||
strcpy(why, "Feiertag (Heilig-Abend)");
|
||||
return(FE);
|
||||
} /* if */
|
||||
|
||||
if ((tm->tm_mday == 31) && (tm->tm_mon == 11)) {
|
||||
strcpy(why, "Feiertag (Sylvester)");
|
||||
return(FE);
|
||||
} /* if */
|
||||
|
||||
if ((tm->tm_mday > 26) && (tm->tm_mon == 11)) {
|
||||
strcpy(why, "Jahresende (27. .. 30.12.)");
|
||||
return(ZJ);
|
||||
} /* if */
|
||||
|
||||
comp_feier_tage(tm->tm_year + 1900);
|
||||
|
||||
for (i = 0; i < A_FEI; i++)
|
||||
if ((t_ftag[i].monat == tm->tm_mon + 1) &&
|
||||
(t_ftag[i].tag == tm->tm_mday) &&
|
||||
t_ftag[i].telekom) {
|
||||
sprintf(why, "Feiertag (%s)", t_ftag[i].bez);
|
||||
return(FE);
|
||||
} /* if */
|
||||
#endif
|
||||
|
||||
if (tm->tm_wday == 6) {
|
||||
strcpy(why, "Wochenende (Samstag)");
|
||||
return(WE);
|
||||
} /* if */
|
||||
|
||||
if (tm->tm_wday == 0) {
|
||||
strcpy(why, "Wochenende (Sonntag)");
|
||||
return(WE);
|
||||
} /* if */
|
||||
|
||||
strcpy(why, "Werktag");
|
||||
return(WT);
|
||||
} /* tarifzeit */
|
||||
|
||||
|
||||
/*
|
||||
[Provider][Uhrzeit][Tarif][Zone]
|
||||
| | | |
|
||||
| | | +----- 1=CityCall, 2=RegioCall, 3=GermanCall
|
||||
| | +------------ 1=Werktag, 2=Wochenende, 3=27.12. - 30.12., 4=Feiertag
|
||||
| +-------------------- 1=05:00 .. 09:00, 2=09:00 .. 12:00, 3=12:00 .. 18:00, 4=18:00 .. 21:00, 5=21:00 .. 02:00, 6=02:00 .. 05:00
|
||||
+------------------------------ 1=DTAG, 2=Mobilcom, 3=Tele2
|
||||
*/
|
||||
|
||||
static int zeit[24] = { 4, 4, 5, 5, 5, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4 };
|
||||
static char *zeiten[6] = { "Freizeit", "Vormittag", "Nachmittag", "Freizeit", "Mondschein", "Nacht" };
|
||||
static char *zonen[4] = { "CityCall", "RegioCall", "GermanCall", "GlobalCall" };
|
||||
|
||||
|
||||
static float gebuehr[2][6][4][3] =
|
||||
{{{{ 150.0, 45.0, 22.5 }, /* DTAG */
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 150.0, 45.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 90.0, 26.0, 13.0 },
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 90.0, 36.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 90.0, 30.0, 14.0 },
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 90.0, 36.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 150.0, 45.0, 22.5 },
|
||||
{ 150.0, 45.0, 30.0 },
|
||||
{ 150.0, 45.0, 36.0 },
|
||||
{ 150.0, 45.0, 36.0 }},
|
||||
|
||||
{{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 60.0, 36.0 }},
|
||||
|
||||
{{ 240.0, 120.0, 120.0 },
|
||||
{ 240.0, 60.0, 36.0 },
|
||||
{ 240.0, 120.0, 120.0 },
|
||||
{ 240.0, 60.0, 36.0 }}},
|
||||
|
||||
{{{ -1.0, 60.0, 60.0 }, /* Mobilcom */
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }},
|
||||
|
||||
{{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 },
|
||||
{ -1.0, 60.0, 60.0 }}}};
|
||||
|
||||
|
||||
float taktlaenge(int chan, char *description)
|
||||
{
|
||||
register int c;
|
||||
auto struct tm *tm;
|
||||
auto char why[BUFSIZ];
|
||||
auto int provider = call[chan].provider;
|
||||
auto time_t connect = call[chan].connect;
|
||||
auto int zone = -1, zone2 = -1;
|
||||
auto float takt;
|
||||
|
||||
|
||||
*description = 0;
|
||||
|
||||
if (!call[chan].dialin && *call[chan].num[1]) {
|
||||
|
||||
if ((provider == 11) || /* o.tel.o */
|
||||
(provider == 13) || /* Tele2 */
|
||||
(provider == 14) || /* EWE TEL */
|
||||
(provider == 15) || /* */
|
||||
(provider == 23) || /* Tesion */
|
||||
(provider == 24) || /* TelePassport */
|
||||
(provider == 30) || /* TelDaFax */
|
||||
(provider == 39) || /* tesion */
|
||||
(provider == 41) || /* HanseNet */
|
||||
(provider == 46) || /* KomTel */
|
||||
(provider == 49) || /* ACC */
|
||||
(provider == 66) || /* Interoute */
|
||||
(provider == 70) || /* Arcor */
|
||||
(provider == 79) || /* Viatel */
|
||||
(provider == 90) || /* Viag Interkom */
|
||||
(provider == 98)) /* STAR Telecom */
|
||||
return(1);
|
||||
|
||||
if (provider == 18) /* Debitel */
|
||||
return(30);
|
||||
|
||||
if ((provider == 36) || /* Hutchison Telekom */
|
||||
(provider == 50)) /* Talkline */
|
||||
return(10);
|
||||
|
||||
if (provider == 43) /* Hutchison Telekom */
|
||||
return(60);
|
||||
|
||||
if (provider == 9) /* ECONOphone - mindestens jedoch 30 Sekunden! */
|
||||
return(6);
|
||||
|
||||
tm = localtime(&connect);
|
||||
|
||||
if (call[chan].sondernummer != -1) {
|
||||
switch (SN[call[chan].sondernummer].tarif) {
|
||||
case 0 : sprintf(description, "FreeCall"); /* Free of charge */
|
||||
return(60 * 60 * 24); /* one day should be enough ;-) */
|
||||
|
||||
case 1 : zone = 1; /* CityCall */
|
||||
break;
|
||||
|
||||
case -1 : if ((tm->tm_wday > 0) && (tm->tm_wday < 6)) {
|
||||
if ((tm->tm_hour > 8) && (tm->tm_hour < 18))
|
||||
takt = SN[call[chan].sondernummer].takt1; /* Werktag 9-18 Uhr */
|
||||
else
|
||||
takt = SN[call[chan].sondernummer].takt2; /* Restliche Zeit */
|
||||
}
|
||||
else
|
||||
takt = SN[call[chan].sondernummer].takt2;
|
||||
|
||||
strcpy(description, SN[call[chan].sondernummer].sinfo);
|
||||
return(takt);
|
||||
break;
|
||||
|
||||
} /* switch */
|
||||
} /* if */
|
||||
|
||||
if (zone == -1) {
|
||||
zone2 = area_diff(NULL, call[chan].num[1]);
|
||||
|
||||
if ((zone2 == -1) && (c = call[chan].confentry[OTHER]) > -1)
|
||||
zone = known[c]->zone;
|
||||
else
|
||||
zone = zone2;
|
||||
|
||||
} /* if */
|
||||
|
||||
if (zone != -1) {
|
||||
|
||||
if (provider == -1)
|
||||
provider = 33;
|
||||
|
||||
call[chan].zone = zone;
|
||||
|
||||
zone--;
|
||||
|
||||
if ((zone < 0) || (zone > 3))
|
||||
return(-1);
|
||||
|
||||
if ((provider == 19) || (provider == 33)) {
|
||||
takt = gebuehr[(provider == 33) ? DTAG : MOBILCOM][zeit[tm->tm_hour]][tarifzeit(tm, why)][zone];
|
||||
sprintf(description, "%s, %s, %s", zeiten[zeit[tm->tm_hour]], why, zonen[zone]);
|
||||
return(takt);
|
||||
}
|
||||
else
|
||||
return(-1);
|
||||
}
|
||||
else
|
||||
return(-1);
|
||||
}
|
||||
else
|
||||
return(-1);
|
||||
} /* taktlaenge */
|
||||
|
||||
|
||||
float preis(int chan)
|
||||
{
|
||||
auto int duration;
|
||||
auto float pay, minpr;
|
||||
auto char why[BUFSIZ];
|
||||
auto int tz;
|
||||
auto struct tm *tm;
|
||||
|
||||
|
||||
if (call[chan].provider == 13) { /* Tele 2 */
|
||||
|
||||
if (call[chan].zone == CITYCALL) /* not possible with Tele 2 */
|
||||
return(-1.0);
|
||||
|
||||
tm = localtime(&call[chan].connect);
|
||||
tz = tarifzeit(tm, why);
|
||||
|
||||
if ((tz == WE) || (tz == FE))
|
||||
minpr = 0.10;
|
||||
else {
|
||||
if ((tm->tm_hour > 8) && (tm->tm_hour < 18))
|
||||
minpr = 0.20;
|
||||
else
|
||||
minpr = 0.15;
|
||||
} /* else */
|
||||
|
||||
duration = call[chan].disconnect - call[chan].connect;
|
||||
pay = minpr / 60 * duration;
|
||||
return(pay);
|
||||
} /* if */
|
||||
|
||||
return 0;
|
||||
} /* preis */
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: isdnrep.c,v 1.42 1998/09/22 21:06:50 luethje Exp $
|
||||
/* $Id: isdnrep.c,v 1.43 1998/09/26 18:29:55 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Report-module)
|
||||
*
|
||||
|
@ -24,6 +24,29 @@
|
|||
*
|
||||
*
|
||||
* $Log: isdnrep.c,v $
|
||||
* Revision 1.43 1998/09/26 18:29:55 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.42 1998/09/22 21:06:50 luethje
|
||||
* isdnrep: simple fix
|
||||
*
|
||||
|
@ -812,6 +835,8 @@ int read_logfile(char *myname)
|
|||
einheit = 0.0011; /* cost of one second local tariff during office hours */
|
||||
#elif defined(ISDN_CH)
|
||||
einheit = 0.01;
|
||||
#elif defined(ISDN_AT)
|
||||
einheit = 1.056;
|
||||
#else
|
||||
einheit = Tarif96 ? 0.121 : 0.23;
|
||||
#endif
|
||||
|
|
|
@ -87,6 +87,9 @@
|
|||
/* Define if you have Swiss charge info */
|
||||
#undef ISDN_CH
|
||||
|
||||
/* Define if you have Austrian charge info */
|
||||
#undef ISDN_AT
|
||||
|
||||
/* Define if you have Netherlands charge info */
|
||||
#undef ISDN_NL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: isdnconf.c,v 1.18 1998/06/14 15:34:35 akool Exp $
|
||||
/* $Id: isdnconf.c,v 1.19 1998/09/26 18:30:08 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
|
@ -20,6 +20,29 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: isdnconf.c,v $
|
||||
* Revision 1.19 1998/09/26 18:30:08 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.18 1998/06/14 15:34:35 akool
|
||||
* AVM B1 support (Layer 3)
|
||||
* Telekom's new currency DEM 0,121 supported
|
||||
|
@ -826,6 +849,8 @@ void setDefaults()
|
|||
currency = "NLG";
|
||||
#elif defined(ISDN_CH)
|
||||
currency = "SFR";
|
||||
#elif defined(ISDN_AT)
|
||||
currency = "ATS";
|
||||
#else
|
||||
currency = "DM";
|
||||
#endif
|
||||
|
@ -838,6 +863,8 @@ void setDefaults()
|
|||
currency_factor = 0.15;
|
||||
#elif defined(ISDN_CH)
|
||||
currency_factor = 0.01;
|
||||
#elif defined(ISDN_AT)
|
||||
currency_factor = 1.056;
|
||||
#else
|
||||
currency_factor = 0.121;
|
||||
#endif
|
||||
|
@ -969,6 +996,8 @@ static int _readconfig(char *_myname)
|
|||
stopcmd = STOPCMD;
|
||||
rebootcmd = REBOOTCMD;
|
||||
logfile = LOGFILE;
|
||||
callfile = NULL;
|
||||
callfmt = NULL;
|
||||
start_procs.infoargs = NULL;
|
||||
start_procs.flags = 0;
|
||||
conf_dat = NULL;
|
||||
|
@ -1102,6 +1131,12 @@ static int Set_Globals(section *SPtr)
|
|||
if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_LOGFILE)) != NULL)
|
||||
logfile = CEPtr->value;
|
||||
|
||||
if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_CALLFILE)) != NULL)
|
||||
callfile = CEPtr->value;
|
||||
|
||||
if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_CALLFMT)) != NULL)
|
||||
callfmt = CEPtr->value;
|
||||
|
||||
if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_CW)) != NULL)
|
||||
CityWeekend = toupper(*(CEPtr->value)) == 'Y'?1:0;
|
||||
|
||||
|
@ -1195,12 +1230,12 @@ static int Set_Globals(section *SPtr)
|
|||
_print_msg("%s: WARNING: Variable `%s' is not set!\n", Myname, CONF_ENT_AREA);
|
||||
myarea = "";
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (chargemax == 0)
|
||||
{
|
||||
_print_msg("%s: WARNING: Variable `%s' is not set, \nperforming no action when chargemax-overflow\n", Myname, CONF_ENT_CHARGE);
|
||||
}
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1373,8 +1408,11 @@ static int Set_Numbers(section *SPtr, char *Section, int msn)
|
|||
{
|
||||
if (msn < 0)
|
||||
{
|
||||
if((known[Index]->zone=area_diff(NULL, num))<1)
|
||||
{
|
||||
_print_msg("%s: WARNING: There is no variable `%s' for number `%s'!\n", Myname, CONF_ENT_ZONE, num);
|
||||
known[Index]->zone = 4;
|
||||
}
|
||||
}
|
||||
else
|
||||
known[Index]->zone = 1;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: tools.c,v 1.13 1998/06/21 11:53:23 akool Exp $
|
||||
/* $Id: tools.c,v 1.14 1998/09/26 18:30:14 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
|
@ -19,6 +19,29 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: tools.c,v $
|
||||
* Revision 1.14 1998/09/26 18:30:14 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.13 1998/06/21 11:53:23 akool
|
||||
* First step to let isdnlog generate his own AOCD messages
|
||||
*
|
||||
|
@ -641,44 +664,6 @@ static char *ltoa(register unsigned long num, register char *p, register int rad
|
|||
|
||||
/****************************************************************************/
|
||||
|
||||
char *Providername(int number)
|
||||
{
|
||||
switch (number) {
|
||||
case 11 : return("o.tel.o");
|
||||
case 13 : return("Tele2");
|
||||
case 14 : return("EWE TEL");
|
||||
case 15 : return("???");
|
||||
case 18 : return("Debitel");
|
||||
case 19 : return("Mobilcom");
|
||||
case 20 : return("Isis");
|
||||
case 22 : return("NetCologne");
|
||||
case 23 : return("Tesion");
|
||||
case 24 : return("TelePassport");
|
||||
case 25 : return("Citykom Muenster");
|
||||
case 30 : return("TelDaFax");
|
||||
case 33 : return("Telekom");
|
||||
case 36 : return("Hutchison Telekom");
|
||||
case 39 : return("tesion))");
|
||||
case 41 : return("HanseNet");
|
||||
case 43 : return("???");
|
||||
case 46 : return("KomTel");
|
||||
case 49 : return("ACC");
|
||||
case 50 : return("Talkline");
|
||||
case 55 : return("Esprit");
|
||||
case 66 : return("Interoute");
|
||||
case 70 : return("Arcor");
|
||||
case 79 : return("Viatel");
|
||||
case 85 : return("WESTCom");
|
||||
case 88 : return("WorldCom");
|
||||
case 90 : return("Viag Interkom");
|
||||
case 98 : return("STAR Telecom");
|
||||
case 99 : return("ECONOphone/Telco");
|
||||
default : return("UNKNOWN Provider");
|
||||
} /* switch */
|
||||
} /* Providername */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
int iprintf(char *obuf, int chan, register char *fmt, ...)
|
||||
{
|
||||
register char *p, *s;
|
||||
|
@ -934,47 +919,3 @@ int print_version(char *myname)
|
|||
|
||||
/****************************************************************************/
|
||||
|
||||
char *t2tz(int zeit)
|
||||
{
|
||||
switch (zeit) {
|
||||
case 0 : return("Vormittag"); break;
|
||||
case 1 : return("Nachmittag"); break;
|
||||
case 2 : return("Freizeit"); break;
|
||||
case 3 : return("Mondschein"); break;
|
||||
case 4 : return("Nacht"); break;
|
||||
case 5 : return("Standard"); break;
|
||||
case 6 : return("Spartarif"); break;
|
||||
case 7 : return("City Weekend"); break;
|
||||
case 8 : return("City Plus"); break;
|
||||
case 9 : return("Feiertag"); break;
|
||||
default : return(""); break;
|
||||
} /* switch */
|
||||
} /* t2tz */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *z2s(int zone)
|
||||
{
|
||||
switch (zone) {
|
||||
case 1 : return("CityCall"); break;
|
||||
case 2 : return("RegioCall"); break;
|
||||
case 3 : return("GermanCall"); break;
|
||||
case 4 : return("GermanCall"); break;
|
||||
case 5 : return("GlobalCall"); break;
|
||||
case 6 : return("Vis1"); break;
|
||||
case 7 : return("Vis2"); break;
|
||||
case 8 : return("Vis3"); break;
|
||||
case 9 : return("Welt1"); break;
|
||||
case 10 : return("Welt2"); break;
|
||||
case 11 : return("Welt3"); break;
|
||||
case 12 : return("T-Online"); break;
|
||||
case 13 : return("KONF"); break;
|
||||
case 14 : return("Inmar"); break;
|
||||
case 15 : return("C-Box"); break;
|
||||
case 16 : return("T-Box"); break;
|
||||
case 21 : return("City"); break; /* City Plus */
|
||||
default : return(""); break;
|
||||
} /* switch */
|
||||
} /* z2s */
|
||||
|
||||
/****************************************************************************/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: tools.h,v 1.19 1998/06/21 11:53:27 akool Exp $
|
||||
/* $Id: tools.h,v 1.20 1998/09/26 18:30:18 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux.
|
||||
*
|
||||
|
@ -20,6 +20,29 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: tools.h,v $
|
||||
* Revision 1.20 1998/09/26 18:30:18 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.19 1998/06/21 11:53:27 akool
|
||||
* First step to let isdnlog generate his own AOCD messages
|
||||
*
|
||||
|
@ -461,6 +484,9 @@
|
|||
|
||||
#define CONF_ENT_REPFMT "REPFMT"
|
||||
|
||||
#define CONF_ENT_CALLFILE "CALLFILE"
|
||||
#define CONF_ENT_CALLFMT "CALLFMT"
|
||||
|
||||
#define CONF_ENT_VBOXVER "VBOXVERSION"
|
||||
#define CONF_ENT_VBOXPATH "VBOXPATH"
|
||||
#define CONF_ENT_VBOXCMD1 "VBOXCMD1"
|
||||
|
@ -564,6 +590,7 @@ typedef struct {
|
|||
int cinth;
|
||||
int ctakt;
|
||||
int zone;
|
||||
int uid;
|
||||
} CALL;
|
||||
|
||||
/****************************************************************************/
|
||||
|
@ -732,6 +759,8 @@ _EXTERN char* reloadcmd = RELOADCMD;
|
|||
_EXTERN char* stopcmd = STOPCMD;
|
||||
_EXTERN char* rebootcmd = REBOOTCMD;
|
||||
_EXTERN char* logfile = LOGFILE;
|
||||
_EXTERN char* callfile = NULL;
|
||||
_EXTERN char* callfmt = NULL;
|
||||
_EXTERN int (*_print_msg)(const char *, ...) = printf;
|
||||
_EXTERN int use_new_config = 1;
|
||||
_EXTERN char ***lineformats = NULL;
|
||||
|
@ -748,6 +777,8 @@ _EXTERN char* reloadcmd;
|
|||
_EXTERN char* stopcmd;
|
||||
_EXTERN char* rebootcmd;
|
||||
_EXTERN char* logfile;
|
||||
_EXTERN char* callfile;
|
||||
_EXTERN char* callfmt;
|
||||
_EXTERN int (*_print_msg)(const char *, ...);
|
||||
_EXTERN int use_new_config;
|
||||
_EXTERN char ***lineformats;
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
/* $Id: tools_at.c,v 1.1 1998/09/26 18:30:21 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* splitting into nations 1998 by Michael Reinelt (reinelt@eunet.at)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: tools_at.c,v $
|
||||
* Revision 1.1 1998/09/26 18:30:21 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#include <isdnlog.h>
|
||||
|
||||
char *Providername(int number)
|
||||
{
|
||||
switch (number) {
|
||||
default : return("PTA");
|
||||
} /* switch */
|
||||
} /* Providername */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *t2tz(int zeit)
|
||||
{
|
||||
switch (zeit) {
|
||||
case 0 : return("Tageszeit 1"); break;
|
||||
case 1 : return("Tageszeit 2"); break;
|
||||
case 2 : return("Sparzeit"); break;
|
||||
case 3 : return("Supersparzeit"); break;
|
||||
default : return("");
|
||||
} /* switch */
|
||||
} /* t2tz */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *z2s(int zone)
|
||||
{
|
||||
switch (zone) {
|
||||
case 1 : return("Regionalzone"); break;
|
||||
case 2 : return("Fernzone 1"); break;
|
||||
case 3 : return("Fernzone 2"); break;
|
||||
case 4 : return("Online"); break;
|
||||
case 5 : return("Mobilfunk"); break;
|
||||
case 6 : return("Ausland Zone 1"); break;
|
||||
case 7 : return("Ausland Zone 2"); break;
|
||||
case 8 : return("Ausland Zone 3"); break;
|
||||
case 9 : return("Ausland Zone 4"); break;
|
||||
case 10 : return("Ausland Zone 5"); break;
|
||||
case 11 : return("Ausland Zone 6"); break;
|
||||
case 12 : return("Ausland Zone 7"); break;
|
||||
case 13 : return("Ausland Zone 8"); break;
|
||||
case 14 : return("Ausland Zone 9"); break;
|
||||
case 15 : return("Ausland Zone 10"); break;
|
||||
case 16 : return("Ausland Zone 11"); break;
|
||||
case 17 : return("Ausland Zone 12"); break;
|
||||
case 18 : return("Ausland Zone 13"); break;
|
||||
case 19 : return("Ausland Zone 14"); break;
|
||||
case 20 : return("Ausland Zone 15"); break;
|
||||
case 21 : return("Handvermittelter Verkehr"); break;
|
||||
case 22 : return("Grenznahverkehr");break;
|
||||
case 23 : return("Teleinfo 04570"); break;
|
||||
case 24 : return("Teleinfo 04500"); break;
|
||||
case 25 : return("Telebusiness 04590"); break;
|
||||
case 26 : return("Teleinfo 04580"); break;
|
||||
case 27 : return("Businessline 0711x"); break;
|
||||
case 28 : return("Businessline 0713x"); break;
|
||||
case 29 : return("Businessline 0714x"); break;
|
||||
case 30 : return("Votingline 0717x"); break;
|
||||
default : return("");
|
||||
} /* switch */
|
||||
} /* z2s */
|
||||
|
||||
/****************************************************************************/
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
/* $Id: tools_ch.c,v 1.1 1998/09/26 18:30:24 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* splitting into nations 1998 by Michael Reinelt (reinelt@eunet.at)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: tools_ch.c,v $
|
||||
* Revision 1.1 1998/09/26 18:30:24 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#include <isdnlog.h>
|
||||
|
||||
char *Providername(int number)
|
||||
{
|
||||
return("");
|
||||
} /* Providername */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *t2tz(int zeit)
|
||||
{
|
||||
return("");
|
||||
} /* t2tz */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *z2s(int zone)
|
||||
{
|
||||
return("");
|
||||
} /* z2s */
|
||||
|
||||
/****************************************************************************/
|
|
@ -0,0 +1,141 @@
|
|||
/* $Id: tools_de.c,v 1.1 1998/09/26 18:30:24 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* splitting into nations 1998 by Michael Reinelt (reinelt@eunet.at)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: tools_de.c,v $
|
||||
* Revision 1.1 1998/09/26 18:30:24 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#include <isdnlog.h>
|
||||
|
||||
char *Providername(int number)
|
||||
{
|
||||
switch (number) {
|
||||
case 01 : return("Alpha");
|
||||
case 11 : return("o.tel.o");
|
||||
case 13 : return("Tele 2");
|
||||
case 14 : return("EWE Tel");
|
||||
case 15 : return("RSL COM");
|
||||
case 18 : return("Debitel");
|
||||
case 19 : return("MobilCom");
|
||||
case 20 : return("Isis");
|
||||
case 22 : return("NetCologne");
|
||||
case 23 : return("tesion ))");
|
||||
case 24 : return("TelePassport");
|
||||
case 25 : return("Citykom Muenster");
|
||||
case 28 : return("COLT/Telebridge/Global Comm.");
|
||||
case 30 : return("TelDaFax");
|
||||
case 33 : return("Telekom");
|
||||
case 36 : return("Hutchison Telekom");
|
||||
case 39 : return("F.T.");
|
||||
case 40 : return("Plusnet");
|
||||
case 41 : return("HanseNet");
|
||||
case 43 : return("KielNet");
|
||||
case 44 : return("VEW TELNET");
|
||||
case 46 : return("KomTel");
|
||||
case 49 : return("ACC Telecom");
|
||||
case 50 : return("Talkline");
|
||||
case 55 : return("Esprit");
|
||||
case 57 : return("Mox");
|
||||
case 63 : return("KDD-Conos");
|
||||
case 66 : return("Interoute");
|
||||
case 70 : return("Arcor");
|
||||
case 72 : return("d2privat");
|
||||
case 79 : return("Viatel");
|
||||
case 85 : return("WESTCom");
|
||||
case 88 : return("WorldCom");
|
||||
case 90 : return("VIAG Interkom");
|
||||
case 98 : return("STAR Telecom");
|
||||
case 99 : return("ECONOphone/Telco");
|
||||
default : return("UNKNOWN Provider");
|
||||
} /* switch */
|
||||
} /* Providername */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *t2tz(int zeit)
|
||||
{
|
||||
switch (zeit) {
|
||||
case 0 : return("Vormittag"); break;
|
||||
case 1 : return("Nachmittag"); break;
|
||||
case 2 : return("Freizeit"); break;
|
||||
case 3 : return("Mondschein"); break;
|
||||
case 4 : return("Nacht"); break;
|
||||
case 5 : return("Standard"); break;
|
||||
case 6 : return("Spartarif"); break;
|
||||
case 7 : return("City Weekend"); break;
|
||||
case 8 : return("City Plus"); break;
|
||||
case 9 : return("Feiertag"); break;
|
||||
default : return(""); break;
|
||||
} /* switch */
|
||||
} /* t2tz */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *z2s(int zone)
|
||||
{
|
||||
switch (zone) {
|
||||
case 1 : return("CityCall"); break;
|
||||
case 2 : return("RegioCall"); break;
|
||||
case 3 : return("GermanCall"); break;
|
||||
case 4 : return("GermanCall"); break;
|
||||
case 5 : return("GlobalCall"); break;
|
||||
case 6 : return("Vis1"); break;
|
||||
case 7 : return("Vis2"); break;
|
||||
case 8 : return("Vis3"); break;
|
||||
case 9 : return("Welt1"); break;
|
||||
case 10 : return("Welt2"); break;
|
||||
case 11 : return("Welt3"); break;
|
||||
case 12 : return("T-Online"); break;
|
||||
case 13 : return("KONF"); break;
|
||||
case 14 : return("Inmar"); break;
|
||||
case 15 : return("C-Box"); break;
|
||||
case 16 : return("T-Box"); break;
|
||||
case 21 : return("City"); break; /* City Plus */
|
||||
default : return(""); break;
|
||||
} /* switch */
|
||||
} /* z2s */
|
||||
|
||||
/****************************************************************************/
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
/* $Id: tools_nl.c,v 1.1 1998/09/26 18:30:25 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
* Copyright 1995, 1998 by Andreas Kool (akool@Kool.f.UUnet.de)
|
||||
*
|
||||
* splitting into nations 1998 by Michael Reinelt (reinelt@eunet.at)
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: tools_nl.c,v $
|
||||
* Revision 1.1 1998/09/26 18:30:25 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#include <isdnlog.h>
|
||||
|
||||
char *Providername(int number)
|
||||
{
|
||||
return("");
|
||||
} /* Providername */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *t2tz(int zeit)
|
||||
{
|
||||
return("");
|
||||
} /* t2tz */
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
char *z2s(int zone)
|
||||
{
|
||||
return("");
|
||||
} /* z2s */
|
||||
|
||||
/****************************************************************************/
|
|
@ -40,7 +40,7 @@ CC = $(_CC)
|
|||
|
||||
INSTALL =install
|
||||
INSTALL_DIR := $(INSTALL) -m 0755 -o 0 -g 0 -d
|
||||
INSTALL_AVON := $(INSTALL) -m 0644 $(AVON) $(I4LCONFDIR)
|
||||
INSTALL_AVON := $(INSTALL) -m 0644 $(AVON) $(DESTDIR)$(I4LCONFDIR)
|
||||
|
||||
#CFLAGS = -I$(PREFIXDIR)
|
||||
|
||||
|
@ -59,13 +59,13 @@ distclean: clean
|
|||
|
||||
install: depend all
|
||||
ifneq ($(CONFIG_LIB_AREACODE),y)
|
||||
-$(INSTALL_DIR) $(I4LCONFDIR)
|
||||
-test $(AVON) -ot $(I4LCONFDIR)/$(AVON) || ( $(INSTALL_AVON) )
|
||||
-@rm -f $(I4LCONFDIR)/$(AVON).pag $(I4LCONFDIR)/$(AVON).dir
|
||||
-$(INSTALL_DIR) $(DESTDIR)$(I4LCONFDIR)
|
||||
-test $(AVON) -ot $(DESTDIR)$(I4LCONFDIR)/$(AVON) || ( $(INSTALL_AVON) )
|
||||
-@rm -f $(DESTDIR)$(I4LCONFDIR)/$(AVON).pag $(DESTDIR)$(I4LCONFDIR)/$(AVON).dir
|
||||
endif
|
||||
|
||||
deinstall: distclean
|
||||
-rm -f $(I4LCONFDIR)/$(AVON)*
|
||||
-rm -f $(DESTDIR)$(I4LCONFDIR)/$(AVON)*
|
||||
|
||||
createDB.o: createDB.c createDB.h
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: isdntools.c,v 1.21 1998/06/07 21:03:26 akool Exp $
|
||||
/* $Id: isdntools.c,v 1.22 1998/09/26 18:30:30 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Utilities)
|
||||
*
|
||||
|
@ -19,6 +19,29 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: isdntools.c,v $
|
||||
* Revision 1.22 1998/09/26 18:30:30 akool
|
||||
* - quick and dirty Call-History in "-m" Mode (press "h" for more info) added
|
||||
* - eat's one more socket, Stefan: sockets[3] now is STDIN, FIRST_DESCR=4 !!
|
||||
* - Support for tesion)) Baden-Wuerttemberg Tarif
|
||||
* - more Providers
|
||||
* - Patches from Wilfried Teiken <wteiken@terminus.cl-ki.uni-osnabrueck.de>
|
||||
* - better zone-info support in "tools/isdnconf.c"
|
||||
* - buffer-overrun in "isdntools.c" fixed
|
||||
* - big Austrian Patch from Michael Reinelt <reinelt@eunet.at>
|
||||
* - added $(DESTDIR) in any "Makefile.in"
|
||||
* - new Configure-Switches "ISDN_AT" and "ISDN_DE"
|
||||
* - splitted "takt.c" and "tools.c" into
|
||||
* "takt_at.c" / "takt_de.c" ...
|
||||
* "tools_at.c" / "takt_de.c" ...
|
||||
* - new feature
|
||||
* CALLFILE = /var/log/caller.log
|
||||
* CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
|
||||
* in "isdn.conf"
|
||||
* - ATTENTION:
|
||||
* 1. "isdnrep" dies with an seg-fault, if not HTML-Mode (Stefan?)
|
||||
* 2. "isdnlog/Makefile.in" now has hardcoded "ISDN_DE" in "DEFS"
|
||||
* should be fixed soon
|
||||
*
|
||||
* Revision 1.21 1998/06/07 21:03:26 akool
|
||||
* Renamed old to new zone-names (CityCall, RegioCall, GermanCall, GlobalCall)
|
||||
*
|
||||
|
@ -1038,8 +1061,8 @@ const char* area_diff_string(char* number1, char* number2)
|
|||
int area_diff(char* _code, char *_diffcode)
|
||||
{
|
||||
FILE *fp = NULL;
|
||||
char code[15];
|
||||
char diffcode[15];
|
||||
char code[40];
|
||||
char diffcode[40];
|
||||
char value[15];
|
||||
int index;
|
||||
int number;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.2 1998/06/27 00:36:27 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.3 1998/09/26 18:30:42 akool Exp $
|
||||
#
|
||||
# Makefile for loopctrl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -52,17 +52,17 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install-man: $(PROGRAM).man
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install: $(PROGRAM) install-man
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) $(MAN8DIR)/$(MANPAGE)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.7 1998/03/01 20:36:29 keil Exp $
|
||||
# $Id: Makefile.in,v 1.8 1998/09/26 18:30:48 akool Exp $
|
||||
#
|
||||
# Makefile for pcbitctl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -40,18 +40,18 @@ config.status: configure
|
|||
$(PROGRAM): $(MODULES)
|
||||
$(CC) $(CFLAGS) $? $(LDFLAGS) -o $@
|
||||
|
||||
#install-man: $(PROGRAM).man
|
||||
# mkdir -p $(MAN8DIR)
|
||||
# $(INSTALL_MAN) $< $(MAN8DIR)/$(MANPAGE)
|
||||
install-man: $(PROGRAM).man
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $< $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
install: $(PROGRAM) #install-man
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
install: $(PROGRAM) install-man
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
install-strip: $(PROGRAM) install-man
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM) #$(MAN8DIR)/$(MANPAGE)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM) $(DESTDIR)$(MAN8DIR)/$(MANPAGE)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -38,13 +38,13 @@ $(PROGRAM): $(MODULES)
|
|||
$(CC) $(CFLAGS) $(INCLUDES) $(DEFS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
install-strip: $(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(SBINDIR)/$(PROGRAM)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAM) $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
uninstall:
|
||||
rm -f $(SBINDIR)/$(PROGRAM)
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$(PROGRAM)
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ $(PROGRAM)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile.in,v 1.6 1997/10/26 23:20:51 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.7 1998/09/26 18:30:58 akool Exp $
|
||||
#
|
||||
# Makefile for telesctrl
|
||||
# (C) 1997 Fritz Elfert
|
||||
|
@ -46,23 +46,23 @@ hisaxctrl: $(MODULES)
|
|||
$(CC) $(CFLAGS) $? $(LDFLAGS) -o $@
|
||||
|
||||
install: $(PROGRAMS) $(MANPAGES)
|
||||
mkdir -p $(SBINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROGRAMS) $(SBINDIR)
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(MAN8DIR)
|
||||
mkdir -p $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(SBINDIR)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(DESTDIR)$(MAN8DIR)
|
||||
|
||||
install-strip: $(PROGRAMS) $(MANPAGES)
|
||||
mkdir -p $(SBINDIR)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAMS) $(SBINDIR)
|
||||
mkdir -p $(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(MAN8DIR)
|
||||
mkdir -p $(DESTDIR)$(SBINDIR)
|
||||
$(INSTALL_PROGRAM) -s $(PROGRAMS) $(DESTDIR)$(SBINDIR)
|
||||
mkdir -p $(DESTDIR)$(MAN8DIR)
|
||||
$(INSTALL_MAN) $(MANPAGES) $(DESTDIR)$(MAN8DIR)
|
||||
|
||||
uninstall:
|
||||
@for i in `echo $(PROGRAMS)` ; do \
|
||||
rm -f $(SBINDIR)/$$i ; \
|
||||
rm -f $(DESTDIR)$(SBINDIR)/$$i ; \
|
||||
done
|
||||
@for i in `echo $(MANPAGES)` ; do \
|
||||
rm -f $(MAN8DIR)/$$i ; \
|
||||
rm -f $(DESTDIR)$(MAN8DIR)/$$i ; \
|
||||
done
|
||||
|
||||
clean:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# $Id: Makefile.in,v 1.15 1997/10/26 23:42:00 fritz Exp $
|
||||
# $Id: Makefile.in,v 1.16 1998/09/26 18:31:03 akool Exp $
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# Things you can change to personalize the Makefile for your own site. Some #
|
||||
|
@ -163,35 +163,35 @@ programs-d: ignore
|
|||
done
|
||||
|
||||
programs-i: ignore
|
||||
@echo "Installing '$(sbindir)/vboxgetty'..."
|
||||
@$(INSTALL_SBIN) $(TOPDIR)/src/vboxgetty $(sbindir)/vboxgetty
|
||||
@echo "Installing '$(sbindir)/vboxd'..."
|
||||
@$(INSTALL_SBIN) $(TOPDIR)/src/vboxd $(sbindir)/vboxd
|
||||
@echo "Installing '$(bindir)/vboxcnvt'..."
|
||||
@$(INSTALL_BIN) $(TOPDIR)/src/vboxconvert $(bindir)/vboxcnvt
|
||||
@cd $(bindir); \
|
||||
@echo "Installing '$(DESTDIR)$(sbindir)/vboxgetty'..."
|
||||
@$(INSTALL_SBIN) $(TOPDIR)/src/vboxgetty $(DESTDIR)$(sbindir)/vboxgetty
|
||||
@echo "Installing '$(DESTDIR)$(sbindir)/vboxd'..."
|
||||
@$(INSTALL_SBIN) $(TOPDIR)/src/vboxd $(DESTDIR)$(sbindir)/vboxd
|
||||
@echo "Installing '$(DESTDIR)$(bindir)/vboxcnvt'..."
|
||||
@$(INSTALL_BIN) $(TOPDIR)/src/vboxconvert $(DESTDIR)$(bindir)/vboxcnvt
|
||||
@cd $(DESTDIR)$(bindir); \
|
||||
$(LN) -f vboxcnvt vboxtoau; \
|
||||
$(LN) -f vboxcnvt autovbox; \
|
||||
$(LN) -f vboxcnvt vboxmode
|
||||
@echo "Installing '$(bindir)/vboxctrl'..."
|
||||
@$(INSTALL_BIN) $(TOPDIR)/src/vboxctrl $(bindir)/vboxctrl
|
||||
@echo "Installing '$(bindir)/vboxbeep'..."
|
||||
@$(INSTALL_UBIN) $(TOPDIR)/src/vboxbeep $(bindir)/vboxbeep
|
||||
@echo "Installing '$(bindir)/vbox'..."
|
||||
@$(INSTALL_BIN) $(TOPDIR)/src/vbox $(bindir)/vbox
|
||||
@set -e; if [ -f $(sysconfdir)/vboxgetty.conf ]; then \
|
||||
echo "Installing '$(sysconfdir)/vboxgetty.conf.new'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxgetty.conf.example $(sysconfdir)/vboxgetty.conf.new; \
|
||||
@echo "Installing '$(DESTDIR)$(bindir)/vboxctrl'..."
|
||||
@$(INSTALL_BIN) $(TOPDIR)/src/vboxctrl $(DESTDIR)$(bindir)/vboxctrl
|
||||
@echo "Installing '$(DESTDIR)$(bindir)/vboxbeep'..."
|
||||
@$(INSTALL_UBIN) $(TOPDIR)/src/vboxbeep $(DESTDIR)$(bindir)/vboxbeep
|
||||
@echo "Installing '$(DESTDIR)$(bindir)/vbox'..."
|
||||
@$(INSTALL_BIN) $(TOPDIR)/src/vbox $(DESTDIR)$(bindir)/vbox
|
||||
@set -e; if [ -n "$(DESTDIR)" -o -f $(DESTDIR)$(sysconfdir)/vboxgetty.conf ]; then \
|
||||
echo "Installing '$(DESTDIR)$(sysconfdir)/vboxgetty.conf.new'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxgetty.conf.example $(DESTDIR)$(sysconfdir)/vboxgetty.conf.new; \
|
||||
else \
|
||||
echo "Installing '$(sysconfdir)/vboxgetty.conf'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxgetty.conf.example $(sysconfdir)/vboxgetty.conf; \
|
||||
echo "Installing '$(DESTDIR)$(sysconfdir)/vboxgetty.conf'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxgetty.conf.example $(DESTDIR)$(sysconfdir)/vboxgetty.conf; \
|
||||
fi
|
||||
@set -e; if [ -f $(sysconfdir)/vboxd.conf ]; then \
|
||||
echo "Installing '$(sysconfdir)/vboxd.conf.new'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxd.conf.example $(sysconfdir)/vboxd.conf.new; \
|
||||
@set -e; if [ -n "$(DESTDIR)" -o -f $(DESTDIR)$(sysconfdir)/vboxd.conf ]; then \
|
||||
echo "Installing '$(DESTDIR)$(sysconfdir)/vboxd.conf.new'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxd.conf.example $(DESTDIR)$(sysconfdir)/vboxd.conf.new; \
|
||||
else \
|
||||
echo "Installing '$(sysconfdir)/vboxd.conf'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxd.conf.example $(sysconfdir)/vboxd.conf; \
|
||||
echo "Installing '$(DESTDIR)$(sysconfdir)/vboxd.conf'..."; \
|
||||
$(INSTALL_SYSCONF) $(TOPDIR)/examples/vboxd.conf.example $(DESTDIR)$(sysconfdir)/vboxd.conf; \
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
|
@ -213,7 +213,7 @@ DIRECTORIES_I = $(prefix) \
|
|||
directories-i: ignore
|
||||
@set -e; for i in `echo $(DIRECTORIES_I)`; do \
|
||||
if [ ! -d $$i ]; then \
|
||||
$(INSTALL_DIRS) $$i; \
|
||||
$(INSTALL_DIRS) $(DESTDIR)$$i; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
@ -270,10 +270,10 @@ scripts-d: ignore
|
|||
done
|
||||
|
||||
scripts-i: ignore
|
||||
@echo "Installing '$(bindir)/vboxmail'..."
|
||||
@$(INSTALL_SHBIN) $(TOPDIR)/utils/vboxmail $(bindir)/vboxmail
|
||||
@echo "Installing '$(bindir)/vboxplay'..."
|
||||
@$(INSTALL_SHBIN) $(TOPDIR)/utils/vboxplay $(bindir)/vboxplay
|
||||
@echo "Installing '$(DESTDIR)$(bindir)/vboxmail'..."
|
||||
@$(INSTALL_SHBIN) $(TOPDIR)/utils/vboxmail $(DESTDIR)$(bindir)/vboxmail
|
||||
@echo "Installing '$(DESTDIR)$(bindir)/vboxplay'..."
|
||||
@$(INSTALL_SHBIN) $(TOPDIR)/utils/vboxplay $(DESTDIR)$(bindir)/vboxplay
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# #
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
EDEF=$(CFLAGS)
|
||||
ifeq (../.config,$(wildcard ../.config))
|
||||
include ../.config
|
||||
MAN1DIROPT = MANDIR=$(CONFIG_MANDIR)/man1
|
||||
MAN3DIROPT = LIBMANDIR=$(CONFIG_MANDIR)/man3
|
||||
MAN5DIROPT = FILEMANDIR=$(CONFIG_MANDIR)/man5
|
||||
MAN1DIROPT = MANDIR=$(DESTDIR)$(CONFIG_MANDIR)/man1
|
||||
MAN3DIROPT = LIBMANDIR=$(DESTDIR)$(CONFIG_MANDIR)/man3
|
||||
MAN5DIROPT = FILEMANDIR=$(DESTDIR)$(CONFIG_MANDIR)/man5
|
||||
MANDIROPTS = $(MAN1DIROPT) $(MAN3DIROPT) $(MAN5DIROPT)
|
||||
BINDIROPT = BINDIR=$(CONFIG_BINDIR)
|
||||
BINDIROPT = BINDIR=$(DESTDIR)$(CONFIG_BINDIR)
|
||||
endif
|
||||
|
||||
all: xisdnload
|
||||
|
@ -36,5 +36,5 @@ install: xisdnload install-man
|
|||
$(MAKE) -f Makefile $(BINDIROPT) install
|
||||
|
||||
uninstall:
|
||||
rm -f $(CONFIG_BINDIR)/xisdnload
|
||||
find $(CONFIG_MANDIR) -name "xisdnload.*" -exec rm -f {} \;
|
||||
rm -f $(DESTDIR)$(CONFIG_BINDIR)/xisdnload
|
||||
find $(DESTDIR)$(CONFIG_MANDIR) -name "xisdnload.*" -exec rm -f {} \;
|
||||
|
|
|
@ -18,11 +18,11 @@ ifeq (../.config,$(wildcard ../.config))
|
|||
ifneq ($(CONFIG_XMONISDN_DOWNCMD),"")
|
||||
I4LU_DEFINES += -DNETDOWN_COMMAND=\\\"$(shell echo $(CONFIG_XMONISDN_DOWNCMD))\\\"
|
||||
endif
|
||||
MAN1DIROPT = MANDIR=$(CONFIG_MANDIR)/man1
|
||||
MAN3DIROPT = LIBMANDIR=$(CONFIG_MANDIR)/man3
|
||||
MAN5DIROPT = FILEMANDIR=$(CONFIG_MANDIR)/man5
|
||||
MAN1DIROPT = MANDIR=$(DESTDIR)$(CONFIG_MANDIR)/man1
|
||||
MAN3DIROPT = LIBMANDIR=$(DESTDIR)$(CONFIG_MANDIR)/man3
|
||||
MAN5DIROPT = FILEMANDIR=$(DESTDIR)$(CONFIG_MANDIR)/man5
|
||||
MANDIROPTS = $(MAN1DIROPT) $(MAN3DIROPT) $(MAN5DIROPT)
|
||||
BINDIROPT = BINDIR=$(CONFIG_BINDIR)
|
||||
BINDIROPT = BINDIR=$(DESTDIR)$(CONFIG_BINDIR)
|
||||
endif
|
||||
|
||||
all: xmonisdn
|
||||
|
@ -57,5 +57,5 @@ install: xmonisdn install-man
|
|||
$(MAKE) -f Makefile $(BINDIROPT) install.all
|
||||
|
||||
uninstall:
|
||||
rm -f $(CONFIG_BINDIR)/xmonisdn
|
||||
find $(CONFIG_MANDIR) -name "xmonisdn.*" -exec rm -f {} \;
|
||||
rm -f $(DESTDIR)$(CONFIG_BINDIR)/xmonisdn
|
||||
find $(DESTDIR)$(CONFIG_MANDIR) -name "xmonisdn.*" -exec rm -f {} \;
|
||||
|
|
Loading…
Reference in New Issue