/*
- * Copyright (c) 2005-2008 Zmanda Inc. All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License version 2.1 as
- * published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
+ * Copyright (c) 2007, 2008, 2009, 2010 Zmanda, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * Contact information: Zmanda Inc., 465 S Mathlida Ave, Suite 300
- * Sunnyvale, CA 94086, USA, or: http://www.zmanda.com
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Contact information: Zmanda Inc., 465 S. Mathilda Ave., Suite 300
+ * Sunnyvale, CA 94085, USA, or: http://www.zmanda.com
*/
#ifndef DEVICE_PROPERTY_H
#include <glib.h>
#include <glib-object.h>
-#include "queueing.h" /* for StreamingRequirement */
/* The properties interface defines define capabilities and other interesting
* properties. */
#define MEDIA_ACCESS_MODE_TYPE media_access_mode_get_type()
GType media_access_mode_get_type (void);
-/* This one is not a Glibified enum */
-typedef enum {
- SIZE_ACCURACY_UNKNOWN,
- SIZE_ACCURACY_ESTIMATE,
- SIZE_ACCURACY_REAL
-} SizeAccuracy;
-
-/* But SizeAccuracy does apear in this Glibified (gBoxed) struct. */
-typedef struct {
- SizeAccuracy accuracy;
- guint64 bytes;
-} QualifiedSize;
-#define QUALIFIED_SIZE_TYPE qualified_size_get_type()
-GType qualified_size_get_type (void);
-
/* Standard property definitions follow. See also property.c. */
/* Value is a ConcurrencyParadigm */
#define PROPERTY_CONCURRENCY (device_property_concurrency.ID)
/* Value is a StreamingRequirement */
+typedef enum {
+ STREAMING_REQUIREMENT_NONE,
+ STREAMING_REQUIREMENT_DESIRED,
+ STREAMING_REQUIREMENT_REQUIRED
+} StreamingRequirement;
extern DevicePropertyBase device_property_streaming;
#define PROPERTY_STREAMING (device_property_streaming.ID)
/* Value is a guint; gives the minimum buffer size for reads. Only
* the tape device implements this, but it corresponds to the tapetype
* readblocksize parameter, so it's a global property*/
-extern DevicePropertyBase device_property_read_buffer_size;
-#define PROPERTY_READ_BUFFER_SIZE (device_property_read_buffer_size.ID)
+extern DevicePropertyBase device_property_read_block_size;
+#define PROPERTY_READ_BLOCK_SIZE (device_property_read_block_size.ID)
/* Value is a gboolean. */
extern DevicePropertyBase device_property_appendable;
extern DevicePropertyBase device_property_partial_deletion;
#define PROPERTY_PARTIAL_DELETION (device_property_partial_deletion.ID)
-/* Value is a QualifiedSize, though the accuracy may be SIZE_ACCURACY_NONE. */
-extern DevicePropertyBase device_property_free_space;
-#define PROPERTY_FREE_SPACE (device_property_free_space.ID)
+/* Value is a gboolean. */
+extern DevicePropertyBase device_property_full_deletion;
+#define PROPERTY_FULL_DELETION (device_property_full_deletion.ID)
/* Value is a guint64. On devices that support it, this property will
limit the total amount of data written to a volume; attempts to
extern DevicePropertyBase device_property_verbose;
#define PROPERTY_VERBOSE (device_property_verbose.ID)
+/* A comment for the use of the user. */
+extern DevicePropertyBase device_property_comment;
+#define PROPERTY_COMMENT (device_property_comment.ID)
+
+/* Does this device support LEOM? */
+extern DevicePropertyBase device_property_leom;
+#define PROPERTY_LEOM (device_property_leom.ID)
+
#endif