blob: f992ce0a0e594682c39ab330699ac5546deeaaf1 [file] [log] [blame]
/*
* Copyright (c) 2022 Trackunit Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/kernel.h>
#include <zephyr/types.h>
#include <zephyr/device.h>
#include <zephyr/sys/ring_buffer.h>
#include <zephyr/sys/atomic.h>
#include <zephyr/modem/pipe.h>
#ifndef ZEPHYR_MODEM_BACKEND_TTY_
#define ZEPHYR_MODEM_BACKEND_TTY_
#ifdef __cplusplus
extern "C" {
#endif
struct modem_backend_tty {
const char *tty_path;
int tty_fd;
struct modem_pipe pipe;
struct k_thread thread;
k_thread_stack_t *stack;
size_t stack_size;
atomic_t state;
};
struct modem_backend_tty_config {
const char *tty_path;
k_thread_stack_t *stack;
size_t stack_size;
};
struct modem_pipe *modem_backend_tty_init(struct modem_backend_tty *backend,
const struct modem_backend_tty_config *config);
#ifdef __cplusplus
}
#endif
#endif /* ZEPHYR_MODEM_BACKEND_TTY_ */