#include #include enum skipstone_watch_link_type { SKIPSTONE_WATCH_LINK_SERIAL = 1 }; struct _skipstone_watch_link { enum skipstone_watch_link_type link_type; union { int serial_fd; }; }; skipstone_watch_link *skipstone_watch_link_open_serial(const char *device) { skipstone_watch_link *link; if ((link = malloc(sizeof(*link))) == NULL) { goto error_malloc_link; } return link; error_malloc_link: return NULL; } void skipstone_watch_close(skipstone_watch_link *link) { } int16_t skipstone_send(skipstone_watch_link *link, void *buf, uint16_t size) { } int16_t skipstone_recv(skipstone_watch_link *link, void *buf, uint16_t size) { }