1/* $Id: isdn_tty.h,v 1.1.2.2 2004/01/12 22:37:19 keil Exp $ 2 * 3 * header for Linux ISDN subsystem, tty related functions (linklevel). 4 * 5 * Copyright 1994-1999 by Fritz Elfert (fritz@isdn4linux.de) 6 * Copyright 1995,96 by Thinking Objects Software GmbH Wuerzburg 7 * 8 * This software may be used and distributed according to the terms 9 * of the GNU General Public License, incorporated herein by reference. 10 * 11 */ 12 13 14#define DLE 0x10 15#define ETX 0x03 16#define DC4 0x14 17 18 19/* 20 * Definition of some special Registers of AT-Emulator 21 */ 22#define REG_RINGATA 0 23#define REG_RINGCNT 1 /* ring counter register */ 24#define REG_ESC 2 25#define REG_CR 3 26#define REG_LF 4 27#define REG_BS 5 28 29#define REG_WAITC 7 30 31#define REG_RESP 12 /* show response messages register */ 32#define BIT_RESP 1 /* show response messages bit */ 33#define REG_RESPNUM 12 /* show numeric responses register */ 34#define BIT_RESPNUM 2 /* show numeric responses bit */ 35#define REG_ECHO 12 36#define BIT_ECHO 4 37#define REG_DCD 12 38#define BIT_DCD 8 39#define REG_CTS 12 40#define BIT_CTS 16 41#define REG_DTRR 12 42#define BIT_DTRR 32 43#define REG_DSR 12 44#define BIT_DSR 64 45#define REG_CPPP 12 46#define BIT_CPPP 128 47 48#define REG_DXMT 13 49#define BIT_DXMT 1 50#define REG_T70 13 51#define BIT_T70 2 52#define BIT_T70_EXT 32 53#define REG_DTRHUP 13 54#define BIT_DTRHUP 4 55#define REG_RESPXT 13 56#define BIT_RESPXT 8 57#define REG_CIDONCE 13 58#define BIT_CIDONCE 16 59#define REG_RUNG 13 /* show RUNG message register */ 60#define BIT_RUNG 64 /* show RUNG message bit */ 61#define REG_DISPLAY 13 62#define BIT_DISPLAY 128 63 64#define REG_L2PROT 14 65#define REG_L3PROT 15 66#define REG_PSIZE 16 67#define REG_WSIZE 17 68#define REG_SI1 18 69#define REG_SI2 19 70#define REG_SI1I 20 71#define REG_PLAN 21 72#define REG_SCREEN 22 73 74#define REG_CPN 23 75#define BIT_CPN 1 76#define REG_CPNFCON 23 77#define BIT_CPNFCON 2 78#define REG_CDN 23 79#define BIT_CDN 4 80 81/* defines for result codes */ 82#define RESULT_OK 0 83#define RESULT_CONNECT 1 84#define RESULT_RING 2 85#define RESULT_NO_CARRIER 3 86#define RESULT_ERROR 4 87#define RESULT_CONNECT64000 5 88#define RESULT_NO_DIALTONE 6 89#define RESULT_BUSY 7 90#define RESULT_NO_ANSWER 8 91#define RESULT_RINGING 9 92#define RESULT_NO_MSN_EAZ 10 93#define RESULT_VCON 11 94#define RESULT_RUNG 12 95 96#define TTY_IS_FCLASS1(info) \ 97 ((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \ 98 (info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS1)) 99#define TTY_IS_FCLASS2(info) \ 100 ((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \ 101 (info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS2)) 102 103extern void isdn_tty_modem_escape(void); 104extern void isdn_tty_modem_ring(void); 105extern void isdn_tty_carrier_timeout(void); 106extern void isdn_tty_modem_xmit(void); 107extern int isdn_tty_modem_init(void); 108extern void isdn_tty_exit(void); 109extern void isdn_tty_readmodem(void); 110extern int isdn_tty_find_icall(int, int, setup_parm *); 111extern int isdn_tty_stat_callback(int, isdn_ctrl *); 112extern int isdn_tty_rcv_skb(int, int, int, struct sk_buff *); 113extern int isdn_tty_capi_facility(capi_msg *cm); 114extern void isdn_tty_at_cout(char *, modem_info *); 115extern void isdn_tty_modem_hup(modem_info *, int); 116#ifdef CONFIG_ISDN_TTY_FAX 117extern int isdn_tty_cmd_PLUSF_FAX(char **, modem_info *); 118extern int isdn_tty_fax_command(modem_info *, isdn_ctrl *); 119extern void isdn_tty_fax_bitorder(modem_info *, struct sk_buff *); 120#endif 121