1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00
freebsd-ports/audio/rio/files/patch-ab
2003-04-02 02:46:39 +00:00

50 lines
1.3 KiB
Plaintext

*** rio.cpp.orig Mon Mar 15 06:53:16 1999
--- rio.cpp Fri Feb 18 11:02:11 2000
***************
*** 53,58 ****
--- 53,78 ----
#define CLOCK_SECOND 1000
#define DELETEARRAY delete[]
+ #elif defined(__FreeBSD__)
+ // FreeBSD g++
+ // (anybody know if this stuff applies more generally to other BSDs?)
+ #include <fcntl.h>
+ #include <unistd.h>
+ #define ffs _ffs_hack
+ #include <machine/cpufunc.h>
+ #undef ffs
+ #if defined(__alpha__)
+ #include <sys/types.h>
+ extern "C" {
+ u_int8_t inb(u_int32_t);
+ void outb(u_int32_t, u_int8_t);
+ }
+ #endif
+ #define OUTPORT(p,v) outb( p, v )
+ #define INPORT(p) inb( p )
+ #define CLOCK_SECOND CLOCKS_PER_SEC
+ #define DELETEARRAY delete[]
+
#elif defined(__linux__)
// linux g++
#include <unistd.h>
***************
*** 201,206 ****
--- 219,233 ----
m_iPortData = m_iPortBase + OFFSET_PORT_DATA;
m_iPortStatus = m_iPortBase + OFFSET_PORT_STATUS;
m_iPortControl = m_iPortBase + OFFSET_PORT_CONTROL;
+
+ // if FreeBSD
+ #if defined(__FreeBSD__)
+ // Request direct access to memory addresses
+ if (open("/dev/io", O_RDONLY) < 0) {
+ LogError( CRIO_ERROR_IOPRERM, "open(/dev/io) failed, reason '%s'", SZERROR );
+ return FALSE;
+ }
+ #endif
// if linux
#if defined(__linux__)