File indexing completed on 2024-04-21 04:54:21

0001 #ifndef WM_CONFIG_H
0002 #define WM_CONFIG_H
0003 /*
0004  * This file is part of WorkMan, the civilized CD player library
0005  * Copyright (C) 1991-1997 by Steven Grimm <koreth@midwinter.com>
0006  * Copyright (C) by Dirk Försterling <milliByte@DeathsDoor.com>
0007  *
0008  * This library is free software; you can redistribute it and/or
0009  * modify it under the terms of the GNU Library General Public
0010  * License as published by the Free Software Foundation; either
0011  * version 2 of the License, or (at your option) any later version.
0012  *
0013  * This library is distributed in the hope that it will be useful,
0014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0016  * Library General Public License for more details.
0017  *
0018  * You should have received a copy of the GNU Library General Public
0019  * License along with this library; if not, write to the Free
0020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0021  *
0022  **********************************************************************
0023  *
0024  * This file consists of several parts. First, there's a generic,
0025  * platform independent part. Set needed options there.
0026  * The following parts are platform dependent. You may search for the
0027  * names listed below and then set your OS specific options there.
0028  * Don't be surprised, if there are no options for your OS. They aren't
0029  * needed in any case.
0030  *
0031  * The default values should produce a functional WorkMan on every
0032  * platform.
0033  *
0034  *********************
0035  * Current platforms:
0036  *********************
0037  * BSD386
0038  * FreeBSD
0039  * HP-UX
0040  * Irix (SGI)
0041  * Linux
0042  * News  (Sony NewsOS)
0043  * OpenBSD
0044  * OSF1
0045  * Sun (SunOS/Solaris, Sparc or x86)
0046  * SVR4
0047  * Ultrix
0048  * AIX
0049  *
0050  * The above order corresponds with the order of the platform specific
0051  * options below.
0052  */
0053 
0054 /******************************************************************
0055  * generic options
0056  ******************************************************************
0057  **   **  ***  ****    **  ****   **    *    **   **    **   *   **
0058  *  *  *  ***  ****  *  *  ***  *  **  **  ***  *  *  *  *  * *  **
0059  *     *  ***  ****    **  ***     **  **   **  *  *    **  * *  **
0060  *  *  *  ***  ****  ****  ***  *  **  **  ***  *  *  *  *  ***  **
0061  *  *  *    *    **  ****    *  *  **  **  ****   **  *  *  ***  **
0062  ******************************************************************/
0063 
0064 /*
0065  * If your CD-ROM drive closes its tray if the device is opened, then
0066  * the next define can make WorkMans "Eject" button an "open/close"
0067  * button. If it disturbs you, just comment it out.
0068  *
0069  * ### this is preliminary. It may have no effect for you ###
0070  */
0071 #define CAN_CLOSE 1
0072 
0073 /*
0074  * Define the following if you want the balance slider to
0075  * decrease one channel's volume while increasing the other's
0076  */
0077 /* #define SYMETRIC_BALANCE 1 */
0078 
0079 
0080 /******************************************************************
0081  * BSD386
0082  ******************************************************************
0083  ***     ****    ***    *******  **    ****    ****    ************
0084  ***  **  **  ******  *  *****  ******  **  **  **  ***************
0085  ***    ******  ****  **  ***  *****  *****    ***     ************
0086  ***  **  ******  **  *  ***  ********  **  **  **  **  ***********
0087  ***     ****    ***    ***  ******    ****    ****    ************
0088  ******************************************************************/
0089 #if defined(__bsdi__) || defined(__bsdi)
0090 
0091 /*
0092  * This lets you use the SoundBlaster Mixer on BSD/386
0093  */
0094 #define SOUNDBLASTER 1
0095 
0096 #define DEFAULT_CD_DEVICE "/dev/rsr2c"
0097 
0098 #endif /* __bsdi__ (BSD/386) */
0099 
0100 /******************************************************************
0101  * FreeBSD
0102  ******************************************************************
0103  ***      **     ***      **      **     ****    ***    ***********
0104  ***  ******  **  **  ******  ******  **  **  ******  *  **********
0105  ***    ****     ***    ****    ****    ******  ****  **  *********
0106  ***  ******  **  **  ******  ******  **  ******  **  *  **********
0107  ***  ******  **  **      **      **     ****    ***    ***********
0108  ******************************************************************/
0109 #if defined(__FreeBSD__) || defined(__FreeBSD) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
0110 
0111 #if (defined(__FreeBSD_version) && __FreeBSD_version >= 500100) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
0112 #define DEFAULT_CD_DEVICE   "/dev/acd0"
0113 #else
0114 #define DEFAULT_CD_DEVICE   "/dev/acd0c"
0115 #endif
0116 
0117 #endif /* freebsd */
0118 
0119 #if defined(__OpenBSD__)
0120 #define DEFAULT_CD_DEVICE   find_cdrom()
0121 #endif
0122 
0123 /******************************************************************
0124  * NetBSD
0125  ******************************************************************
0126  ***   ***  **      **      **     ****    ***    *****************
0127  ***    **  **  ********  ****  **  **  ******  *  ****************
0128  ***  *  *  **    ******  ****    ******  ****  **  ***************
0129  ***  **    **  ********  ****  **  ******  **  *  ****************
0130  ***  ***   **      ****  ****     ****    ***    *****************
0131  ******************************************************************/
0132 #if defined(__NetBSD__) || defined(__NetBSD)
0133 
0134 #if defined(__i386__)
0135     #define DEFAULT_CD_DEVICE   "/dev/rcd0d"
0136 #else
0137     #define DEFAULT_CD_DEVICE   "/dev/rcd0c"
0138 #endif
0139 
0140 #endif /* netbsd */
0141 
0142 /******************************************************************
0143  * HP-UX
0144  ******************************************************************
0145  ***  **  **     *********  **  **  **  ***************************
0146  ***  **  **  **  ********  **  ***    ****************************
0147  ***      **     ***    **  **  ****  *****************************
0148  ***  **  **  ************  **  ***    ****************************
0149  ***  **  **  *************    ***  **  ***************************
0150  ******************************************************************/
0151 #if defined(hpux) || defined (__hpux)
0152 
0153 #define DEFAULT_CD_DEVICE   "/dev/rscsi"
0154 
0155 #endif /* hpux */
0156 
0157 /******************************************************************
0158  * Irix
0159  ******************************************************************
0160  ***      **     ***      **  **  *********************************
0161  *****  ****  **  ****  *****    **********************************
0162  *****  ****     *****  ******  ***********************************
0163  *****  ****  **  ****  *****    **********************************
0164  ***      **  **  **      **  **  *********************************
0165  ******************************************************************/
0166 #if defined(sgi) || defined(__sgi)
0167 
0168 #define DEFAULT_CD_DEVICE   "/dev/scsi/sc0d6l0"
0169 
0170 #endif /* sgi IRIX */
0171 
0172 /******************************************************************
0173  * Linux
0174  ******************************************************************
0175  ***  ******      **   ***  **  **  **  **  ***********************
0176  ***  ********  ****    **  **  **  ***    ************************
0177  ***  ********  ****  *  *  **  **  ****  *************************
0178  ***  ********  ****  **    **  **  ***    ************************
0179  ***      **      **  ***   ***    ***  **  ***********************
0180  ******************************************************************/
0181 #if defined(__linux__)
0182 
0183 /*
0184  * Uncomment the following line to have WorkMan send SCSI commands
0185  *  directly to the CD-ROM drive.  If you have a SCSI drive you
0186  * probably want this, but it will cause WorkMan to not work on IDE
0187  * drives.
0188  */
0189 /*#define LINUX_SCSI_PASSTHROUGH 1*/
0190 
0191 /*
0192  * Which device should be opened by WorkMan at default?
0193  */
0194 #define DEFAULT_CD_DEVICE   "/dev/cdrom"
0195 #define WMLIB_CDDA_BUILD 1
0196 #define COUNT_CDDA_BLOCKS 10
0197 
0198 /*
0199  * Uncomment the following if you use the sbpcd or mcdx device driver.
0200  * It shouldn't hurt if you use it on other devices. It'll be nice to
0201  * hear from non-sbpcd (or mcdx) users if this is right.
0202  */
0203 /*#define SBPCD_HACK 1*/
0204 
0205 /*
0206  * Linux Soundcard support
0207  * Disabled by default, because some people rely on it
0208  */
0209 /* #define OSS_SUPPORT 1 */
0210 
0211 /*
0212  * This has nothing to do with the above.
0213  */
0214 
0215 /* #define CURVED_VOLUME */
0216 
0217 /*
0218  * Uncomment the following if you want to try out a better responding
0219  * WorkMan, especially with IDE drives. This may work with non-IDE
0220  * drives as well. But it may be possible, that it doesn't work at all.
0221  * If your drive/driver combination cannot handle the faster access,
0222  * the driver will usually hang and you have to reboot your machine.
0223  */
0224 /* #define FAST_IDE 1 */
0225 
0226 /*
0227  * There are two alternative ways of checking a device containing a
0228  * mounted filesystem. Define BSD_MOUNTTEST for the test using
0229  * getmntent(). Undefine it for using the SVR4 ustat().
0230  * I built in the choice, because it's not clear which method should
0231  * be used in Linux. The ustat manpage tells us since 1995, that
0232  * fstat() should be used, but I'm too dumb to do so.
0233  */
0234 
0235 #define BSD_MOUNTTEST
0236 
0237 #endif /* __linux */
0238 
0239 /******************************************************************
0240  * Sony NewsOS
0241  ******************************************************************
0242  ***   ***  **      **  *****  ***    *****************************
0243  ***    **  **  ******  *****  **  ********************************
0244  ***  *  *  **    ****  ** **  ****  ******************************
0245  ***  **    **  ******  *   *  ******  ****************************
0246  ***  ***   **      **    *    ***    *****************************
0247  ******************************************************************/
0248 #if defined(__sony_news) || defined(sony_news)
0249 
0250 #define DEFAULT_CD_DEVICE   "/dev/rsd/b0i6u0p2\0"
0251 
0252 #endif
0253 
0254 /******************************************************************
0255  * OSF1
0256  ******************************************************************
0257  ****    ****    ***      ***  ***  *******************************
0258  ***  **  **  ******  ******  **    *******************************
0259  ***  **  ****  ****    ***  *****  *******************************
0260  ***  **  ******  **  ****  ******  *******************************
0261  ****    ****    ***  ***  *****      *****************************
0262  ******************************************************************/
0263 #if defined(__osf__) || defined(__osf)
0264 
0265 #define DEFAULT_CD_DEVICE find_cdrom()
0266 
0267 #endif
0268 
0269 /******************************************************************
0270  * SunOS/Solaris
0271  ******************************************************************
0272  ****    ***  **  **   ***  ***************************************
0273  ***  ******  **  **    **  ***************************************
0274  *****  ****  **  **  *  *  ***************************************
0275  *******  **  **  **  **    ***************************************
0276  ****    ****    ***  ***   ***************************************
0277  ******************************************************************/
0278 #if defined(sun) || defined(__sun)
0279 
0280 /*
0281  * Define the following for Solaris 2.x
0282  * If you don't want WorkMan to try to activate the SPARCstation 5
0283  * internal audio input so you get sound from the workstation, comment
0284  * out the CODEC define.
0285  */
0286 
0287 #define SYSV 1
0288 #define CODEC 1
0289 #define DEFAULT_CD_DEVICE find_cdrom()
0290 #define WMLIB_CDDA_BUILD 1
0291 #define COUNT_CDDA_BLOCKS 15
0292 
0293 /*
0294  * set the following to "SUNW,CS4231" for Sun and to "SUNW,sb16"
0295  * for PC (with SoundBlaster 16) running Solaris x86
0296  * (only important if you define CODEC above)
0297  */
0298 #define SUN_AUD_DEV "SUNW,CS4231"
0299 /*#define SUN_AUD_DEV "SUNW,sbpro"*/
0300 
0301 
0302 #endif
0303 
0304 /******************************************************************
0305  * SVR4
0306  ******************************************************************
0307  ****    ***  ****  **     ***  *  ********************************
0308  ***  ******  ****  **  **  **  *  ********************************
0309  *****  *****  **  ***     ***      *******************************
0310  *******  ***  **  ***  **  *****  ********************************
0311  ****    *****    ****  **  *****  ********************************
0312  ******************************************************************/
0313 #if (defined(SVR4) || defined(__SVR4)) && !defined(sun) && !defined(__sun) && !defined(sony_news) && !defined(__sony_news)
0314 
0315 #define DEFAULT_CD_DEVICE       "/dev/rcdrom/cd0"
0316 
0317 #endif
0318 
0319 /******************************************************************
0320  * Ultrix
0321  ******************************************************************
0322  ***  **  **  *****      **     ***      **  **  ******************
0323  ***  **  **  *******  ****  **  ****  *****    *******************
0324  ***  **  **  *******  ****     *****  ******  ********************
0325  ***  **  **  *******  ****  **  ****  *****    *******************
0326  ****    ***      ***  ****  **  **      **  **  ******************
0327  ******************************************************************/
0328 #if defined(ultrix) || defined(__ultrix)
0329 
0330 #define DEFAULT_CD_DEVICE   find_cdrom()
0331 
0332 #endif
0333 
0334 /******************************************************************
0335  * IBM AIX
0336  ******************************************************************
0337  ****    ***      **  **  *****************************************
0338  ***  **  ****  *****    ******************************************
0339  ***      ****  ******  *******************************************
0340  ***  **  ****  *****    ******************************************
0341  ***  **  **      **  **  *****************************************
0342  ******************************************************************/
0343 #if defined(AIXV3) || defined(__AIXV3)
0344 
0345 #define DEFAULT_CD_DEVICE   "/dev/cd0"
0346 
0347 #endif /* IBM AIX */
0348 
0349 /******************************************************************/
0350 
0351 #include <stdio.h>
0352 
0353 #define DEBUG
0354 #ifdef DEBUG
0355  #if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
0356   #define DEBUGLOG(...) fprintf(stderr, __VA_ARGS__)
0357  #else
0358   #define DEBUGLOG(fmt, args...) fprintf(stderr, fmt, ##args)
0359  #endif
0360 #else
0361  #define DEBUGLOG(fmt, args...)
0362 #endif
0363 #if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
0364  #define ERRORLOG(...) fprintf(stderr, __VA_ARGS__)
0365 #else
0366  #define ERRORLOG(fmt, args...) fprintf(stderr, fmt, ##args)
0367 #endif
0368 
0369 #endif /* WM_CONFIG_H */
0370 
0371 
0372 
0373 
0374 
0375 
0376 
0377