More autotool changes

- remove debugtool and doc

Signed-off-by: Karsten Keil <keil@b1-systems.de>
This commit is contained in:
Karsten Keil 2010-02-11 21:02:13 +01:00
parent d20499cf69
commit 5ec6fc99a2
9 changed files with 478 additions and 580 deletions

View File

@ -2,7 +2,7 @@ if OPT_EXAMPLE
MAYBE_EXAMPLE = example
endif
SUBDIRS = include lib tools bridge $(MAYBE_EXAMPLE)
SUBDIRS = include lib tools bridge l1oip $(MAYBE_EXAMPLE)
CLEANFILES = *~

View File

@ -58,7 +58,7 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = include lib tools bridge example
DIST_SUBDIRS = include lib tools bridge l1oip example
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@ -186,7 +186,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@OPT_EXAMPLE_TRUE@MAYBE_EXAMPLE = example
SUBDIRS = include lib tools bridge $(MAYBE_EXAMPLE)
SUBDIRS = include lib tools bridge l1oip $(MAYBE_EXAMPLE)
CLEANFILES = *~
all: all-recursive

3
configure vendored
View File

@ -17231,7 +17231,7 @@ fi
done
ac_config_files="$ac_config_files Makefile include/Makefile lib/Makefile bridge/Makefile tools/Makefile example/Makefile"
ac_config_files="$ac_config_files Makefile include/Makefile lib/Makefile bridge/Makefile l1oip/Makefile tools/Makefile example/Makefile"
#AC_CONFIG_FILES([Makefile
@ -18241,6 +18241,7 @@ do
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
"bridge/Makefile") CONFIG_FILES="$CONFIG_FILES bridge/Makefile" ;;
"l1oip/Makefile") CONFIG_FILES="$CONFIG_FILES l1oip/Makefile" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
"example/Makefile") CONFIG_FILES="$CONFIG_FILES example/Makefile" ;;

View File

@ -49,6 +49,7 @@ AC_CONFIG_FILES([Makefile
include/Makefile
lib/Makefile
bridge/Makefile
l1oip/Makefile
tools/Makefile
example/Makefile
])

View File

