28#if !defined(_SPANDSP_AT_INTERPRETER_H_)
29#define _SPANDSP_AT_INTERPRETER_H_
41typedef int (*at_modem_control_handler_t)(
void *user_data,
int op,
const char *num);
42typedef int (*at_tx_handler_t)(
void *user_data,
const uint8_t *buf,
size_t len);
43typedef int (*at_class1_handler_t)(
void *user_data,
int direction,
int operation,
int val);
47 AT_MODE_ONHOOK_COMMAND,
48 AT_MODE_OFFHOOK_COMMAND,
57 AT_CALL_EVENT_ALERTING = 1,
58 AT_CALL_EVENT_CONNECTED,
59 AT_CALL_EVENT_ANSWERED,
61 AT_CALL_EVENT_NO_DIALTONE,
62 AT_CALL_EVENT_NO_ANSWER,
94 AT_MODEM_CONTROL_RESTART,
95 AT_MODEM_CONTROL_DTE_TIMEOUT
100 AT_RESPONSE_CODE_OK = 0,
101 AT_RESPONSE_CODE_CONNECT,
102 AT_RESPONSE_CODE_RING,
103 AT_RESPONSE_CODE_NO_CARRIER,
104 AT_RESPONSE_CODE_ERROR,
105 AT_RESPONSE_CODE_XXX,
106 AT_RESPONSE_CODE_NO_DIALTONE,
107 AT_RESPONSE_CODE_BUSY,
108 AT_RESPONSE_CODE_NO_ANSWER,
109 AT_RESPONSE_CODE_FCERROR,
110 AT_RESPONSE_CODE_FRH3
134#if defined(__cplusplus)
139SPAN_DECLARE(
const char *) at_call_state_to_str(
int state);
141SPAN_DECLARE(
const char *) at_modem_control_to_str(
int state);
143SPAN_DECLARE(
void) at_set_at_rx_mode(
at_state_t *s,
int new_mode);
145SPAN_DECLARE(
void) at_put_response(
at_state_t *s,
const char *t);
147SPAN_DECLARE(
void) at_put_numeric_response(
at_state_t *s,
int val);
149SPAN_DECLARE(
void) at_put_response_code(
at_state_t *s,
int code);
151SPAN_DECLARE(
void) at_reset_call_info(
at_state_t *s);
160SPAN_DECLARE(
void) at_display_call_info(
at_state_t *s);
162SPAN_DECLARE(
int) at_modem_control(
at_state_t *s,
int op,
const char *num);
164SPAN_DECLARE(
void) at_call_event(
at_state_t *s,
int event);
166SPAN_DECLARE(
void) at_interpreter(
at_state_t *s,
const char *cmd,
int len);
168SPAN_DECLARE(
void) at_set_class1_handler(
at_state_t *s, at_class1_handler_t handler,
void *user_data);
176SPAN_DECLARE(
void) at_set_modem_control_handler(
at_state_t *s,
177 at_modem_control_handler_t modem_control_handler,
178 void *modem_control_user_data);
180SPAN_DECLARE(
void) at_set_at_tx_handler(
at_state_t *s,
181 at_tx_handler_t at_tx_handler,
182 void *at_tx_user_data);
193 at_tx_handler_t at_tx_handler,
194 void *at_tx_user_data,
195 at_modem_control_handler_t modem_control_handler,
196 void *modem_control_user_data);
210#if defined(__cplusplus)
at_modem_control_operation_e
Definition at_interpreter.h:67
@ AT_MODEM_CONTROL_RTS
Definition at_interpreter.h:81
@ AT_MODEM_CONTROL_ONHOOK
Definition at_interpreter.h:77
@ AT_MODEM_CONTROL_CTS
Definition at_interpreter.h:83
@ AT_MODEM_CONTROL_DTR
Definition at_interpreter.h:79
@ AT_MODEM_CONTROL_DSR
Definition at_interpreter.h:89
@ AT_MODEM_CONTROL_OFFHOOK
Definition at_interpreter.h:75
@ AT_MODEM_CONTROL_RNG
Definition at_interpreter.h:87
@ AT_MODEM_CONTROL_CALL
Definition at_interpreter.h:69
@ AT_MODEM_CONTROL_ANSWER
Definition at_interpreter.h:71
@ AT_MODEM_CONTROL_CAR
Definition at_interpreter.h:85
@ AT_MODEM_CONTROL_HANGUP
Definition at_interpreter.h:73
@ AT_MODEM_CONTROL_SETID
Definition at_interpreter.h:91
int at_free(at_state_t *s)
Free an AT interpreter context.
Definition at_interpreter.c:5652
void at_set_call_info(at_state_t *s, char const *id, char const *value)
Set the call information for an AT interpreter.
Definition at_interpreter.c:398
int at_release(at_state_t *s)
Release an AT interpreter context.
Definition at_interpreter.c:5643
logging_state_t * at_get_logging_state(at_state_t *s)
Get the logging context associated with an AT interpreter context.
Definition at_interpreter.c:5608
at_state_t * at_init(at_state_t *s, at_tx_handler_t at_tx_handler, void *at_tx_user_data, at_modem_control_handler_t modem_control_handler, void *modem_control_user_data)
Initialise an AT interpreter context.
Definition at_interpreter.c:5614
Definition at_interpreter.h:117
bool verbose
Definition at_interpreter.h:121
bool pulse_dial
Definition at_interpreter.h:125
int adaptive_receive
Definition at_interpreter.h:129
bool echo
Definition at_interpreter.h:119
int result_code_format
Definition at_interpreter.h:123
int double_escape
Definition at_interpreter.h:127
Definition private/at_interpreter.h:45
Definition private/logging.h:34