Annotation of embedaddon/pciutils/lib/i386-io-windows.h, revision 1.1.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>