+/* const char *security_geterror(security_handle_t *);
+ *
+ * Returns a descriptive error message for the last error condition on this
+ * handle. */
+#define security_geterror(handle) ((handle)->error)
+
+/* Sets the string that security_geterror() returns. For use by security
+ * drivers. */
+void security_seterror(security_handle_t *, const char *, ...)
+ G_GNUC_PRINTF(2,3);
+
+/* Initializes a security_handle_t. This is meant to be called only by security
+ * drivers to initialize the common part of a newly allocated
+ * security_handle_t. */
+void security_handleinit(security_handle_t *, const security_driver_t *);
+
+/*
+ * Streams
+ */
+
+/*
+ * This structure is a handle to a stream connection to a host for
+ * transmission of random data such as dumps or index data.
+ */
+typedef struct security_stream {
+ const security_driver_t *driver;
+ char *error;
+} security_stream_t;
+
+/* Initializes a security_stream_t. This is meant to be called only by security
+ * drivers to initialize the common part of a newly allocated
+ * security_stream_t. */
+void security_streaminit(security_stream_t *, const security_driver_t *);
+
+/* const char *security_stream_geterror(security_stream_t *);
+ *
+ * Returns a descriptive error message for the last error condition on this
+ * stream. */