Annotation of embedaddon/pciutils/lib/i386-io-windows.h, revision 1.1
1.1 ! misho 1: /*
! 2: * The PCI Library -- Access to i386 I/O ports on Windows
! 3: *
! 4: * Copyright (c) 2004 Alexander Stock <stock.alexander@gmx.de>
! 5: * Copyright (c) 2006 Martin Mares <mj@ucw.cz>
! 6: *
! 7: * Can be freely distributed and used under the terms of the GNU GPL.
! 8: */
! 9:
! 10: #include <io.h>
! 11: #include <windows.h>
! 12:
! 13: #ifndef __GNUC__
! 14: #include <conio.h>
! 15: #else
! 16: int _outp(unsigned short port, int databyte);
! 17: unsigned short _outpw(unsigned short port, unsigned short dataword);
! 18: unsigned long _outpd(unsigned short port, unsigned long dataword);
! 19: int _inp(unsigned short port);
! 20: unsigned short _inpw(unsigned short port);
! 21: unsigned long _inpd(unsigned short port);
! 22: #endif
! 23:
! 24: #define outb(x,y) _outp(y,x)
! 25: #define outw(x,y) _outpw(y,x)
! 26: #define outl(x,y) _outpd(y,x)
! 27:
! 28: #define inb(x) _inp(x)
! 29: #define inw(x) _inpw(x)
! 30: #define inl(x) _inpd(x)
! 31:
! 32: static int
! 33: intel_setup_io(struct pci_access *a)
! 34: {
! 35: typedef int (*MYPROC)(void);
! 36: MYPROC InitializeWinIo;
! 37: HMODULE lib;
! 38:
! 39: lib = LoadLibrary("WinIo.dll");
! 40: if (!lib)
! 41: {
! 42: a->warning("i386-io-windows: Couldn't load WinIo.dll.");
! 43: return 0;
! 44: }
! 45: /* XXX: Is this really needed? --mj */
! 46: GetProcAddress(lib, "InitializeWinIo");
! 47:
! 48: InitializeWinIo = (MYPROC) GetProcAddress(lib, "InitializeWinIo");
! 49: if (!InitializeWinIo)
! 50: {
! 51: a->warning("i386-io-windows: Couldn't find InitializeWinIo function.");
! 52: return 0;
! 53: }
! 54:
! 55: if (!InitializeWinIo())
! 56: {
! 57: a->warning("i386-io-windows: InitializeWinIo() failed.");
! 58: return 0;
! 59: }
! 60:
! 61: return 1;
! 62: }
! 63:
! 64: static inline int
! 65: intel_cleanup_io(struct pci_access *a UNUSED)
! 66: {
! 67: //TODO: DeInitializeWinIo!
! 68: return 1;
! 69: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>