summaryrefslogtreecommitdiffstats
path: root/src/modem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modem.h')
-rw-r--r--src/modem.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/modem.h b/src/modem.h
index a19ff38..320467a 100644
--- a/src/modem.h
+++ b/src/modem.h
@@ -10,13 +10,16 @@ enum modem_state {
MODEM_STATE_CALLER_NUMBER,
MODEM_STATE_RING_EXPECT,
MODEM_STATE_RING,
- MODEM_STATE_ANSWER,
+ MODEM_STATE_ATA,
MODEM_STATE_VTXVRX,
MODEM_STATE_CONNECTION,
MODEM_STATE_CONNECTION_SHBUF,
+ MODEM_STATE_PRE_HANGUP_HUPSEQ,
+ MODEM_STATE_PRE_HANGUP_ATHSEQ,
MODEM_STATE_HANGUP,
- MODEM_STATE_ATH,
- MODEM_STATE_FORCE_HANGUP,
+ MODEM_STATE_CHILD_DRAIN, /* wait until no further data may/has to be written to the child */
+ MODEM_STATE_CHILD_WAIT_EOF, /* wait until no further data may be read from child */
+ MODEM_STATE_CHILD_KILL,
MODEM_STATE_IDLE
};
@@ -30,17 +33,19 @@ struct modem {
enum modem_state state;
int command_index;
+ struct buffio *child_buffio;
pid_t child_pid;
struct timeval timeout;
- int dle_flag;
char *local_msn;
char *ring_number;
char *caller_number;
struct tabentry *tabentry;
+
+ int dle_flag;
};
struct modem *modem_open(const char *dev);