summaryrefslogtreecommitdiffstats
path: root/src/modem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modem.h')
-rw-r--r--src/modem.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/modem.h b/src/modem.h
index 7383d1c..308d656 100644
--- a/src/modem.h
+++ b/src/modem.h
@@ -1,25 +1,36 @@
#ifndef foomodemhfoo
#define foomodemhfoo
-enum modem_state { MODEM_STATE_INIT, MODEM_STATE_AUDIO_SIMPLE, MODEM_STATE_AUDIO_SHBUF, MODEM_STATE_DONE };
+#include "buffio.h"
+
+enum modem_state {
+ MODEM_STATE_INIT,
+ MODEM_STATE_CALLER_NUMBER_EXPECT,
+ MODEM_STATE_CALLER_NUMBER,
+ MODEM_STATE_RING_EXPECT,
+ MODEM_STATE_RING,
+ MODEM_STATE_ANSWER,
+ MODEM_STATE_VTXVRX,
+ MODEM_STATE_CONNECTION,
+ MODEM_STATE_CONNECTION_SHBUF,
+ MODEM_STATE_DONE
+};
#define MODEM_BUF_LEN (10*1024)
struct modem {
char *dev;
- int fd;
- char *ouput_buf;
- size_t output_buf_len;
-
- char *input_buf;
- size_t input_buf_len;
+ struct buffio *buffio;
enum modem_state state;
+ int command_index;
pid_t child_pid;
struct timeval timeout;
+
+ int dle_flag;
};
struct modem *modem_open(const char *dev);