vserver 1.9.5.x5
[linux-2.6.git] / include / scsi / scsi_transport.h
index 658e3ce..889849a 100644 (file)
 #ifndef SCSI_TRANSPORT_H
 #define SCSI_TRANSPORT_H
 
+#include <linux/transport_class.h>
+
 struct scsi_transport_template {
-       /* The NULL terminated list of transport attributes
-        * that should be exported.
-        */
-       struct class_device_attribute **attrs;
+       /* The statistics attached to the host class only */
+       struct attribute_group *host_statistics;
 
-       /* The transport class that the device is in */
-       struct class *class;
+       /* the attribute containers */
+       struct attribute_container host_attrs;
+       struct attribute_container target_attrs;
+       struct attribute_container device_attrs;
 
-       /* Constructor/Destructor functions */
-       int (* setup)(struct scsi_device *);
-       void (* cleanup)(struct scsi_device *);
        /* The size of the specific transport attribute structure (a
         * space of this size will be left at the end of the
-        * scsi_device structure */
-       int     size;
+        * scsi_* structure */
+       int     device_size;
+       int     target_size;
+       int     host_size;
 };
 
+#define transport_class_to_shost(tc) \
+       dev_to_shost((tc)->dev)
+
+
 #endif /* SCSI_TRANSPORT_H */