view vidix/sysdep/pci_bsdi.c @ 34383:15b9cddb0c6e

Prefer libcdio over cdparanoia by default. cdparanoia is (or at least used to be) less portable and seems to have more major issues (like not being able to work with -nocache, setting mode to 0 explicitly completely breaking track->sector lookup).
author reimar
date Thu, 29 Dec 2011 16:10:12 +0000
parents 502f04b67653
children 958431e2cde0
line wrap: on
line source

/*
   This file is based on:
   $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $
   Modified for readability by Nick Kurshev
*/
#include <errno.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#include <i386/isa/pcconsioctl.h>
#ifndef GCCUSESGAS
#define GCCUSESGAS
#endif

static int io_fd;

static __inline__ int enable_os_io(void)
{
    io_fd = -1 ;
    if ((io_fd = open("/dev/console", O_RDWR, 0)) < 0) {
        perror("/dev/console");
	return errno;
    }
    if (ioctl(io_fd, PCCONENABIOPL, 0) < 0) {
        perror("ioctl(PCCONENABIOPL)");
        return errno;
    }
    return 0;
}

static __inline__ int disable_os_io(void)
{
    if (ioctl(io_fd, PCCONDISABIOPL, 0) < 0) {
        perror("ioctl(PCCONDISABIOPL)");
	close(io_fd);
        return errno;
    }
    close(io_fd);
    return 0;
}