xref: /dflybsd-src/usr.bin/tip/tip.h (revision 97edc4fd0ce1b4546c05cb23176a9660df9024b5)
1be09fc23SSascha Wildner /*
2be09fc23SSascha Wildner  * Copyright (c) 1989, 1993
3be09fc23SSascha Wildner  *	The Regents of the University of California.  All rights reserved.
4be09fc23SSascha Wildner  *
5be09fc23SSascha Wildner  *
6be09fc23SSascha Wildner  * Redistribution and use in source and binary forms, with or without
7be09fc23SSascha Wildner  * modification, are permitted provided that the following conditions
8be09fc23SSascha Wildner  * are met:
9be09fc23SSascha Wildner  * 1. Redistributions of source code must retain the above copyright
10be09fc23SSascha Wildner  *    notice, this list of conditions and the following disclaimer.
11be09fc23SSascha Wildner  * 2. Redistributions in binary form must reproduce the above copyright
12be09fc23SSascha Wildner  *    notice, this list of conditions and the following disclaimer in the
13be09fc23SSascha Wildner  *    documentation and/or other materials provided with the distribution.
140720b42fSzrj  * 3. Neither the name of the University nor the names of its contributors
15be09fc23SSascha Wildner  *    may be used to endorse or promote products derived from this software
16be09fc23SSascha Wildner  *    without specific prior written permission.
17be09fc23SSascha Wildner  *
18be09fc23SSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19be09fc23SSascha Wildner  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20be09fc23SSascha Wildner  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21be09fc23SSascha Wildner  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22be09fc23SSascha Wildner  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23be09fc23SSascha Wildner  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24be09fc23SSascha Wildner  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25be09fc23SSascha Wildner  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26be09fc23SSascha Wildner  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27be09fc23SSascha Wildner  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28be09fc23SSascha Wildner  * SUCH DAMAGE.
29be09fc23SSascha Wildner  *
30be09fc23SSascha Wildner  *      @(#)tip.h	8.1 (Berkeley) 6/6/93
31be09fc23SSascha Wildner  *
32be09fc23SSascha Wildner  * $FreeBSD: src/usr.bin/tip/tip/tip.h,v 1.5.2.1 2000/07/01 12:24:23 ps Exp $
33be09fc23SSascha Wildner  */
34be09fc23SSascha Wildner 
35be09fc23SSascha Wildner /*
36be09fc23SSascha Wildner  * tip - terminal interface program
37be09fc23SSascha Wildner  */
38be09fc23SSascha Wildner 
39be09fc23SSascha Wildner #include <sys/types.h>
40be09fc23SSascha Wildner #include <machine/endian.h>
41be09fc23SSascha Wildner #include <sys/time.h>
42be09fc23SSascha Wildner #include <limits.h>
43be09fc23SSascha Wildner 
44be09fc23SSascha Wildner #include <sys/ioctl.h>         /* for TIOCHPCL */
45be09fc23SSascha Wildner #include <sys/filio.h>    /* for FIONREAD */
46be09fc23SSascha Wildner 
472c3b1d1bSSascha Wildner #include <fcntl.h>
48be09fc23SSascha Wildner #include <signal.h>
49be09fc23SSascha Wildner #include <stdio.h>
50be09fc23SSascha Wildner #include <stdlib.h>
51be09fc23SSascha Wildner #include <string.h>
52be09fc23SSascha Wildner #include <pwd.h>
53be09fc23SSascha Wildner #include <ctype.h>
54be09fc23SSascha Wildner #include <setjmp.h>
557f38fe7bSSascha Wildner #include <termios.h>
56be09fc23SSascha Wildner #include <unistd.h>
57be09fc23SSascha Wildner #include <errno.h>
58be09fc23SSascha Wildner 
59*97edc4fdSSascha Wildner #ifndef EXTERN
60*97edc4fdSSascha Wildner #define	EXTERN	extern
61*97edc4fdSSascha Wildner #endif
62*97edc4fdSSascha Wildner 
63be09fc23SSascha Wildner /*
64be09fc23SSascha Wildner  * Remote host attributes
65be09fc23SSascha Wildner  */
66*97edc4fdSSascha Wildner EXTERN char	*DV;		/* UNIX device(s) to open */
67*97edc4fdSSascha Wildner EXTERN char	*EL;		/* chars marking an EOL */
68*97edc4fdSSascha Wildner EXTERN char	*CM;		/* initial connection message */
69*97edc4fdSSascha Wildner EXTERN char	*IE;		/* EOT to expect on input */
70*97edc4fdSSascha Wildner EXTERN char	*OE;		/* EOT to send to complete FT */
71*97edc4fdSSascha Wildner EXTERN char	*CU;		/* call unit if making a phone call */
72*97edc4fdSSascha Wildner EXTERN char	*AT;		/* acu type */
73*97edc4fdSSascha Wildner EXTERN char	*PN;		/* phone number(s) */
74*97edc4fdSSascha Wildner EXTERN char	*DI;		/* disconnect string */
75*97edc4fdSSascha Wildner EXTERN char	*PA;		/* parity to be generated */
76be09fc23SSascha Wildner 
77*97edc4fdSSascha Wildner EXTERN char	*PH;		/* phone number file */
78*97edc4fdSSascha Wildner EXTERN char	*RM;		/* remote file name */
79*97edc4fdSSascha Wildner EXTERN char	*HO;		/* host name */
80be09fc23SSascha Wildner 
81*97edc4fdSSascha Wildner EXTERN char	*LI;		/* login script */
82*97edc4fdSSascha Wildner EXTERN char	*LO;		/* logout script */
83be09fc23SSascha Wildner 
84*97edc4fdSSascha Wildner EXTERN long	BR;		/* line speed for conversation */
85*97edc4fdSSascha Wildner EXTERN long	FS;		/* frame size for transfers */
86be09fc23SSascha Wildner 
87*97edc4fdSSascha Wildner EXTERN char	DU;		/* this host is dialed up */
88*97edc4fdSSascha Wildner EXTERN char	HW;		/* this device is hardwired, see hunt.c */
89*97edc4fdSSascha Wildner EXTERN char	*ES;		/* escape character */
90*97edc4fdSSascha Wildner EXTERN char	*EX;		/* exceptions */
91*97edc4fdSSascha Wildner EXTERN char	*FO;		/* force (literal next) char*/
92*97edc4fdSSascha Wildner EXTERN char	*RC;		/* raise character */
93*97edc4fdSSascha Wildner EXTERN char	*RE;		/* script record file */
94*97edc4fdSSascha Wildner EXTERN char	*PR;		/* remote prompt */
95*97edc4fdSSascha Wildner EXTERN long	DL;		/* line delay for file transfers to remote */
96*97edc4fdSSascha Wildner EXTERN long	CL;		/* char delay for file transfers to remote */
97*97edc4fdSSascha Wildner EXTERN long	ET;		/* echocheck timeout */
98*97edc4fdSSascha Wildner EXTERN char	HD;		/* this host is half duplex - do local echo */
99be09fc23SSascha Wildner 
100be09fc23SSascha Wildner /*
101be09fc23SSascha Wildner  * String value table
102be09fc23SSascha Wildner  */
103be09fc23SSascha Wildner typedef
104be09fc23SSascha Wildner 	struct {
105be09fc23SSascha Wildner 		char	*v_name;	/* whose name is it */
106be09fc23SSascha Wildner 		char	v_type;		/* for interpreting set's */
107be09fc23SSascha Wildner 		char	v_access;	/* protection of touchy ones */
108be09fc23SSascha Wildner 		char	*v_abrev;	/* possible abreviation */
109be09fc23SSascha Wildner 		char	*v_value;	/* casted to a union later */
110be09fc23SSascha Wildner 	}
111be09fc23SSascha Wildner 	value_t;
112be09fc23SSascha Wildner 
113be09fc23SSascha Wildner #define STRING	01		/* string valued */
114be09fc23SSascha Wildner #define BOOL	02		/* true-false value */
115be09fc23SSascha Wildner #define NUMBER	04		/* numeric value */
116be09fc23SSascha Wildner #define CHAR	010		/* character value */
117be09fc23SSascha Wildner 
118be09fc23SSascha Wildner #define WRITE	01		/* write access to variable */
119be09fc23SSascha Wildner #define	READ	02		/* read access */
120be09fc23SSascha Wildner 
121be09fc23SSascha Wildner #define CHANGED	01		/* low bit is used to show modification */
122be09fc23SSascha Wildner #define PUBLIC	1		/* public access rights */
123be09fc23SSascha Wildner #define PRIVATE	03		/* private to definer */
124be09fc23SSascha Wildner #define ROOT	05		/* root defined */
125be09fc23SSascha Wildner 
126be09fc23SSascha Wildner #define	TRUE	1
127be09fc23SSascha Wildner #define FALSE	0
128be09fc23SSascha Wildner 
129be09fc23SSascha Wildner #define ENVIRON	020		/* initialize out of the environment */
130be09fc23SSascha Wildner #define IREMOTE	040		/* initialize out of remote structure */
131be09fc23SSascha Wildner #define INIT	0100		/* static data space used for initialization */
132be09fc23SSascha Wildner #define TMASK	017
133be09fc23SSascha Wildner 
134be09fc23SSascha Wildner /*
135be09fc23SSascha Wildner  * Definition of ACU line description
136be09fc23SSascha Wildner  */
137be09fc23SSascha Wildner typedef
138be09fc23SSascha Wildner 	struct {
139be09fc23SSascha Wildner 		char	*acu_name;
140be09fc23SSascha Wildner 		int	(*acu_dialer)(char *, char *);
141be09fc23SSascha Wildner 		void	(*acu_disconnect)(void);
142be09fc23SSascha Wildner 		void	(*acu_abort)(void);
143be09fc23SSascha Wildner 	}
144be09fc23SSascha Wildner 	acu_t;
145be09fc23SSascha Wildner 
146be09fc23SSascha Wildner #define	equal(a, b)	(strcmp(a,b)==0)/* A nice function to string compare */
147be09fc23SSascha Wildner 
148be09fc23SSascha Wildner /*
149be09fc23SSascha Wildner  * variable manipulation stuff --
150be09fc23SSascha Wildner  *   if we defined the value entry in value_t, then we couldn't
151be09fc23SSascha Wildner  *   initialize it in vars.c, so we cast it as needed to keep lint
152be09fc23SSascha Wildner  *   happy.
153be09fc23SSascha Wildner  */
154be09fc23SSascha Wildner typedef
155be09fc23SSascha Wildner 	union {
156be09fc23SSascha Wildner 		int	zz_number;
157be09fc23SSascha Wildner 		short	zz_boolean[2];
158be09fc23SSascha Wildner 		char	zz_character[4];
159be09fc23SSascha Wildner 		int	*zz_address;
160be09fc23SSascha Wildner 	}
161be09fc23SSascha Wildner 	zzhack;
162be09fc23SSascha Wildner 
163be09fc23SSascha Wildner #define value(v)	vtable[v].v_value
164be09fc23SSascha Wildner 
165be09fc23SSascha Wildner #define number(v)	((((zzhack *)(&(v))))->zz_number)
166be09fc23SSascha Wildner 
167be09fc23SSascha Wildner #if BYTE_ORDER == LITTLE_ENDIAN
168be09fc23SSascha Wildner #define boolean(v)	((((zzhack *)(&(v))))->zz_boolean[0])
169be09fc23SSascha Wildner #define character(v)	((((zzhack *)(&(v))))->zz_character[0])
170be09fc23SSascha Wildner #endif
171be09fc23SSascha Wildner 
172be09fc23SSascha Wildner #if BYTE_ORDER == BIG_ENDIAN
173be09fc23SSascha Wildner #define boolean(v)	((((zzhack *)(&(v))))->zz_boolean[1])
174be09fc23SSascha Wildner #define character(v)	((((zzhack *)(&(v))))->zz_character[3])
175be09fc23SSascha Wildner #endif
176be09fc23SSascha Wildner 
177be09fc23SSascha Wildner #define address(v)	((((zzhack *)(&(v))))->zz_address)
178be09fc23SSascha Wildner 
179be09fc23SSascha Wildner /*
180be09fc23SSascha Wildner  * Escape command table definitions --
181be09fc23SSascha Wildner  *   lookup in this table is performed when ``escapec'' is recognized
182be09fc23SSascha Wildner  *   at the begining of a line (as defined by the eolmarks variable).
183be09fc23SSascha Wildner */
184be09fc23SSascha Wildner 
185be09fc23SSascha Wildner typedef
186be09fc23SSascha Wildner 	struct {
187be09fc23SSascha Wildner 		char	e_char;		/* char to match on */
188be09fc23SSascha Wildner 		char	e_flags;	/* experimental, priviledged */
189be09fc23SSascha Wildner 		char	*e_help;	/* help string */
190be09fc23SSascha Wildner 		void 	(*e_func)(int);	/* command */
191be09fc23SSascha Wildner 	}
192be09fc23SSascha Wildner 	esctable_t;
193be09fc23SSascha Wildner 
194be09fc23SSascha Wildner #define NORM	00		/* normal protection, execute anyone */
195be09fc23SSascha Wildner #define EXP	01		/* experimental, mark it with a `*' on help */
196be09fc23SSascha Wildner #define PRIV	02		/* priviledged, root execute only */
197be09fc23SSascha Wildner 
198be09fc23SSascha Wildner extern value_t	vtable[];	/* variable table */
199be09fc23SSascha Wildner 
200be09fc23SSascha Wildner void logent(char *, char *, char *, char*);
201be09fc23SSascha Wildner void  loginit(void);
202be09fc23SSascha Wildner 
203be09fc23SSascha Wildner /*
204be09fc23SSascha Wildner  * Definition of indices into variable table so
205be09fc23SSascha Wildner  *  value(DEFINE) turns into a static address.
206be09fc23SSascha Wildner  */
207be09fc23SSascha Wildner 
208be09fc23SSascha Wildner /*
209be09fc23SSascha Wildner 'a,.!awk '{ printf("\%s \%s \%d\n", $1, $2, NR - 1); }'
210be09fc23SSascha Wildner */
211be09fc23SSascha Wildner 
212be09fc23SSascha Wildner #define BEAUTIFY 0
213be09fc23SSascha Wildner #define BAUDRATE 1
214be09fc23SSascha Wildner #define DIALTIMEOUT 2
215be09fc23SSascha Wildner #define EOFREAD 3
216be09fc23SSascha Wildner #define EOFWRITE 4
217be09fc23SSascha Wildner #define EOL 5
218be09fc23SSascha Wildner #define ESCAPE 6
219be09fc23SSascha Wildner #define EXCEPTIONS 7
220be09fc23SSascha Wildner #define FORCE 8
221be09fc23SSascha Wildner #define FRAMESIZE 9
222be09fc23SSascha Wildner #define HOST 10
223be09fc23SSascha Wildner #define LOG 11
224be09fc23SSascha Wildner #define LOGIN 12
225be09fc23SSascha Wildner #define LOGOUT 13
226be09fc23SSascha Wildner #define PHONES 14
227be09fc23SSascha Wildner #define PROMPT 15
228be09fc23SSascha Wildner #define RAISE 16
229be09fc23SSascha Wildner #define RAISECHAR 17
230be09fc23SSascha Wildner #define RECORD 18
231be09fc23SSascha Wildner #define REMOTE 19
232be09fc23SSascha Wildner #define SCRIPT 20
233be09fc23SSascha Wildner #define TABEXPAND 21
234be09fc23SSascha Wildner #define VERBOSE 22
235be09fc23SSascha Wildner #define SHELL 23
236be09fc23SSascha Wildner #define HOME 24
237be09fc23SSascha Wildner #define ECHOCHECK 25
238be09fc23SSascha Wildner #define DISCONNECT 26
239be09fc23SSascha Wildner #define TAND 27
240be09fc23SSascha Wildner #define LDELAY 28
241be09fc23SSascha Wildner #define CDELAY 29
242be09fc23SSascha Wildner #define ETIMEOUT 30
243be09fc23SSascha Wildner #define RAWFTP 31
244be09fc23SSascha Wildner #define HALFDUPLEX 32
245be09fc23SSascha Wildner #define LECHO 33
246be09fc23SSascha Wildner #define PARITY 34
247be09fc23SSascha Wildner 
2486dd3947fSSascha Wildner /*
2496dd3947fSSascha Wildner 	Specify default bit rate for connections
2506dd3947fSSascha Wildner */
2516dd3947fSSascha Wildner #define DEFBR 1200
2526dd3947fSSascha Wildner 
253*97edc4fdSSascha Wildner EXTERN struct termios otermios;
254*97edc4fdSSascha Wildner EXTERN struct termios ctermios;
255be09fc23SSascha Wildner 
256*97edc4fdSSascha Wildner EXTERN FILE	*fscript;	/* FILE for scripting */
257be09fc23SSascha Wildner 
258*97edc4fdSSascha Wildner EXTERN int	fildes[2];	/* file transfer synchronization channel */
259*97edc4fdSSascha Wildner EXTERN int	repdes[2];	/* read process sychronization channel */
260*97edc4fdSSascha Wildner EXTERN int	FD;		/* open file descriptor to remote host */
261*97edc4fdSSascha Wildner EXTERN int	AC;		/* open file descriptor to dialer (v831 only) */
262*97edc4fdSSascha Wildner EXTERN int	vflag;		/* print .tiprc initialization sequence */
263*97edc4fdSSascha Wildner EXTERN int	sfd;		/* for ~< operation */
264*97edc4fdSSascha Wildner EXTERN int	pid;		/* pid of tipout */
265*97edc4fdSSascha Wildner EXTERN uid_t	uid, euid;	/* real and effective user id's */
266*97edc4fdSSascha Wildner EXTERN gid_t	gid, egid;	/* real and effective group id's */
267*97edc4fdSSascha Wildner EXTERN int	stop;		/* stop transfer session flag */
268*97edc4fdSSascha Wildner EXTERN int	quit;		/* same; but on other end */
269*97edc4fdSSascha Wildner EXTERN int	intflag;	/* recognized interrupt */
270*97edc4fdSSascha Wildner EXTERN int	stoprompt;	/* for interrupting a prompt session */
271*97edc4fdSSascha Wildner EXTERN int	timedout;	/* ~> transfer timedout */
272*97edc4fdSSascha Wildner EXTERN int	cumode;		/* simulating the "cu" program */
273be09fc23SSascha Wildner 
274*97edc4fdSSascha Wildner EXTERN char	fname[PATH_MAX]; /* file name buffer for ~< */
275*97edc4fdSSascha Wildner EXTERN char	copyname[PATH_MAX]; /* file name buffer for ~> */
276*97edc4fdSSascha Wildner EXTERN char	ccc;		/* synchronization character */
277*97edc4fdSSascha Wildner EXTERN char	ch;		/* for tipout */
278*97edc4fdSSascha Wildner EXTERN char	*uucplock;	/* name of lock file for uucp's */
279be09fc23SSascha Wildner 
280*97edc4fdSSascha Wildner EXTERN int	odisc;			/* initial tty line discipline */
281be09fc23SSascha Wildner extern	int disc;			/* current tty discpline */
282be09fc23SSascha Wildner 
283be09fc23SSascha Wildner char	*ctrl(char);
284be09fc23SSascha Wildner char	*vinterp(char *, char);
285be09fc23SSascha Wildner char	*connect(void);
286be09fc23SSascha Wildner int	size(char *);
287be09fc23SSascha Wildner int	any(char, char *);
288be09fc23SSascha Wildner void	setscript(void);
2896d08986dSSascha Wildner void	tipout(void) __dead2;
290be09fc23SSascha Wildner void	vinit(void);
291be09fc23SSascha Wildner long	hunt(char *);
292be09fc23SSascha Wildner int	vstring(char *, char *);
293be09fc23SSascha Wildner void	setparity(char *);
294be09fc23SSascha Wildner void	vlex(char *);
295be09fc23SSascha Wildner void	daemon_uid(void);
296be09fc23SSascha Wildner void	disconnect(char *);
297be09fc23SSascha Wildner void	shell_uid(void);
298be09fc23SSascha Wildner void	unraw(void);
299be09fc23SSascha Wildner void	user_uid(void);
300be09fc23SSascha Wildner void	xpwrite(int, char *, int);
301be09fc23SSascha Wildner int	prompt(char *, char *, size_t);
3026d08986dSSascha Wildner void	tipabort(char *) __dead2;
3036d08986dSSascha Wildner void	cumain(int, char **) __dead2;
304be09fc23SSascha Wildner char	*getremote(char *);
305be09fc23SSascha Wildner char	*interp(char *);
306be09fc23SSascha Wildner 
307be09fc23SSascha Wildner void	chdirectory(int);
3086d08986dSSascha Wildner void	cleanup(int) __dead2;
309be09fc23SSascha Wildner void	consh(int);
310be09fc23SSascha Wildner void	cu_put(int);
311be09fc23SSascha Wildner void	cu_take(int);
312be09fc23SSascha Wildner void	dollar(int);
313be09fc23SSascha Wildner char	*expand(char *);
3146d08986dSSascha Wildner void	finish(int) __dead2;
315be09fc23SSascha Wildner void	genbrk(int);
316be09fc23SSascha Wildner void	getfl(int);
317be09fc23SSascha Wildner void	help(int);
318be09fc23SSascha Wildner void	pipefile(int);
319be09fc23SSascha Wildner void	pipeout(int);
320be09fc23SSascha Wildner void	sendfile(int);
321be09fc23SSascha Wildner void	shell(int);
322be09fc23SSascha Wildner int	speed(int);
323be09fc23SSascha Wildner void	suspend(int);
324be09fc23SSascha Wildner void	timeoutfunc(int);
325be09fc23SSascha Wildner void	ttysetup(int);
326be09fc23SSascha Wildner void	variable(int);
327be09fc23SSascha Wildner 
328be09fc23SSascha Wildner void	biz22_abort(void);
329be09fc23SSascha Wildner int	biz22f_dialer(char *, char *);
330be09fc23SSascha Wildner int	biz22w_dialer(char *, char *);
331be09fc23SSascha Wildner void	biz22_disconnect(void);
332be09fc23SSascha Wildner 
333be09fc23SSascha Wildner void	cour_abort(void);
334be09fc23SSascha Wildner int	cour_dialer(char *, char *);
335be09fc23SSascha Wildner void	cour_disconnect(void);
336be09fc23SSascha Wildner 
337be09fc23SSascha Wildner void	df_abort(void);
338be09fc23SSascha Wildner int	df02_dialer(char *, char *);
339be09fc23SSascha Wildner int	df03_dialer(char *, char *);
340be09fc23SSascha Wildner void	df_disconnect(void);
341be09fc23SSascha Wildner 
342be09fc23SSascha Wildner void	dn_abort(void);
343be09fc23SSascha Wildner int	dn_dialer(char *, char *);
344be09fc23SSascha Wildner void	dn_disconnect(void);
345be09fc23SSascha Wildner 
346be09fc23SSascha Wildner void	hay_abort(void);
347be09fc23SSascha Wildner int	hay_dialer(char *, char *);
348be09fc23SSascha Wildner void	hay_disconnect(void);
349be09fc23SSascha Wildner 
350be09fc23SSascha Wildner void	multitech_abort(void);
351be09fc23SSascha Wildner int	multitech_dialer(char *, char *);
352be09fc23SSascha Wildner void	multitech_disconnect(void);
353be09fc23SSascha Wildner 
354be09fc23SSascha Wildner void	t3000_abort(void);
355be09fc23SSascha Wildner int	t3000_dialer(char *, char *);
356be09fc23SSascha Wildner void	t3000_disconnect(void);
357be09fc23SSascha Wildner 
358be09fc23SSascha Wildner acu_t	*unidialer_getmodem(const char *);
359be09fc23SSascha Wildner 
360be09fc23SSascha Wildner void	v3451_abort(void);
361be09fc23SSascha Wildner int	v3451_dialer(char *, char *);
362be09fc23SSascha Wildner void	v3451_disconnect(void);
363be09fc23SSascha Wildner 
364be09fc23SSascha Wildner void	v831_abort(void);
365be09fc23SSascha Wildner int	v831_dialer(char *, char *);
366be09fc23SSascha Wildner void	v831_disconnect(void);
367be09fc23SSascha Wildner 
368be09fc23SSascha Wildner void	ven_abort(void);
369be09fc23SSascha Wildner int	ven_dialer(char *, char *);
370be09fc23SSascha Wildner void	ven_disconnect(void);
371be09fc23SSascha Wildner 
372be09fc23SSascha Wildner #define TL_VERBOSE       0x00000001
373be09fc23SSascha Wildner #define TL_SIGNAL_TIPOUT 0x00000002
374be09fc23SSascha Wildner 
375be09fc23SSascha Wildner int tiplink(char *cmd, unsigned int flags);
376be09fc23SSascha Wildner void raw(void);
377be09fc23SSascha Wildner 
378be09fc23SSascha Wildner /* end of tip.h */
379