Imported Upstream version 3.3.3
[debian/amanda] / device-src / property.h
index c3816ff0d77786fa2aa94dbc6a21938a2bc5dd8d..a9d9737f1ddfcb624d007120a3b5da5e81d03aca 100644 (file)
@@ -1,9 +1,10 @@
 /*
- * Copyright (c) 2007,2008,2009 Zmanda, Inc.  All Rights Reserved.
+ * Copyright (c) 2007-2012 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 free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -23,7 +24,6 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include "queueing.h" /* for StreamingRequirement */
 
 /* The properties interface defines define capabilities and other interesting
  * properties. */
@@ -174,21 +174,6 @@ typedef enum {
 #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 */
@@ -196,6 +181,11 @@ extern DevicePropertyBase device_property_concurrency;
 #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)
 
@@ -244,10 +234,6 @@ extern DevicePropertyBase device_property_partial_deletion;
 extern DevicePropertyBase device_property_full_deletion;
 #define PROPERTY_FULL_DELETION (device_property_full_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 guint64. On devices that support it, this property will
    limit the total amount of data written to a volume; attempts to
    write beyond this point will cause the device to simulate "out of
@@ -255,6 +241,11 @@ extern DevicePropertyBase device_property_free_space;
 extern DevicePropertyBase device_property_max_volume_usage;
 #define PROPERTY_MAX_VOLUME_USAGE (device_property_max_volume_usage.ID)
 
+/* For devices supporting max_volume_usage this property will be used 
+disable/enable property max_volume_usage. If FALSE, max_volume_usage 
+will not be verified while writing to the device */
+extern DevicePropertyBase device_property_enforce_max_volume_usage;
+#define PROPERTY_ENFORCE_MAX_VOLUME_USAGE (device_property_enforce_max_volume_usage.ID)
 /* Should the device produce verbose output?  Value is a gboolean.  Not
  * present in all devices. */
 extern DevicePropertyBase device_property_verbose;
@@ -264,4 +255,8 @@ extern DevicePropertyBase device_property_verbose;
 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