Merge with Linux 2.4.0-test6-pre9.
[linux-2.6/linux-mips.git] / drivers / isdn / isdn_tty.h
blob4553cf5687b2645cbc23cb03cc89a2c19d5f46a9
1 /* $Id: isdn_tty.h,v 1.22 2000/06/21 09:54:29 keil Exp $
3 * header for Linux ISDN subsystem, tty related functions (linklevel).
5 * Copyright 1994-1999 by Fritz Elfert (fritz@isdn4linux.de)
6 * Copyright 1995,96 by Thinking Objects Software GmbH Wuerzburg
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2, or (at your option)
11 * any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 #include <linux/config.h>
26 #define DLE 0x10
27 #define ETX 0x03
28 #define DC4 0x14
32 * Definition of some special Registers of AT-Emulator
34 #define REG_RINGATA 0
35 #define REG_RINGCNT 1 /* ring counter register */
36 #define REG_ESC 2
37 #define REG_CR 3
38 #define REG_LF 4
39 #define REG_BS 5
41 #define REG_WAITC 7
43 #define REG_RESP 12 /* show response messages register */
44 #define BIT_RESP 1 /* show response messages bit */
45 #define REG_RESPNUM 12 /* show numeric responses register */
46 #define BIT_RESPNUM 2 /* show numeric responses bit */
47 #define REG_ECHO 12
48 #define BIT_ECHO 4
49 #define REG_DCD 12
50 #define BIT_DCD 8
51 #define REG_CTS 12
52 #define BIT_CTS 16
53 #define REG_DTRR 12
54 #define BIT_DTRR 32
55 #define REG_DSR 12
56 #define BIT_DSR 64
57 #define REG_CPPP 12
58 #define BIT_CPPP 128
60 #define REG_DXMT 13
61 #define BIT_DXMT 1
62 #define REG_T70 13
63 #define BIT_T70 2
64 #define BIT_T70_EXT 32
65 #define REG_DTRHUP 13
66 #define BIT_DTRHUP 4
67 #define REG_RESPXT 13
68 #define BIT_RESPXT 8
69 #define REG_CIDONCE 13
70 #define BIT_CIDONCE 16
71 #define REG_RUNG 13 /* show RUNG message register */
72 #define BIT_RUNG 64 /* show RUNG message bit */
73 #define REG_DISPLAY 13
74 #define BIT_DISPLAY 128
76 #define REG_L2PROT 14
77 #define REG_L3PROT 15
78 #define REG_PSIZE 16
79 #define REG_WSIZE 17
80 #define REG_SI1 18
81 #define REG_SI2 19
82 #define REG_SI1I 20
83 #define REG_PLAN 21
84 #define REG_SCREEN 22
86 #define REG_CPN 23
87 #define BIT_CPN 1
88 #define BIT_CPNFCON 2
90 /* defines for result codes */
91 #define RESULT_OK 0
92 #define RESULT_CONNECT 1
93 #define RESULT_RING 2
94 #define RESULT_NO_CARRIER 3
95 #define RESULT_ERROR 4
96 #define RESULT_CONNECT64000 5
97 #define RESULT_NO_DIALTONE 6
98 #define RESULT_BUSY 7
99 #define RESULT_NO_ANSWER 8
100 #define RESULT_RINGING 9
101 #define RESULT_NO_MSN_EAZ 10
102 #define RESULT_VCON 11
103 #define RESULT_RUNG 12
105 #define TTY_IS_FCLASS1(info) \
106 ((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \
107 (info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS1))
108 #define TTY_IS_FCLASS2(info) \
109 ((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \
110 (info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS2))
112 extern void isdn_tty_modem_escape(void);
113 extern void isdn_tty_modem_ring(void);
114 extern void isdn_tty_carrier_timeout(void);
115 extern void isdn_tty_modem_xmit(void);
116 extern int isdn_tty_modem_init(void);
117 extern void isdn_tty_readmodem(void);
118 extern int isdn_tty_find_icall(int, int, setup_parm *);
119 extern void isdn_tty_cleanup_xmit(modem_info *);
120 extern int isdn_tty_stat_callback(int, isdn_ctrl *);
121 extern int isdn_tty_rcv_skb(int, int, int, struct sk_buff *);
122 extern int isdn_tty_capi_facility(capi_msg *cm);
123 extern void isdn_tty_at_cout(char *, modem_info *);
124 extern void isdn_tty_modem_hup(modem_info *, int);
125 #ifdef CONFIG_ISDN_TTY_FAX
126 extern int isdn_tty_cmd_PLUSF_FAX(char **, modem_info *);
127 extern int isdn_tty_fax_command(modem_info *, isdn_ctrl *);
128 extern void isdn_tty_fax_bitorder(modem_info *, struct sk_buff *);
129 #endif