26#include <sys/socket.h>
29typedef int (*termio_update_func_t)(
void *user_data,
struct termios *termios);
31typedef int (*put_msg_free_space_func_t)(
void *user_data);
33typedef void (*span_timer_handler_t)(
void *user_data);
40 termio_update_func_t termios_callback;
42 put_msg_free_space_func_t terminal_free_space_callback;
46 span_timer_handler_t timer_callback;
51 struct termios termios;
53 struct sockaddr_un local_addr;
54 socklen_t local_addr_len;
55 struct sockaddr_un far_addr;
56 socklen_t far_addr_len;
63 pseudo_terminal_state_t pty;
64} socket_dgram_harness_state_t;
66extern span_timestamp_t socket_dgram_harness_timer;
68span_timestamp_t now_us(
void);
70int socket_dgram_harness_run(socket_dgram_harness_state_t *s);
72int socket_dgram_harness_terminal_write(
void *user_data,
const uint8_t *buf,
size_t len);
74int socket_dgram_harness_set_user_data(socket_dgram_harness_state_t *s,
void *user_data);
76socket_dgram_harness_state_t *socket_dgram_harness_init(socket_dgram_harness_state_t *s,
77 const char *local_socket_name,
78 const char *far_socket_name,
82 termio_update_func_t termios_callback,
84 put_msg_free_space_func_t terminal_free_space_callback,
87 span_timer_handler_t timer_callback,
90int socket_dgram_harness_release(socket_dgram_harness_state_t *s);
92int socket_dgram_harness_free(socket_dgram_harness_state_t *s);
int(* span_get_msg_func_t)(void *user_data, uint8_t *msg, int max_len)
Definition async.h:111
void(* span_modem_status_func_t)(void *user_data, int status)
Definition async.h:131
void(* span_put_msg_func_t)(void *user_data, const uint8_t *msg, int len)
Definition async.h:107
struct logging_state_s logging_state_t
Definition logging.h:72
Definition socket_dgram_harness.h:36