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