diff --git a/smartmontools/os_freebsd.cpp b/smartmontools/os_freebsd.cpp index 2d298179f51b572071f5e2d6ab0f2fa6f15177fd..01cfadb5a56f9ac8b081d06e29fbed916f656209 100644 --- a/smartmontools/os_freebsd.cpp +++ b/smartmontools/os_freebsd.cpp @@ -68,6 +68,10 @@ #define CONTROLLER_3WARE_9000_CHAR 0x02 #define CONTROLLER_3WARE_678K_CHAR 0x03 +#ifndef PATHINQ_SETTINGS_SIZE +#define PATHINQ_SETTINGS_SIZE 128 +#endif + static __unused const char *filenameandversion="$Id$"; const char *os_XXXX_c_cvsid="$Id$" \ @@ -1270,7 +1274,9 @@ public: protected: virtual ata_device * get_ata_device(const char * name, const char * type); +#if FREEBSDVER > 800100 virtual ata_device * get_atacam_device(const char * name, const char * type); +#endif virtual scsi_device * get_scsi_device(const char * name, const char * type); @@ -1303,10 +1309,12 @@ ata_device * freebsd_smart_interface::get_ata_device(const char * name, const ch return new freebsd_ata_device(this, name, type); } +#if FREEBSDVER > 800100 ata_device * freebsd_smart_interface::get_atacam_device(const char * name, const char * type) { return new freebsd_atacam_device(this, name, type); } +#endif scsi_device * freebsd_smart_interface::get_scsi_device(const char * name, const char * type) { @@ -1813,11 +1821,13 @@ smart_device * freebsd_smart_interface::autodetect_smart_device(const char * nam return get_sat_device(usbtype, new freebsd_scsi_device(this, name, "")); } } +#if FREEBSDVER > 800100 // check if we have ATA device connected to CAM (ada) if(ccb.cpi.protocol == PROTO_ATA){ cam_close_device(cam_dev); return new freebsd_atacam_device(this, name, ""); } +#endif // close cam device, we don`t need it anymore cam_close_device(cam_dev); // handle as usual scsi @@ -1891,9 +1901,11 @@ smart_device * freebsd_smart_interface::get_custom_smart_device(const char * nam } return new freebsd_cciss_device(this, name, disknum); } +#if FREEBSDVER > 800100 // adaX devices ? if(!strcmp(type,"atacam")) return new freebsd_atacam_device(this, name, ""); +#endif return 0; }