X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=serialport.c;h=739a6ed6f9afe06189631cc4e93bf59e7e9e1284;hb=3c126654b3d92584d0a9cd4e13f1cee764146ca6;hp=0ec664a6122f556772a8235f163971bf019fefde;hpb=1c5aae9dc58995d202e30c356dcf25a8c1827558;p=libserialport.git diff --git a/serialport.c b/serialport.c index 0ec664a..739a6ed 100644 --- a/serialport.c +++ b/serialport.c @@ -203,6 +203,24 @@ char *sp_get_port_name(const struct sp_port *port) RETURN_VALUE("%s", port->name); } +enum sp_return sp_get_port_handle(const struct sp_port *port, void *result_ptr) +{ + TRACE("%p", port); + + if (!port) + RETURN_ERROR(SP_ERR_ARG, "Null port"); + +#ifdef _WIN32 + HANDLE *handle_ptr = result_ptr; + *handle_ptr = port->hdl; +#else + int *fd_ptr = result_ptr; + *fd_ptr = port->fd; +#endif + + RETURN_OK(); +} + enum sp_return sp_copy_port(const struct sp_port *port, struct sp_port **copy_ptr) { TRACE("%p, %p", port, copy_ptr);