@ -1,487 +0,0 @@
/*
* mISDNdebugtool: Userspace counterpart of the mISDN_debugtool kernel module.
*
* Copyright (C) 2007, Nadi Sarrar
*
* Nadi Sarrar <nadi@beronet.com>
*
* 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 of the License, 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., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The full GNU General Public License is included in this distribution in the
* file called LICENSE.
*
*/
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <getopt.h>
#include <linux/mISDNdebugtool.h>
#define BUFLEN 1024
static int arg_daemon = 0;
static int arg_verbose = 0;
static int arg_udp_port = 50501;
static int arg_dontenable = 0;
static char *arg_ports = NULL;
static char *arg_dfile = NULL;
static char *arg_lfile = NULL;
static char usage[] =
"Usage: %s [-p <mISDN-port>,..] [-f <prefix>] [-l <prefix>] [-b <UDP-port>] [-d] [-n] [-v] [-h]\n"
"\n"
"Arguments:\n"
" -p <mISDN-port>,.. mISDN ports to care for, default: care for all\n"
" -f <prefix> enable dumpfile mode, use this prefix for filenames\n"
" -l <prefix> enable logfile mode, use this prefix for filenames\n"
" -b <UDP-port> UDP port to bind to, default: 50501\n"
" -d daemon mode\n"
" -n do not enable mISDN_debugtool kernel module\n"
" -v print packets to stdout\n"
" -h print this help text and exit\n";
static char *self;
static int disable_kernel_debugtool = 0;
static void fail (char *err)
{
fprintf(stderr, "ERROR: %s\n", err);
exit(1);
}
static void fail_perr (char *err)
{
perror(err);
exit(1);
}
/* file helper */
static void _init_file (FILE **file, char *fn)
{
*file = fopen(fn, "w");
if (!*file || ferror(*file)) {
fprintf(stderr, "ERROR: failed to open %s for writing!\n", fn);
exit(1);
}
}
static void init_dfile (FILE **file, char *fn)
{
_init_file(file, fn);
fprintf(*file, "EyeSDN");
}
static void init_lfile (FILE **file, char *fn)
{
_init_file(file, fn);
}
/* port filter */
struct port {
int pnum;
FILE *df;
FILE *lf;
struct port *next;
};
struct port *ports = NULL;
static inline struct port* _get_port (int pnum)
{
struct port *p = ports;
for (; p; p = p->next)
if (p->pnum == pnum)
return p;
return NULL;
}
static struct port* new_port (int pnum)
{
struct port *p;
char fn[256];
if ((p = _get_port(pnum)))
return p;
p = calloc(1, sizeof(struct port));
if (!p)
fail_perr("calloc()");
if (arg_dfile) {
if (snprintf(fn, sizeof(fn), "%s-%d", arg_dfile, pnum) >= sizeof(fn))
fail("dumpfile prefix too long");
init_dfile(&p->df, fn);
}
if (arg_lfile) {
if (snprintf(fn, sizeof(fn), "%s-%d", arg_lfile, pnum) >= sizeof(fn))
fail("logfile prefix too long");
init_lfile(&p->lf, fn);
}
p->pnum = pnum;
p->next = ports;
ports = p;
return p;
}
static void init_ports (void)
{
char *tok, *dup;
int pnum;
if (!arg_ports)
return;
dup = strdup(arg_ports);
if (!dup)
fail_perr("strdup()");
while ((tok = strsep(&dup, ","))) {
if (sscanf(tok, "%d", &pnum) == 1 && pnum > 0)
new_port(pnum);
else
fail("port value incorrect");
}
}
static struct port* get_port (int pnum)
{
struct port *p = ports;
p = _get_port(pnum);
if (p)
return p;
if (!arg_ports)
return new_port(pnum);
return NULL;
}
static char *typestr (unsigned char type)
{
static char *str[] = {
"??",
"D_RX",
"D_TX",
"L1_UP",
"L1_DOWN",
"CRC_ERR",
"NEWSTATE",
};
if (type <= NEWSTATE)
return str[type];
return str[0];
}
static void write_esc (FILE *file, unsigned char *buf, int len)
{
int i, byte;
for (i = 0; i < len; ++i) {
byte = buf[i];
if (byte == 0xff || byte == 0xfe) {
fputc(0xfe, file);
byte -= 2;
}
fputc(byte, file);
}
if (ferror(file)) {
fprintf(stderr, "Error on writing to file!\nAborting...");
exit(1);
}
}
static void write_header (FILE *file, mISDN_dt_header_t *hdr)
{
unsigned char buf[12];
int usecs;
unsigned long secs;
int origin;
if (hdr->stack_protocol & 0x10)
origin = hdr->type == D_TX ? 0 : 1;
else
origin = hdr->type == D_TX ? 1 : 0;
secs = hdr->time.tv_sec;
usecs = hdr->time.tv_nsec / 1000;
buf[0] = (unsigned char)(0xff & (usecs >> 16));
buf[1] = (unsigned char)(0xff & (usecs >> 8));
buf[2] = (unsigned char)(0xff & (usecs >> 0));
buf[3] = (unsigned char)0;
buf[4] = (unsigned char)(0xff & (secs >> 24));
buf[5] = (unsigned char)(0xff & (secs >> 16));
buf[6] = (unsigned char)(0xff & (secs >> 8));
buf[7] = (unsigned char)(0xff & (secs >> 0));
buf[8] = (unsigned char) 0;
buf[9] = (unsigned char) origin;
buf[10]= (unsigned char)(0xff & (hdr->plength >> 8));
buf[11]= (unsigned char)(0xff & (hdr->plength >> 0));
return write_esc(file, buf, 12);
}
static void log_packet (FILE *file, struct sockaddr_in *sock_client, mISDN_dt_header_t *hdr, unsigned char *buf)
{
int i;
fprintf(file, "Received packet from %s:%d (vers:%d protocol:%s type:%s id:%08x plen:%d)\n%ld.%ld: ",
inet_ntoa(sock_client->sin_addr),
ntohs(sock_client->sin_port),
hdr->version, hdr->stack_protocol & 0x10 ? "NT" : "TE",
typestr(hdr->type),
hdr->stack_id,
hdr->plength,
hdr->time.tv_sec,
hdr->time.tv_nsec);
switch (hdr->type) {
case D_RX:
case D_TX:
for (i = 0; i < hdr->plength; ++i)
fprintf(file, "%.2hhx ", *(buf + i));
break;
case NEWSTATE:
fprintf(file, "%u %s", *(unsigned int *)buf, buf + 4);
break;
default:
break;
}
fprintf(file, "\n\n");
}
static inline void handle_packet (struct sockaddr_in *sock_client, mISDN_dt_header_t *hdr, unsigned char *buf)
{
struct port *p = get_port(hdr->stack_id >> 8);
if (!p)
return;
if (arg_verbose)
log_packet(stdout, sock_client, hdr, buf);
if (p->lf) {
log_packet(p->lf, sock_client, hdr, buf);
fflush(p->lf);
}
if (p->df && (hdr->type == D_RX || hdr->type == D_TX)) {
fputc(0xff, p->df);
write_header(p->df, hdr);
write_esc(p->df, buf, hdr->plength);
fflush(p->df);
}
}
static int kernel_debugtool_disabled (void)
{
int e;
FILE *enabled = fopen("/sys/class/mISDN-debugtool/enabled", "r");
if (!enabled)
fail_perr("fopen(\"/sys/class/mISDN-debugtool/enabled\")");
if (fscanf(enabled, "%d", &e) != 1)
fail("Could not get enabled status");
fclose(enabled);
return !e;
}
static void kernel_debugtool_echo (char *str)
{
FILE *enabled = fopen("/sys/class/mISDN-debugtool/enabled", "w");
if (!enabled)
fail_perr("fopen(\"/sys/class/mISDN-debugtool/enabled\")");
fprintf(enabled, str);
fclose(enabled);
}
static void kernel_debugtool_enable (void)
{
if (kernel_debugtool_disabled()) {
disable_kernel_debugtool = 1;
kernel_debugtool_echo("1");
}
}
static void kernel_debugtool_disable (void)
{
if (disable_kernel_debugtool)
kernel_debugtool_echo("0");
}
static void sighandler (int signo)
{
struct port* p;
printf("Exiting ...\n");
for (p = ports; p; p = p->next) {
if (p->df) {
fflush(p->df);
fclose(p->df);
}
if (p->lf) {
fflush(p->lf);
fclose(p->lf);
}
}
kernel_debugtool_disable();
exit(0);
}
int main (int argc, char *argv[])
{
struct sockaddr_in sock_server;
struct sockaddr_in sock_client;
int s;
socklen_t socklen = sizeof(struct sockaddr_in);
char buf[BUFLEN];
size_t size;
int c;
int failed = 0;
int noargs = 1;
self = argv[0];
signal(SIGINT, sighandler);
signal(SIGKILL, sighandler);
signal(SIGTERM, sighandler);
/* parse args */
while ((c = getopt(argc, argv, "p:f:l:b:dnvh")) != -1) {
noargs = 0;
switch (c) {
case 'p':
if (!arg_ports)
arg_ports = optarg;
else {
fprintf(stderr, "%s: argument given more than once -- p\n", self);
failed = 1;
}
break;
case 'f':
if (!arg_dfile)
arg_dfile = optarg;
else {
fprintf(stderr, "%s: argument given more than once -- f\n", self);
failed = 1;
}
break;
case 'l':
if (!arg_lfile)
arg_lfile = optarg;
else {
fprintf(stderr, "%s: argument given more than once -- l\n", self);
failed = 1;
}
break;
case 'b':
if (!optarg || sscanf(optarg, "%d", &arg_udp_port) != 1 || arg_udp_port < 1)
fail("UDP port value incorrect");
break;
case 'd':
arg_daemon = 1;
break;
case 'v':
arg_verbose = 1;
break;
case 'n':
arg_dontenable = 1;
break;
case 'h':
printf(usage, self);
exit(0);
break;
default:
failed = 1;
}
}
if (noargs || failed) {
if (failed)
fprintf(stderr, "\n");
fprintf(failed ? stderr : stdout, usage, self);
exit(failed ? -1 : 0);
}
if (!arg_verbose && !arg_dfile && !arg_lfile) {
fprintf(stderr, "I ain't got things to do!\nPlease give me a job with -f, -l or -v.\n");
exit(1);
}
if (arg_daemon && arg_verbose) {
fprintf(stderr, "Option -v in combination with -d makes no sense.\n");
exit(1);
}
if (!arg_dontenable)
kernel_debugtool_enable();
if (arg_daemon && daemon(1, 0))
fail("daemon()");
init_ports();
if ((s = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0)
fail_perr("socket()");
sock_server.sin_family = AF_INET;
sock_server.sin_port = htons(arg_udp_port);
sock_server.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(s, (struct sockaddr *) &sock_server, socklen) < 0)
fail_perr("bind()");
for (;;) {
size = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *) &sock_client, &socklen);
if (size < 0)
fail_perr("recvfrom()");
if (size < sizeof(mISDN_dt_header_t)) {
printf("Invalid Packet! (size(%d) < %d)\n", size, sizeof(mISDN_dt_header_t));
continue;
}
mISDN_dt_header_t *hdr = (mISDN_dt_header_t *)buf;
if (hdr->plength + sizeof(mISDN_dt_header_t) != size) {
printf("Invalid Packet! (plen:%d, but size:%d)\n", hdr->plength, size);
continue;
}
handle_packet(&sock_client, hdr, buf + sizeof(mISDN_dt_header_t));
}
printf("\nFailed!\n");
return 0;
}

