+ * This can be displayed by frontends, e.g. when selecting the input
+ * module for saving a file.
+ */
+ const char *desc;
+
+ /**
+ * Zero-terminated list of metadata items the module needs to be able
+ * to identify an input stream. Can be all-zero, if the module cannot
+ * identify streams at all, i.e. has to be forced into use.
+ *
+ * Each item is one of:
+ * SR_INPUT_META_FILENAME
+ * SR_INPUT_META_FILESIZE
+ * SR_INPUT_META_HEADER
+ * SR_INPUT_META_MIMETYPE
+ *
+ * If the high bit (SR_INPUT META_REQUIRED) is set, the module cannot
+ * identify a stream without the given metadata.
+ */
+ const uint8_t metadata[8];
+
+ /**
+ * Returns a NULL-terminated list of options this module can take.
+ * Can be NULL, if the module has no options.
+ */
+ struct sr_option *(*options) (void);
+
+ /**
+ * Check if this input module can load and parse the specified stream.
+ *
+ * @param[in] metadata Metadata the module can use to identify the stream.