📄 modem.h
字号:
/* modem.h
Copyright 1997 - 2001 by InterNiche Technologies, Inc. All rights reserved.
Copyright 1995, 1996 by NetPort Software.
Hayes AT Modem support.
7/3/96 - Modified for NAT router. John Bartas @ NetPort
*/
#ifndef MODEM_H
#define MODEM_H 1
#include "comline.h"
/* States the modem can be in. These map directly to line states. */
/* 2 onhook states */
#define D_IDLE LN_DISCONNECTED
#define D_AUTOANS LN_AUTOANS
/* 3 off hook states */
#define D_DIALING LN_CONNECTING
#define D_CONNECTED LN_CONNECTED
#define D_HANGINGUP LN_DISCONNECTING
/* ...and, since these are modems... */
#define D_BROKEN LN_BROKEN
#define D_RESETTING LN_RESETTING
#ifndef NUM_MODEMS
#define NUM_MODEMS 1
#endif /* NUM_MODEMS */
#ifndef MDM_DCDLINE
#define MDM_CHECK_NO_CARRIER 1 /* Use sw to check for NO CARRIER */
#endif
struct atmodem
{
u_short IdleDialTmo; /* timeout (in seconds) for idle connections */
u_long mdm_baud; /* baud rate of connection */
u_long lastdial; /* ctick of last dial activity */
u_long lastchar; /* ctick of last IO, for hangup timeouts */
u_char modem_out[MODEM_BUF_SIZE]; /* last AT command sent to modem */
u_char modem_in [MODEM_BUF_SIZE]; /* last reply from modem */
struct com_line * upperline; /* pointer to PPP/SLIP line structure */
int unit; /* UART unit number */
#ifdef MDM_CHECK_NO_CARRIER
int carrier_match; /* number of chars matched in "NO CARRIER" */
#endif /* MDM_CHECK_NO_CARRIER */
};
extern struct atmodem modems[NUM_MODEMS];
typedef struct atmodem * MODEMP;
extern int in_dialcheck; /* flag to prevent re-entry to dial_check() */
#ifdef MDM_CHECK_NO_CARRIER
int modem_no_carrier(MODEMP, int);
#endif
/* modem configuation strings */
extern char mdm_init_string[MODEM_STRING_SIZE]; /* init AT commands */
extern char mdm_dial_string[TELNUM_SIZE]; /* phone number to dial */
/* modem lib internal routines */
extern int modem_init(LINEP); /* initialize modem at system start */
extern void dial(MODEMP, char * number); /* initiate modem dialout */
extern void dial_check(void); /* cycles for dial state machine */
extern char * modem_state(MODEMP); /* text for current modem d_state */
extern int modem_getc(MODEMP, unsigned timeout); /* get char from modem */
extern void dial_delay(unsigned long ticks); /* delay n ticks during dialing */
extern int modem_DCD(MODEMP); /* check modem's DCD line */
extern void modem_reset(MODEMP); /* try to reset modem hardware */
extern void modem_portstat(void *, MODEMP); /* dump modem line info */
/* optional UART routines which exist in the UART code if supported */
extern int uart_getDCD(int unit);
extern void uart_clr_dtr(int unit);
extern void uart_set_dtr(int unit);
/* (yaxon modify) */
/* InterNiche's comline API entry points */
/*extern int modem_connect(struct com_line *);*/
/*extern int modem_hangup(struct com_line *); initiate modem hangup sequence */
/*extern int modem_putc(struct com_line *, int chr); send a char out modem connection */
extern int modem_connect(LINEP);
extern int modem_hangup(LINEP); /* initiate modem hangup sequence */
extern int modem_putc(LINEP, int chr); /* send a char out modem connection */
#ifdef USE_LOGINSCRIPT
extern void login(MODEMP); /* Do login stuff if required, set loggedin */
extern void logserver(MODEMP); /* act as terminal server */
extern int loggedin; /* TRUE if logged in or login not required */
#endif /* USE_LOGINSCRIPT */
#endif /* MODEM_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -