diff options
-rw-r--r-- | src/main.c | 23 | ||||
-rw-r--r-- | src/modem.h | 11 |
2 files changed, 29 insertions, 5 deletions
@@ -2,15 +2,30 @@ #include "main.h" -int main_loop(void) { +int init(void) { + if (modem_manager_init(CHANNELS) < 0) + return -1; + +} - int fd = -1; +void done(void) { - if ((fd = modem_open(NULL)) < 0) - daemon_log + modem_manager_done(CHANNELS); + +} + +int main_loop(void) { + if (init() < 0) + return -1; + + for (;;) { + /* ... */ + } + + done(); } int main(int argc, char*argv[]) { diff --git a/src/modem.h b/src/modem.h index b2a7ffe..e8a4ec1 100644 --- a/src/modem.h +++ b/src/modem.h @@ -1,6 +1,15 @@ #ifndef foomodemhfoo #define foomodemhfoo -int modem_open(const char *dev); +enum modem_state { MODEM_STATE_DISABLED, MODEM_STATE_INIT, MODEM_STATE_AUDIO }; + +struct modem { + char *dev; + int fd; + enum modem_state state; +}; + +struct modem *modem_open(const char *dev); +void modem_close(struct modem *m); #endif |