From dcc8faf7a28745d566f662969c09e9c41ebd0408 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 14 Jan 2004 22:45:22 +0000 Subject: add man page git-svn-id: file:///home/lennart/svn/public/bidilink/trunk@8 9cde1c1d-e4d0-0310-8a68-bf217395ea82 --- Makefile.am | 6 +- configure.ac | 14 ++- doc/README.html.in | 16 +-- man/Makefile.am | 37 +++++++ man/bidilink.1.xml.in | 117 ++++++++++++++++++++++ man/xmltoman.css | 30 ++++++ man/xmltoman.dtd | 39 ++++++++ man/xmltoman.xsl | 120 ++++++++++++++++++++++ src/Makefile | 269 ++++++++++++++++++++++++++++++++++++++++++++++---- src/Makefile.am | 3 + src/bidilink.c | 2 +- src/client-tty.c | 2 - 12 files changed, 620 insertions(+), 35 deletions(-) create mode 100644 man/Makefile.am create mode 100644 man/bidilink.1.xml.in create mode 100644 man/xmltoman.css create mode 100644 man/xmltoman.dtd create mode 100644 man/xmltoman.xsl diff --git a/Makefile.am b/Makefile.am index dd5befa..b6109d1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,7 @@ # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. EXTRA_DIST=bootstrap.sh README LICENSE -SUBDIRS=src doc # man +SUBDIRS=src doc man MAINTAINERCLEANFILES = README noinst_DATA = README @@ -31,8 +31,8 @@ homepage: test -d $$HOME/homepage/lennart mkdir -p $$HOME/homepage/lennart/projects/bidilink cp *.tar.gz $$HOME/homepage/lennart/projects/bidilink - cp man/bidilink.8.xml man/xmltoman.css man/xmltoman.xsl man/xmltoman.dtd doc/style.css doc/README.html $$HOME/homepage/lennart/projects/aeswepd - cp $$HOME/homepage/lennart/projects/bidilink/README.html $$HOME/homepage/lennart/projects/aeswepd/index.html + cp man/bidilink.1.xml man/xmltoman.css man/xmltoman.xsl man/xmltoman.dtd doc/style.css doc/README.html $$HOME/homepage/lennart/projects/bidilink + cp $$HOME/homepage/lennart/projects/bidilink/README.html $$HOME/homepage/lennart/projects/bidilink/index.html distcleancheck: @: diff --git a/configure.ac b/configure.ac index ad456aa..4803a9a 100644 --- a/configure.ac +++ b/configure.ac @@ -59,6 +59,18 @@ AC_CHECK_FUNCS([dup2 gethostbyname memset select socket strcspn strdup strerror] AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h termios.h unistd.h]) +# Where to place the UUCP lock directory +AC_ARG_WITH(lockdir, AS_HELP_STRING(--with-lockdir=DIR,The UUCP lock directory (/var/lock))) + +if test "x$with_lockdir" = xyes -o "x$with_lockdir" = xno -o "x$with_lockdir" = x ; then + LOCKDIR="/var/lock" +else + LOCKDIR="$with_lockdir" +fi + +AC_MSG_NOTICE([*** UUCP lock directory is $LOCKDIR ***]) +AC_SUBST(LOCKDIR) + # LYNX documentation generation AC_ARG_ENABLE(lynx, AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), @@ -98,5 +110,5 @@ fi AM_CONDITIONAL([USE_XMLTOMAN], [test "x$xmltoman" = xyes]) -AC_CONFIG_FILES([src/Makefile Makefile doc/Makefile doc/README.html]) # man/Makefile ]) +AC_CONFIG_FILES([src/Makefile Makefile doc/Makefile doc/README.html man/Makefile]) AC_OUTPUT diff --git a/doc/README.html.in b/doc/README.html.in index f9f2cc2..88ed4de 100644 --- a/doc/README.html.in +++ b/doc/README.html.in @@ -60,7 +60,7 @@ bidirectional data streams together. It extends the standard Unix
  • std: - STDIN, STDOUT of the process
  • exec:PROGRAM - fork() off a process and use its STDIN and STDOUT
  • tty:TTYDEVICE - Open a TTY device (like a serial port) as client
  • -
  • pty:PTYNAME - Allocate a pseudo TTY device as master
  • +
  • pty:[PTYNAME] - Allocate a pseudo TTY device as master
  • tcp-client:HOSTNAME:PORT - Connect to another or the local host via TCP/IP
  • tcp-server:[IPADDRESS:]PORT - Listen on a local port and wait for an incoming connection
  • unix-client:SOCKNAME - Connect to a local Unix domain socket
  • @@ -77,32 +77,32 @@ bidirectional data streams together. It extends the standard Unix

    Documentation

    -

    Have a look on the man page bidilink(1). (An XSLT capable browser is required)

    +

    Have a look on the man page bidilink(1). (An XSLT capable browser is required)

    -

    Usage examples

    +

    bidilink may be used in several different ways. Some examples follow.

    -

    Forward a serial port of another machine to a local pseudo TTY, which is compatible with pppd and minicom:

    +

    Forward a serial port of another machine to a local pseudo TTY

    bidilink "exec:ssh OTHERMACHINE bidilink tty:/dev/ttyS0" pty:/dev/rmodem

    This will create a symbolic link /dev/rmodem to the allocated pseudo TTY device. Point your application to the device to use the forwarded port. This requires that bidilink is -installed on both the local machine and the remote machine.

    +installed on both the local machine and the remote machine. The pseudo tty is compatible with pppd or minicom.

    -

    Bind a local serial port to a local TCP port:

    +

    Bind a local serial port to a local TCP port

    bidilink tty:/dev/ttyS0 tcp-server:4711

    Use telnet localhost 4711 to connect to the device

    -

    Bind a remote serial port to a local pseudo TTY:

    +

    Bind a remote TCP port to a local pseudo TTY

    bidilink pty:/dev/rmodem tcp-client:OTHERMACHINE:4711

    This may be used as client to the server trick descibed above.

    -

    Open a local Unix socket (SOCK_STREAM) to the Internet:

    +

    Open a local Unix socket (SOCK_STREAM) to the Internet:

    bidilink tcp-server:4711 unix-client:/tmp/.esd/socket
    diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 0000000..ede7107 --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,37 @@ +# $Id$ + +# This file is part of bidilink. +# +# bidilink 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. +# +# bidilink 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 bidilink; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +man_MANS = bidilink.1 + +noinst_DATA = bidilink.1.xml + +EXTRA_DIST = $(man_MANS) bidilink.1.xml.in xmltoman.css xmltoman.xsl xmltoman.dtd + +CLEANFILES = bidilink.1.xml + +bidilink.1.xml: bidilink.1.xml.in Makefile + sed -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' $< > $@ + +if USE_XMLTOMAN + +CLEANFILES += $(man_MANS) + +bidilink.1: bidilink.1.xml Makefile + xmltoman $< > $@ + +endif diff --git a/man/bidilink.1.xml.in b/man/bidilink.1.xml.in new file mode 100644 index 0000000..15dc33a --- /dev/null +++ b/man/bidilink.1.xml.in @@ -0,0 +1,117 @@ + + + + + + + + + + + + bidilink [-v|--verbose] STREAM1 [STREAM2] + bidilink -h|--help + + + +

    bidilink is a general purpose Unix tool for linking two + bidirectional data streams together. It extends the standard + Unix "filter" paradigma to bidrectional streams.

    + +

    bidilink has support for several different drivers which may + be connected. You have to specify at least one, at most two of + them on the command line. If you specify just one driver the + second is automatically set to std:, which is the combination + of the process' STDIN and STDOUT.

    + +

    Besides the order of initialization there is no difference in + specifying the stream specifications in a different order.

    +
    + + + + + + + + + +
    + +

    std: The process STDIN and STDOUT pipes. If you + connect the std: driver with itself, strange things + may happen.

    + +

    exec:PROGRAM Fork off a process and use its STDIN + and STDOU pipes.

    + +

    tty:DEVICE Open a TTY device (like + /dev/ttyS0). If you want to change TTY parameters + (like baudrate) do so by calling previous to running bidilink.

    + +

    pty:[PTYSYMLINK] Open a pseudo TTY (PTY) as master + and create a symbolic link to the slave device. If you omit the + symlink path the name of the PTY slave is written to STDERR.

    + +

    tcp-client:HOSTNAME:PORT Connect a TCP socket to a + remote host.

    + +

    tcp-server:[IPADDRESS:]PORT Listen a local port and + wait for an incoming connection. You may specify an IP adress to + listen on. If you omit that the default of 0.0.0.0 is selected, + i.e. listen on all local IP adresses. This driver is limited to + a single connection. After an incoming connection was + established bidilink will close the listening port.

    + +

    unix-client:SOCKNAME Make a stream connection to a + local Unix socket.

    + +

    unix-server:SOCKNAME Listen on a local Unix + socket. This driver is limited to a single connection in the + same way as tcp-server:

    + +
    + +
    +

    + +

    +
    + +
    +

    bidilink was written by Lennart Poettering + <@PACKAGE_BUGREPORT@>. bidilink is available + at +

    +
    + +
    +

    This man page was written using by Oliver Kurth.

    +
    + +
    diff --git a/man/xmltoman.css b/man/xmltoman.css new file mode 100644 index 0000000..1548583 --- /dev/null +++ b/man/xmltoman.css @@ -0,0 +1,30 @@ +/* $Id$ */ + +/*** + This file is part of bidilink. + + bidilink 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. + + bidilink 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 bidilink; if not, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +***/ + +body { color: black; background-color: white; margin: 0.5cm; } +a:link, a:visited { color: #900000; } +h1 { text-transform:uppercase; font-size: 18pt; color: #00009F; } +p { margin-left:1cm; margin-right:1cm; } +.cmd { font-family:monospace; } +.file { font-family:monospace; } +.arg { text-transform:uppercase; font-family:monospace; font-style: italic; } +.opt { font-family:monospace; font-weight: bold; } +.manref { font-family:monospace; } +.option .optdesc { margin-left:2cm; } diff --git a/man/xmltoman.dtd b/man/xmltoman.dtd new file mode 100644 index 0000000..b8c9d00 --- /dev/null +++ b/man/xmltoman.dtd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/man/xmltoman.xsl b/man/xmltoman.xsl new file mode 100644 index 0000000..37eccc8 --- /dev/null +++ b/man/xmltoman.xsl @@ -0,0 +1,120 @@ + + + + + + + + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + + + + + + <xsl:value-of select="@name"/>(<xsl:value-of select="@section"/>) + + + + +

    Name

    +

    + + - + +

    + + + +
    + + +

    + +

    +
    + + +

    + +

    +
    + + + + + + + + + + + + + + +
    + +
    +
    + + +

    Synopsis

    + +
    + + +

    Synopsis

    + +
    + + +

    Description

    + +
    + + +

    Options

    + +
    + + +

    + +
    + + +
    +
    + + + + + () + + + () + + + + + + + + +
    diff --git a/src/Makefile b/src/Makefile index cdda62a..da18d4b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -82,6 +82,7 @@ LDFLAGS = LIBOBJS = LIBS = LN_S = ln -s +LOCKDIR = /var/lock LTLIBOBJS = MAKEINFO = ${SHELL} /home/lennart/projects/bidilink/missing --run makeinfo OBJEXT = o @@ -137,6 +138,8 @@ bidilink_SOURCES = bidilink.c client-tty.h exec.h server-tty.h std.h \ client-tcp.h client-unix.h server-tcp.h server-unix.h stream.h \ client-tty.c exec.c server-tty.c std.c + +bidilink_CFLAGS = -DLOCKDIR="\"$(LOCKDIR)\"" subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -145,10 +148,12 @@ CONFIG_CLEAN_FILES = bin_PROGRAMS = bidilink$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) -am_bidilink_OBJECTS = bidilink.$(OBJEXT) client-tcp.$(OBJEXT) \ - client-unix.$(OBJEXT) server-tcp.$(OBJEXT) \ - server-unix.$(OBJEXT) stream.$(OBJEXT) client-tty.$(OBJEXT) \ - exec.$(OBJEXT) server-tty.$(OBJEXT) std.$(OBJEXT) +am_bidilink_OBJECTS = bidilink-bidilink.$(OBJEXT) \ + bidilink-client-tcp.$(OBJEXT) bidilink-client-unix.$(OBJEXT) \ + bidilink-server-tcp.$(OBJEXT) bidilink-server-unix.$(OBJEXT) \ + bidilink-stream.$(OBJEXT) bidilink-client-tty.$(OBJEXT) \ + bidilink-exec.$(OBJEXT) bidilink-server-tty.$(OBJEXT) \ + bidilink-std.$(OBJEXT) bidilink_OBJECTS = $(am_bidilink_OBJECTS) bidilink_LDADD = $(LDADD) bidilink_DEPENDENCIES = @@ -157,12 +162,16 @@ bidilink_LDFLAGS = DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles -DEP_FILES = ./$(DEPDIR)/bidilink.Po \ - ./$(DEPDIR)/client-tcp.Po ./$(DEPDIR)/client-tty.Po \ - ./$(DEPDIR)/client-unix.Po ./$(DEPDIR)/exec.Po \ - ./$(DEPDIR)/server-tcp.Po ./$(DEPDIR)/server-tty.Po \ - ./$(DEPDIR)/server-unix.Po ./$(DEPDIR)/std.Po \ - ./$(DEPDIR)/stream.Po +DEP_FILES = ./$(DEPDIR)/bidilink-bidilink.Po \ + ./$(DEPDIR)/bidilink-client-tcp.Po \ + ./$(DEPDIR)/bidilink-client-tty.Po \ + ./$(DEPDIR)/bidilink-client-unix.Po \ + ./$(DEPDIR)/bidilink-exec.Po \ + ./$(DEPDIR)/bidilink-server-tcp.Po \ + ./$(DEPDIR)/bidilink-server-tty.Po \ + ./$(DEPDIR)/bidilink-server-unix.Po \ + ./$(DEPDIR)/bidilink-std.Po \ + ./$(DEPDIR)/bidilink-stream.Po COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) @@ -214,16 +223,16 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -include ./$(DEPDIR)/bidilink.Po -include ./$(DEPDIR)/client-tcp.Po -include ./$(DEPDIR)/client-tty.Po -include ./$(DEPDIR)/client-unix.Po -include ./$(DEPDIR)/exec.Po -include ./$(DEPDIR)/server-tcp.Po -include ./$(DEPDIR)/server-tty.Po -include ./$(DEPDIR)/server-unix.Po -include ./$(DEPDIR)/std.Po -include ./$(DEPDIR)/stream.Po +include ./$(DEPDIR)/bidilink-bidilink.Po +include ./$(DEPDIR)/bidilink-client-tcp.Po +include ./$(DEPDIR)/bidilink-client-tty.Po +include ./$(DEPDIR)/bidilink-client-unix.Po +include ./$(DEPDIR)/bidilink-exec.Po +include ./$(DEPDIR)/bidilink-server-tcp.Po +include ./$(DEPDIR)/bidilink-server-tty.Po +include ./$(DEPDIR)/bidilink-server-unix.Po +include ./$(DEPDIR)/bidilink-std.Po +include ./$(DEPDIR)/bidilink-stream.Po .c.o: if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @@ -246,6 +255,226 @@ include ./$(DEPDIR)/stream.Po # depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ # $(CCDEPMODE) $(depcomp) \ # $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` + +bidilink-bidilink.o: bidilink.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-bidilink.o -MD -MP -MF "$(DEPDIR)/bidilink-bidilink.Tpo" \ + -c -o bidilink-bidilink.o `test -f 'bidilink.c' || echo '$(srcdir)/'`bidilink.c; \ + then mv -f "$(DEPDIR)/bidilink-bidilink.Tpo" "$(DEPDIR)/bidilink-bidilink.Po"; \ + else rm -f "$(DEPDIR)/bidilink-bidilink.Tpo"; exit 1; \ + fi +# source='bidilink.c' object='bidilink-bidilink.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-bidilink.Po' tmpdepfile='$(DEPDIR)/bidilink-bidilink.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-bidilink.o `test -f 'bidilink.c' || echo '$(srcdir)/'`bidilink.c + +bidilink-bidilink.obj: bidilink.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-bidilink.obj -MD -MP -MF "$(DEPDIR)/bidilink-bidilink.Tpo" \ + -c -o bidilink-bidilink.obj `if test -f 'bidilink.c'; then $(CYGPATH_W) 'bidilink.c'; else $(CYGPATH_W) '$(srcdir)/bidilink.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-bidilink.Tpo" "$(DEPDIR)/bidilink-bidilink.Po"; \ + else rm -f "$(DEPDIR)/bidilink-bidilink.Tpo"; exit 1; \ + fi +# source='bidilink.c' object='bidilink-bidilink.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-bidilink.Po' tmpdepfile='$(DEPDIR)/bidilink-bidilink.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-bidilink.obj `if test -f 'bidilink.c'; then $(CYGPATH_W) 'bidilink.c'; else $(CYGPATH_W) '$(srcdir)/bidilink.c'; fi` + +bidilink-client-tcp.o: client-tcp.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-client-tcp.o -MD -MP -MF "$(DEPDIR)/bidilink-client-tcp.Tpo" \ + -c -o bidilink-client-tcp.o `test -f 'client-tcp.c' || echo '$(srcdir)/'`client-tcp.c; \ + then mv -f "$(DEPDIR)/bidilink-client-tcp.Tpo" "$(DEPDIR)/bidilink-client-tcp.Po"; \ + else rm -f "$(DEPDIR)/bidilink-client-tcp.Tpo"; exit 1; \ + fi +# source='client-tcp.c' object='bidilink-client-tcp.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-client-tcp.Po' tmpdepfile='$(DEPDIR)/bidilink-client-tcp.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-client-tcp.o `test -f 'client-tcp.c' || echo '$(srcdir)/'`client-tcp.c + +bidilink-client-tcp.obj: client-tcp.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-client-tcp.obj -MD -MP -MF "$(DEPDIR)/bidilink-client-tcp.Tpo" \ + -c -o bidilink-client-tcp.obj `if test -f 'client-tcp.c'; then $(CYGPATH_W) 'client-tcp.c'; else $(CYGPATH_W) '$(srcdir)/client-tcp.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-client-tcp.Tpo" "$(DEPDIR)/bidilink-client-tcp.Po"; \ + else rm -f "$(DEPDIR)/bidilink-client-tcp.Tpo"; exit 1; \ + fi +# source='client-tcp.c' object='bidilink-client-tcp.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-client-tcp.Po' tmpdepfile='$(DEPDIR)/bidilink-client-tcp.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-client-tcp.obj `if test -f 'client-tcp.c'; then $(CYGPATH_W) 'client-tcp.c'; else $(CYGPATH_W) '$(srcdir)/client-tcp.c'; fi` + +bidilink-client-unix.o: client-unix.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-client-unix.o -MD -MP -MF "$(DEPDIR)/bidilink-client-unix.Tpo" \ + -c -o bidilink-client-unix.o `test -f 'client-unix.c' || echo '$(srcdir)/'`client-unix.c; \ + then mv -f "$(DEPDIR)/bidilink-client-unix.Tpo" "$(DEPDIR)/bidilink-client-unix.Po"; \ + else rm -f "$(DEPDIR)/bidilink-client-unix.Tpo"; exit 1; \ + fi +# source='client-unix.c' object='bidilink-client-unix.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-client-unix.Po' tmpdepfile='$(DEPDIR)/bidilink-client-unix.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-client-unix.o `test -f 'client-unix.c' || echo '$(srcdir)/'`client-unix.c + +bidilink-client-unix.obj: client-unix.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-client-unix.obj -MD -MP -MF "$(DEPDIR)/bidilink-client-unix.Tpo" \ + -c -o bidilink-client-unix.obj `if test -f 'client-unix.c'; then $(CYGPATH_W) 'client-unix.c'; else $(CYGPATH_W) '$(srcdir)/client-unix.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-client-unix.Tpo" "$(DEPDIR)/bidilink-client-unix.Po"; \ + else rm -f "$(DEPDIR)/bidilink-client-unix.Tpo"; exit 1; \ + fi +# source='client-unix.c' object='bidilink-client-unix.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-client-unix.Po' tmpdepfile='$(DEPDIR)/bidilink-client-unix.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-client-unix.obj `if test -f 'client-unix.c'; then $(CYGPATH_W) 'client-unix.c'; else $(CYGPATH_W) '$(srcdir)/client-unix.c'; fi` + +bidilink-server-tcp.o: server-tcp.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-server-tcp.o -MD -MP -MF "$(DEPDIR)/bidilink-server-tcp.Tpo" \ + -c -o bidilink-server-tcp.o `test -f 'server-tcp.c' || echo '$(srcdir)/'`server-tcp.c; \ + then mv -f "$(DEPDIR)/bidilink-server-tcp.Tpo" "$(DEPDIR)/bidilink-server-tcp.Po"; \ + else rm -f "$(DEPDIR)/bidilink-server-tcp.Tpo"; exit 1; \ + fi +# source='server-tcp.c' object='bidilink-server-tcp.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-server-tcp.Po' tmpdepfile='$(DEPDIR)/bidilink-server-tcp.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-server-tcp.o `test -f 'server-tcp.c' || echo '$(srcdir)/'`server-tcp.c + +bidilink-server-tcp.obj: server-tcp.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-server-tcp.obj -MD -MP -MF "$(DEPDIR)/bidilink-server-tcp.Tpo" \ + -c -o bidilink-server-tcp.obj `if test -f 'server-tcp.c'; then $(CYGPATH_W) 'server-tcp.c'; else $(CYGPATH_W) '$(srcdir)/server-tcp.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-server-tcp.Tpo" "$(DEPDIR)/bidilink-server-tcp.Po"; \ + else rm -f "$(DEPDIR)/bidilink-server-tcp.Tpo"; exit 1; \ + fi +# source='server-tcp.c' object='bidilink-server-tcp.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-server-tcp.Po' tmpdepfile='$(DEPDIR)/bidilink-server-tcp.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-server-tcp.obj `if test -f 'server-tcp.c'; then $(CYGPATH_W) 'server-tcp.c'; else $(CYGPATH_W) '$(srcdir)/server-tcp.c'; fi` + +bidilink-server-unix.o: server-unix.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-server-unix.o -MD -MP -MF "$(DEPDIR)/bidilink-server-unix.Tpo" \ + -c -o bidilink-server-unix.o `test -f 'server-unix.c' || echo '$(srcdir)/'`server-unix.c; \ + then mv -f "$(DEPDIR)/bidilink-server-unix.Tpo" "$(DEPDIR)/bidilink-server-unix.Po"; \ + else rm -f "$(DEPDIR)/bidilink-server-unix.Tpo"; exit 1; \ + fi +# source='server-unix.c' object='bidilink-server-unix.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-server-unix.Po' tmpdepfile='$(DEPDIR)/bidilink-server-unix.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-server-unix.o `test -f 'server-unix.c' || echo '$(srcdir)/'`server-unix.c + +bidilink-server-unix.obj: server-unix.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-server-unix.obj -MD -MP -MF "$(DEPDIR)/bidilink-server-unix.Tpo" \ + -c -o bidilink-server-unix.obj `if test -f 'server-unix.c'; then $(CYGPATH_W) 'server-unix.c'; else $(CYGPATH_W) '$(srcdir)/server-unix.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-server-unix.Tpo" "$(DEPDIR)/bidilink-server-unix.Po"; \ + else rm -f "$(DEPDIR)/bidilink-server-unix.Tpo"; exit 1; \ + fi +# source='server-unix.c' object='bidilink-server-unix.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-server-unix.Po' tmpdepfile='$(DEPDIR)/bidilink-server-unix.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-server-unix.obj `if test -f 'server-unix.c'; then $(CYGPATH_W) 'server-unix.c'; else $(CYGPATH_W) '$(srcdir)/server-unix.c'; fi` + +bidilink-stream.o: stream.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-stream.o -MD -MP -MF "$(DEPDIR)/bidilink-stream.Tpo" \ + -c -o bidilink-stream.o `test -f 'stream.c' || echo '$(srcdir)/'`stream.c; \ + then mv -f "$(DEPDIR)/bidilink-stream.Tpo" "$(DEPDIR)/bidilink-stream.Po"; \ + else rm -f "$(DEPDIR)/bidilink-stream.Tpo"; exit 1; \ + fi +# source='stream.c' object='bidilink-stream.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-stream.Po' tmpdepfile='$(DEPDIR)/bidilink-stream.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-stream.o `test -f 'stream.c' || echo '$(srcdir)/'`stream.c + +bidilink-stream.obj: stream.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-stream.obj -MD -MP -MF "$(DEPDIR)/bidilink-stream.Tpo" \ + -c -o bidilink-stream.obj `if test -f 'stream.c'; then $(CYGPATH_W) 'stream.c'; else $(CYGPATH_W) '$(srcdir)/stream.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-stream.Tpo" "$(DEPDIR)/bidilink-stream.Po"; \ + else rm -f "$(DEPDIR)/bidilink-stream.Tpo"; exit 1; \ + fi +# source='stream.c' object='bidilink-stream.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-stream.Po' tmpdepfile='$(DEPDIR)/bidilink-stream.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-stream.obj `if test -f 'stream.c'; then $(CYGPATH_W) 'stream.c'; else $(CYGPATH_W) '$(srcdir)/stream.c'; fi` + +bidilink-client-tty.o: client-tty.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-client-tty.o -MD -MP -MF "$(DEPDIR)/bidilink-client-tty.Tpo" \ + -c -o bidilink-client-tty.o `test -f 'client-tty.c' || echo '$(srcdir)/'`client-tty.c; \ + then mv -f "$(DEPDIR)/bidilink-client-tty.Tpo" "$(DEPDIR)/bidilink-client-tty.Po"; \ + else rm -f "$(DEPDIR)/bidilink-client-tty.Tpo"; exit 1; \ + fi +# source='client-tty.c' object='bidilink-client-tty.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-client-tty.Po' tmpdepfile='$(DEPDIR)/bidilink-client-tty.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-client-tty.o `test -f 'client-tty.c' || echo '$(srcdir)/'`client-tty.c + +bidilink-client-tty.obj: client-tty.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-client-tty.obj -MD -MP -MF "$(DEPDIR)/bidilink-client-tty.Tpo" \ + -c -o bidilink-client-tty.obj `if test -f 'client-tty.c'; then $(CYGPATH_W) 'client-tty.c'; else $(CYGPATH_W) '$(srcdir)/client-tty.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-client-tty.Tpo" "$(DEPDIR)/bidilink-client-tty.Po"; \ + else rm -f "$(DEPDIR)/bidilink-client-tty.Tpo"; exit 1; \ + fi +# source='client-tty.c' object='bidilink-client-tty.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-client-tty.Po' tmpdepfile='$(DEPDIR)/bidilink-client-tty.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-client-tty.obj `if test -f 'client-tty.c'; then $(CYGPATH_W) 'client-tty.c'; else $(CYGPATH_W) '$(srcdir)/client-tty.c'; fi` + +bidilink-exec.o: exec.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-exec.o -MD -MP -MF "$(DEPDIR)/bidilink-exec.Tpo" \ + -c -o bidilink-exec.o `test -f 'exec.c' || echo '$(srcdir)/'`exec.c; \ + then mv -f "$(DEPDIR)/bidilink-exec.Tpo" "$(DEPDIR)/bidilink-exec.Po"; \ + else rm -f "$(DEPDIR)/bidilink-exec.Tpo"; exit 1; \ + fi +# source='exec.c' object='bidilink-exec.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-exec.Po' tmpdepfile='$(DEPDIR)/bidilink-exec.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-exec.o `test -f 'exec.c' || echo '$(srcdir)/'`exec.c + +bidilink-exec.obj: exec.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-exec.obj -MD -MP -MF "$(DEPDIR)/bidilink-exec.Tpo" \ + -c -o bidilink-exec.obj `if test -f 'exec.c'; then $(CYGPATH_W) 'exec.c'; else $(CYGPATH_W) '$(srcdir)/exec.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-exec.Tpo" "$(DEPDIR)/bidilink-exec.Po"; \ + else rm -f "$(DEPDIR)/bidilink-exec.Tpo"; exit 1; \ + fi +# source='exec.c' object='bidilink-exec.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-exec.Po' tmpdepfile='$(DEPDIR)/bidilink-exec.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-exec.obj `if test -f 'exec.c'; then $(CYGPATH_W) 'exec.c'; else $(CYGPATH_W) '$(srcdir)/exec.c'; fi` + +bidilink-server-tty.o: server-tty.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-server-tty.o -MD -MP -MF "$(DEPDIR)/bidilink-server-tty.Tpo" \ + -c -o bidilink-server-tty.o `test -f 'server-tty.c' || echo '$(srcdir)/'`server-tty.c; \ + then mv -f "$(DEPDIR)/bidilink-server-tty.Tpo" "$(DEPDIR)/bidilink-server-tty.Po"; \ + else rm -f "$(DEPDIR)/bidilink-server-tty.Tpo"; exit 1; \ + fi +# source='server-tty.c' object='bidilink-server-tty.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-server-tty.Po' tmpdepfile='$(DEPDIR)/bidilink-server-tty.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-server-tty.o `test -f 'server-tty.c' || echo '$(srcdir)/'`server-tty.c + +bidilink-server-tty.obj: server-tty.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-server-tty.obj -MD -MP -MF "$(DEPDIR)/bidilink-server-tty.Tpo" \ + -c -o bidilink-server-tty.obj `if test -f 'server-tty.c'; then $(CYGPATH_W) 'server-tty.c'; else $(CYGPATH_W) '$(srcdir)/server-tty.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-server-tty.Tpo" "$(DEPDIR)/bidilink-server-tty.Po"; \ + else rm -f "$(DEPDIR)/bidilink-server-tty.Tpo"; exit 1; \ + fi +# source='server-tty.c' object='bidilink-server-tty.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-server-tty.Po' tmpdepfile='$(DEPDIR)/bidilink-server-tty.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-server-tty.obj `if test -f 'server-tty.c'; then $(CYGPATH_W) 'server-tty.c'; else $(CYGPATH_W) '$(srcdir)/server-tty.c'; fi` + +bidilink-std.o: std.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-std.o -MD -MP -MF "$(DEPDIR)/bidilink-std.Tpo" \ + -c -o bidilink-std.o `test -f 'std.c' || echo '$(srcdir)/'`std.c; \ + then mv -f "$(DEPDIR)/bidilink-std.Tpo" "$(DEPDIR)/bidilink-std.Po"; \ + else rm -f "$(DEPDIR)/bidilink-std.Tpo"; exit 1; \ + fi +# source='std.c' object='bidilink-std.o' libtool=no \ +# depfile='$(DEPDIR)/bidilink-std.Po' tmpdepfile='$(DEPDIR)/bidilink-std.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-std.o `test -f 'std.c' || echo '$(srcdir)/'`std.c + +bidilink-std.obj: std.c + if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -MT bidilink-std.obj -MD -MP -MF "$(DEPDIR)/bidilink-std.Tpo" \ + -c -o bidilink-std.obj `if test -f 'std.c'; then $(CYGPATH_W) 'std.c'; else $(CYGPATH_W) '$(srcdir)/std.c'; fi`; \ + then mv -f "$(DEPDIR)/bidilink-std.Tpo" "$(DEPDIR)/bidilink-std.Po"; \ + else rm -f "$(DEPDIR)/bidilink-std.Tpo"; exit 1; \ + fi +# source='std.c' object='bidilink-std.obj' libtool=no \ +# depfile='$(DEPDIR)/bidilink-std.Po' tmpdepfile='$(DEPDIR)/bidilink-std.TPo' \ +# $(CCDEPMODE) $(depcomp) \ +# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bidilink_CFLAGS) $(CFLAGS) -c -o bidilink-std.obj `if test -f 'std.c'; then $(CYGPATH_W) 'std.c'; else $(CYGPATH_W) '$(srcdir)/std.c'; fi` uninstall-info-am: ETAGS = etags diff --git a/src/Makefile.am b/src/Makefile.am index cc667a2..d1f03cd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -22,3 +22,6 @@ bidilink_SOURCES = bidilink.c client-tty.h exec.h server-tty.h std.h \ client-tcp.c client-unix.c server-tcp.c server-unix.c stream.c \ client-tcp.h client-unix.h server-tcp.h server-unix.h stream.h \ client-tty.c exec.c server-tty.c std.c + +bidilink_CFLAGS = -DLOCKDIR="\"$(LOCKDIR)\"" + diff --git a/src/bidilink.c b/src/bidilink.c index 15e0e4c..1224bc5 100644 --- a/src/bidilink.c +++ b/src/bidilink.c @@ -51,7 +51,7 @@ static void usage(FILE *f, const char *argv0) { "\tstd:\n" "\texec:PROGRAM\n" "\ttty:TTYDEVICE\n" - "\tpty:PTYNAME\n" + "\tpty:[PTYSYMLINK]\n" "\ttcp-client:HOSTNAME:PORT\n" "\ttcp-server:[IPADDRESS:]PORT\n" "\tunix-client:SOCKNAME\n" diff --git a/src/client-tty.c b/src/client-tty.c index 59ddec5..cd1f2e1 100644 --- a/src/client-tty.c +++ b/src/client-tty.c @@ -39,8 +39,6 @@ #include "client-tty.h" -#define LOCKDIR "/var/lock" - static const char *lockfile(const char *dev) { static char lockfile[PATH_MAX]; char *p = strrchr(dev, '/'); -- cgit