1 2 /* sg.c 3 Switcher for operating system dependent transport level modules of libburn. 4 Copyright (C) 2009 - 2016 Thomas Schmitt <scdbackup@gmx.net>, 5 provided under GPLv2+ 6 */ 7 8 #ifdef HAVE_CONFIG_H 9 #include "../config.h" 10 #undef HAVE_CONFIG_H 11 #endif 12 13 14 #ifdef Libburn_use_sg_dummY 15 16 #include "sg-dummy.c" 17 18 #else 19 #ifdef Libburn_use_libcdiO 20 21 #include "sg-libcdio.c" 22 23 #else 24 #ifdef __NetBSD__ 25 26 #include "sg-netbsd.c" 27 28 #else 29 #ifdef __OpenBSD__ 30 31 #include "sg-netbsd.c" 32 33 #else 34 #ifdef __FreeBSD__ 35 36 #ifdef Libburn_use_sg_freebsd_porT 37 #include "sg-freebsd-port.c" 38 #else 39 #include "sg-freebsd.c" 40 #endif 41 42 #else 43 #ifdef __FreeBSD_kernel__ 44 45 #ifdef Libburn_use_sg_freebsd_porT 46 #include "sg-freebsd-port.c" 47 #else 48 #include "sg-freebsd.c" 49 #endif 50 51 #else 52 #ifdef __linux 53 54 #include "sg-linux.c" 55 56 #else 57 #ifdef __sun 58 59 #include "sg-solaris.c" 60 61 #else 62 63 /* The dummy adapter formally fulfills the expectations of libburn towards 64 its SCSI command transport. It will show no drives and perform no SCSI 65 commands. 66 libburn will then be restricted to using its stdio pseudo drives. 67 */ 68 static int intentional_compiler_warning(void) 69 { 70 int INTENTIONAL_COMPILER_WARNING_; 71 int Cannot_recognize_supported_operating_system_; 72 int Like_GNU_Linux_or_FreeBSD_or_Solaris_or_NetBSD_; 73 int Have_to_use_dummy_MMC_transport_adapter_; 74 int This_libburn_will_not_be_able_to_operate_on_real_CD_drives; 75 int Have_to_use_dummy_MMC_transport_adapter; 76 int Like_GNU_Linux_or_FreeBSD_or_Solaris_or_NetBSD; 77 int Cannot_recognize_supported_operating_system; 78 int INTENTIONAL_COMPILER_WARNING; 79 80 return(0); 81 } 82 83 #include "sg-dummy.c" 84 85 #endif /* ! __sun */ 86 #endif /* ! __linux */ 87 #endif /* ! __FreeBSD_kernel__ */ 88 #endif /* ! __FreeBSD__ */ 89 #endif /* ! __OpenBSD__ */ 90 #endif /* ! __NetBSD__ */ 91 #endif /* ! Libburn_use_libcdiO */ 92 #endif /* ! Libburn_use_sg_dummY */ 93