View File

@ -1,87 +0,0 @@
mISDNdebugtool
==============
I. Intro
II. Setup
III. Changing the UDP port
IV. Usage of mISDNdebugtool
I. Intro
--------
mISDNdebugtool consists of a kernel module (mISDN_debugtool) and a user space tool
(mISDNdebugtool).
The kernel modules takes care of transmitting a UDP packet for each ISDN dchannel
frame, and for events like layer 1 up/down. For hfc_multi, it also transmits packets
on state changes and CRC errors.
The mISDNdebugtool program is the counterpart to the kernel module. It captures the
UDP packets, does some parsing and writes them to stdout, to a logfile, and/or to a
wireshark compatible dumpfile. It also can work as a daemon, see section IV.
II. Setup
---------
1. Install the latest mISDN and mISDNuser. On how to obtain the sources, read:
http://www.misdn.org/index.php/GIT
2. Configure the mISDN kernel modules. On how to do that, read:
http://www.misdn.org/index.php/Installing_mISDN
http://www.misdn.org/index.php/Configuring_mISDN
3. Add the following line to you /etc/mISDN.conf:
<module>mISDN_debugtool</module>
4. Load the mISDN kernel modules via:
mISDN start
5. Enable the debugging facility:
echo 1 > /sys/class/mISDN-debugtool/enabled
6. Validate your setup by running the mISDNdebugtool user space program to capture
all packets transmitted by the mISDNdebugtool kernel module and log them to stdout:
mISDNdebugtool -v
Now let something happen on your ISDN lines, i.e. by plugging in a phone. You should
now see debugging messages.
III. Changing the UDP port
--------------------------
1. Edit /etc/mISDN.conf. In this example, we use UDP port 12345:
<module port="12345">mISDN_debugtool</module>
2. Reload your mISDN kernel modules:
mISDN restart
3. Use the UDP port parameter of mISDNdebugtool:
mISDNdebugtool -b 12345
IV. Usage of mISDNdebugtool
---------------------------
mISDNdebugtool [-p <mISDN-port>,..] [-f <prefix>] [-l <prefix>] [-b <UDP-port>] [-d] [-v] [-h]
Arguments:
-p <mISDN-port>,.. mISDN ports to care for, default: care for all
-f <prefix> enable dumpfile mode, use this prefix for filenames
-l <prefix> enable logfile mode, use this prefix for filenames
-b <UDP-port> UDP port to bind to, default: 50501
-d daemon mode
-v print packets to stdout
-h print this help text and exit

