| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | #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_exit(void); | 
|  | 110 | extern void isdn_tty_readmodem(void); | 
|  | 111 | extern int  isdn_tty_find_icall(int, int, setup_parm *); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |