+/**
+ * Scan the system for attached logic analyzers / devices.
+ *
+ * This will try to autodetect all supported logic analyzer devices:
+ *
+ * - Those attached via USB (can be reliably detected via USB VID/PID).
+ *
+ * - Those using a (real or virtual) serial port (detected by sending
+ * device-specific commands to all OS-specific serial port devices such
+ * as /dev/ttyS*, /dev/ttyUSB*, /dev/ttyACM*, and others).
+ * The autodetection for this kind of devices can potentially be unreliable.
+ *
+ * Also, sending various bytes/commands to (all!) devices which happen to
+ * be attached to the system via a (real or virtual) serial port can be
+ * problematic. There is no way for libsigrok to know how unknown devices
+ * react to the bytes libsigrok sends. Potentially they could lead to the
+ * device getting into invalid/error states, losing/overwriting data, or...
+ *
+ * In addition to the detection, the devices that are found are also
+ * initialized automatically. On some devices, this involves a firmware upload,
+ * or other such measures.
+ *
+ * The order in which the system is scanned for devices is not specified. The
+ * caller should not assume or rely on any specific order.
+ *
+ * After the system has been scanned for devices, the list of detected (and
+ * supported) devices can be acquired via sr_dev_list().
+ *
+ * TODO: Error checks?
+ * TODO: Option to only scan for specific devices or device classes.
+ *
+ * @return SR_OK upon success, SR_ERR upon errors.
+ */
+SR_API int sr_dev_scan(void)