4
l1oip/Makefile.am Normal file
View File

@ -0,0 +1,4 @@
bin_PROGRAMS = l1oipctrl
l1oipctrl_SOURCES = l1oipctrl.c
CLEANFILES = *~

466
l1oip/Makefile.in Normal file
View File

@ -0,0 +1,466 @@
# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = l1oipctrl$(EXEEXT)
subdir = l1oip
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_l1oipctrl_OBJECTS = l1oipctrl.$(OBJEXT)
l1oipctrl_OBJECTS = $(am_l1oipctrl_OBJECTS)
l1oipctrl_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(l1oipctrl_SOURCES)
DIST_SOURCES = $(l1oipctrl_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
l1oipctrl_SOURCES = l1oipctrl.c
CLEANFILES = *~
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu l1oip/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu l1oip/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
l1oipctrl$(EXEEXT): $(l1oipctrl_OBJECTS) $(l1oipctrl_DEPENDENCIES)
@rm -f l1oipctrl$(EXEEXT)
$(LINK) $(l1oipctrl_OBJECTS) $(l1oipctrl_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l1oipctrl.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-info: install-info-am
install-man:
install-pdf: install-pdf-am
install-ps: install-ps-am
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-binPROGRAMS
# 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.
.NOEXPORT:

View File

@ -17,8 +17,8 @@
#include <netdb.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <mlayer3.h>
#include <mbuffer.h>
#include <mISDN/mlayer3.h>
#include <mISDN/mbuffer.h>
#include <errno.h>
#define AF_COMPATIBILITY_FUNC
#include <compat_af_isdn.h>