Mercurial > mplayer.hg
annotate libdha/libdha.h @ 7166:814ad5474529
ignore .libdeps
author | rfelker |
---|---|
date | Fri, 30 Aug 2002 13:53:32 +0000 |
parents | 567de708ab3a |
children | f6d2772efca3 |
rev | line source |
---|---|
3973 | 1 /* |
2 libgha.h - Library for direct hardware access | |
3 Copyrights: | |
4 1996/10/27 - Robin Cutshaw (robin@xfree86.org) | |
5 XFree86 3.3.3 implementation | |
6 1999 - Øyvind Aabling. | |
7 Modified for GATOS/win/gfxdump. | |
8 2002 - library implementation by Nick Kurshev | |
9 | |
10 supported O/S's: SVR4, UnixWare, SCO, Solaris, | |
11 FreeBSD, NetBSD, 386BSD, BSDI BSD/386, | |
12 Linux, Mach/386, ISC | |
13 DOS (WATCOM 9.5 compiler), Win9x (with mapdev.vxd) | |
14 Licence: GPL | |
15 */ | |
16 #ifndef LIBDHA_H | |
17 #define LIBDHA_H | |
18 | |
19 #ifdef __cplusplus | |
20 extern "C" { | |
21 #endif | |
22 | |
23 #define MAX_DEV_PER_VENDOR_CFG1 64 | |
24 #define MAX_PCI_DEVICES_PER_BUS 32 | |
25 #define MAX_PCI_DEVICES 64 | |
26 #define PCI_MULTIFUNC_DEV 0x80 | |
27 | |
28 typedef struct pciinfo_s | |
29 { | |
4192 | 30 int bus,card,func; /* PCI/AGP bus:card:func */ |
31 unsigned short vendor,device; /* Card vendor+device ID */ | |
32 unsigned base0,base1,base2,baserom; /* Memory and I/O base addresses */ | |
4277 | 33 // unsigned base0_limit, base1_limit, base2_limit, baserom_limit; |
3973 | 34 }pciinfo_t; |
35 | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
3995
diff
changeset
|
36 /* needed for mga_vid */ |
4277 | 37 extern int pci_config_read(unsigned char bus, unsigned char dev, unsigned char func, |
38 unsigned char cmd, int len, unsigned long *val); | |
3973 | 39 /* Fill array pci_list which must have size MAX_PCI_DEVICES |
40 and return 0 if sucessful */ | |
41 extern int pci_scan(pciinfo_t *pci_list,unsigned *num_card); | |
42 | |
43 | |
4192 | 44 /* Enables/disables accessing to IO space from application side. |
45 Should return 0 if o'k or errno on error. */ | |
46 extern int enable_app_io( void ); | |
47 extern int disable_app_io( void ); | |
3973 | 48 |
3995 | 49 extern unsigned char INPORT8(unsigned idx); |
50 extern unsigned short INPORT16(unsigned idx); | |
51 extern unsigned INPORT32(unsigned idx); | |
52 #define INPORT(idx) INPORT32(idx) | |
53 extern void OUTPORT8(unsigned idx,unsigned char val); | |
54 extern void OUTPORT16(unsigned idx,unsigned short val); | |
55 extern void OUTPORT32(unsigned idx,unsigned val); | |
56 #define OUTPORT(idx,val) OUTPORT32(idx,val) | |
3973 | 57 |
5702 | 58 extern void * map_phys_mem(unsigned long base, unsigned long size); |
59 extern void unmap_phys_mem(void *ptr, unsigned long size); | |
3973 | 60 |
4476 | 61 /* These are the region types */ |
62 #define MTRR_TYPE_UNCACHABLE 0 | |
63 #define MTRR_TYPE_WRCOMB 1 | |
64 #define MTRR_TYPE_WRTHROUGH 4 | |
65 #define MTRR_TYPE_WRPROT 5 | |
66 #define MTRR_TYPE_WRBACK 6 | |
67 extern int mtrr_set_type(unsigned base,unsigned size,int type); | |
68 | |
3973 | 69 #ifdef __cplusplus |
70 } | |
71 #endif | |
72 | |
5702 | 73 #endif |