Raw File
#ifndef MODEM_CORE_H
#define MODEM_CORE_H 1
typedef enum {
MDM_RESP_OK = 0, // Common code
MDM_RESP_CONNECT = 1, // Common code
MDM_RESP_RING = 2, // Common code
MDM_RESP_NO_CARRIER = 3, // Common code
MDM_RESP_ERROR = 4, // Common code
MDM_RESP_CONNECT_1200 = 5, // Common code
MDM_RESP_NO_DIALTONE = 6, // Common code
MDM_RESP_BUSY = 7, // Common code
MDM_RESP_NO_ANSWER = 8, // Common code
MDM_RESP_CONNECT_0600 = 9, // Conexant code
MDM_RESP_CONNECT_2400 = 10, // Common code
MDM_RESP_CONNECT_4800 = 11, // Common code
MDM_RESP_CONNECT_9600 = 12, // Common code
MDM_RESP_CONNECT_14400 = 13, // Hayes code
MDM_RESP_CONNECT_19200 = 14, // Hayes code
MDM_RESP_CONNECT_57600 = 18, // Conexant code
MDM_RESP_CONNECT_115200 = 19, // Conexant code
MDM_RESP_CONNECT_230400 = 20, // Conexant code
MDM_RESP_CONNECT_460800 = 21, // Conexant code
MDM_RESP_CONNECT_921600 = 22, // Conexant code
MDM_RESP_CONNECT_7200 = 24, // Hayes code
MDM_RESP_CONNECT_12000 = 25, // Hayes code
MDM_RESP_CONNECT_38400 = 28, // Hayes code
MDM_RESP_END_OF_LIST
} modem_response;
#define MDM_FC_RTS 1
#define MDM_FC_XON 2
typedef enum {
MDM_CONN_NONE = 0,
MDM_CONN_OUTGOING = 1,
MDM_CONN_INCOMING = 2
} conn_type;
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#include "dce.h"
#include "line.h"
#include "nvt.h"
typedef struct x_config {
} x_config;
enum {
S_REG_RINGS = 0,
S_REG_RING_COUNT = 1,
S_REG_BREAK = 2,
S_REG_CR = 3,
S_REG_LF = 4,
S_REG_BS = 5,
S_REG_BLIND_WAIT = 6,
S_REG_CARRIER_WAIT = 7,
S_REG_COMMA_PAUSE = 8,
S_REG_CARRIER_TIME = 9,
S_REG_CARRIER_LOSS = 10,
S_REG_DTMF_TIME = 11,
S_REG_GUARD_TIME = 12,
S_REG_INACTIVITY_TIME = 30,
S_REG_MAX_ARRAY_SIZE
};
typedef struct modem_config {
// master configuration information
int mp[2][2];
int cp[2][2];
int wp[2][2];
char no_answer[256];
char local_connect[256];
char remote_connect[256];
char local_answer[256];
char remote_answer[256];
char inactive[256];
int direct_conn;
char direct_conn_num[256];
// need to eventually change these
dce_config dce_data;
line_config line_data;
int line_speed;
int conn_type;
int is_ringing;
int is_off_hook;
int dsr_active;
int force_dsr;
int force_dcd;
int invert_dsr;
int invert_dcd;
int allow_transmit;
int is_binary_negotiated;
int ring_ctr;
// command information
int pre_break_delay;
unsigned char first_ch;
int is_cmd_started;
int is_cmd_mode;
char cur_line[1024];
int cur_line_idx;
int last_line_idx;
// dailing information
char dialno[256];
char last_dialno[256];
char dial_type;
char last_dial_type;
int memory_dial;
// modem config
int connect_response;
int response_code_level;
int send_responses;
int text_responses;
int is_echo;
int s[S_REG_MAX_ARRAY_SIZE];
int break_len;
int disconnect_delay;
char crlf[3];
} modem_config;
void mdm_init(void);
void mdm_init_config(modem_config *cfg);
int mdm_set_control_lines(modem_config *cfg);
void mdm_write_char(modem_config *cfg, unsigned char data);
void mdm_write(modem_config *cfg, unsigned char *data, int len);
void mdm_send_response(int msg, modem_config *cfg);
int mdm_off_hook(modem_config *cfg);
int mdm_answer(modem_config *cfg);
int mdm_print_speed(modem_config *cfg);
int mdm_connect(modem_config *cfg);
int mdm_listen(modem_config *cfg);
int mdm_disconnect(modem_config *cfg, unsigned char force);
int mdm_parse_cmd(modem_config *cfg);
int mdm_handle_char(modem_config *cfg, unsigned char ch);
int mdm_clear_break(modem_config *cfg);
int mdm_parse_data(modem_config *cfg, unsigned char *data, int len);
int mdm_handle_timeout(modem_config *cfg);
int mdm_send_ring(modem_config *cfg);
int mdm_read(modem_config *cfg, unsigned char *data, int len);
#include "line.h"
#include "dce.h"
#endif
Generated by GNU Enscript 1.6.6, and GophHub 1.3.