+/**
+ * Get a description for a port, to present to end user.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ *
+ * @return The port description, or NULL if an invalid port is passed.
+ * The description string is part of the port structure and may not
+ * be used after the port structure has been freed.
+ *
+ * @since 0.1.1
+ */
+char *sp_get_port_description(const struct sp_port *port);
+
+/**
+ * Get the transport type used by a port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ *
+ * @return The port transport type.
+ *
+ * @since 0.1.1
+ */
+enum sp_transport sp_get_port_transport(const struct sp_port *port);
+
+/**
+ * Get the USB bus number and address on bus of a USB serial adapter port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ * @param[out] usb_bus Pointer to a variable to store the USB bus.
+ * Can be NULL (in that case it will be ignored).
+ * @param[out] usb_address Pointer to a variable to store the USB address.
+ * Can be NULL (in that case it will be ignored).
+ *
+ * @return SP_OK upon success, a negative error code otherwise.
+ *
+ * @since 0.1.1
+ */
+enum sp_return sp_get_port_usb_bus_address(const struct sp_port *port,
+ int *usb_bus, int *usb_address);
+
+/**
+ * Get the USB Vendor ID and Product ID of a USB serial adapter port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ * @param[out] usb_vid Pointer to a variable to store the USB VID.
+ * Can be NULL (in that case it will be ignored).
+ * @param[out] usb_pid Pointer to a variable to store the USB PID.
+ * Can be NULL (in that case it will be ignored).
+ *
+ * @return SP_OK upon success, a negative error code otherwise.
+ *
+ * @since 0.1.1
+ */
+enum sp_return sp_get_port_usb_vid_pid(const struct sp_port *port, int *usb_vid, int *usb_pid);
+
+/**
+ * Get the USB manufacturer string of a USB serial adapter port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ *
+ * @return The port manufacturer string, or NULL if an invalid port is passed.
+ * The manufacturer string is part of the port structure and may not
+ * be used after the port structure has been freed.
+ *
+ * @since 0.1.1
+ */
+char *sp_get_port_usb_manufacturer(const struct sp_port *port);
+
+/**
+ * Get the USB product string of a USB serial adapter port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ *
+ * @return The port product string, or NULL if an invalid port is passed.
+ * The product string is part of the port structure and may not be
+ * used after the port structure has been freed.
+ *
+ * @since 0.1.1
+ */
+char *sp_get_port_usb_product(const struct sp_port *port);
+
+/**
+ * Get the USB serial number string of a USB serial adapter port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ *
+ * @return The port serial number, or NULL if an invalid port is passed.
+ * The serial number string is part of the port structure and may
+ * not be used after the port structure has been freed.
+ *
+ * @since 0.1.1
+ */
+char *sp_get_port_usb_serial(const struct sp_port *port);
+
+/**
+ * Get the MAC address of a Bluetooth serial adapter port.
+ *
+ * @param[in] port Pointer to a port structure. Must not be NULL.
+ *
+ * @return The port MAC address, or NULL if an invalid port is passed.
+ * The MAC address string is part of the port structure and may not
+ * be used after the port structure has been freed.
+ *
+ * @since 0.1.1
+ */
+char *sp_get_port_bluetooth_address(const struct sp_port *port);
+