Mercurial > mplayer.hg
annotate vidix/dha.h @ 25883:baf32110d3fc
Use defines to give names to the different seek flags.
A better solution should be considered later, esp. for the many
broken demuxers that do not treat these flags correctly.
author | reimar |
---|---|
date | Tue, 29 Jan 2008 15:11:38 +0000 |
parents | 246221f7ba2e |
children | a93e46adb54c |
rev | line source |
---|---|
3973 | 1 /* |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
2 * VIDIX Direct Hardware Access (DHA). |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
3 * Copyright (C) 2002 Nick Kurshev |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
4 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
5 * This file is part of MPlayer. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
6 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
7 * MPlayer is free software; you can redistribute it and/or modify |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
8 * it under the terms of the GNU General Public License as published by |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
9 * the Free Software Foundation; either version 2 of the License, or |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
10 * (at your option) any later version. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
11 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
12 * MPlayer is distributed in the hope that it will be useful, |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
15 * GNU General Public License for more details. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
16 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
17 * You should have received a copy of the GNU General Public License |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
18 * along with MPlayer; if not, write to the Free Software |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
20 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
21 * 1996/10/27 - Robin Cutshaw (robin@xfree86.org) |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
22 * XFree86 3.3.3 implementation |
23933 | 23 * 1999 - Øyvind Aabling. |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
24 * Modified for GATOS/win/gfxdump. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
25 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
26 * 2002 - library implementation by Nick Kurshev |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
27 * - dhahelper and some changes by Alex Beregszaszi |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
28 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
29 * Supported O/S's: SVR4, UnixWare, SCO, Solaris, |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
30 * FreeBSD, NetBSD, 386BSD, BSDI BSD/386, |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
31 * Linux, Mach/386, ISC |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
32 * DOS (WATCOM 9.5 compiler), Win9x (with mapdev.vxd) |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
33 * Original location: www.linuxvideo.org/gatos |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
34 */ |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
22901
diff
changeset
|
35 |
25869
246221f7ba2e
Consistently use uppercase filename as multiple inclusion guard.
diego
parents:
25535
diff
changeset
|
36 #ifndef DHA_H |
246221f7ba2e
Consistently use uppercase filename as multiple inclusion guard.
diego
parents:
25535
diff
changeset
|
37 #define DHA_H |
3973 | 38 |
39 #ifdef __cplusplus | |
40 extern "C" { | |
41 #endif | |
42 | |
43 #define MAX_DEV_PER_VENDOR_CFG1 64 | |
44 #define MAX_PCI_DEVICES_PER_BUS 32 | |
45 #define MAX_PCI_DEVICES 64 | |
46 #define PCI_MULTIFUNC_DEV 0x80 | |
9767
f6d2772efca3
Ignore disabled cards. (Jon Burgess <jburgess@uklinux.net>)
ranma
parents:
5702
diff
changeset
|
47 #define PCI_COMMAND_IO 0x1 /* Enable response to I/O space */ |
3973 | 48 |
49 typedef struct pciinfo_s | |
50 { | |
4192 | 51 int bus,card,func; /* PCI/AGP bus:card:func */ |
9767
f6d2772efca3
Ignore disabled cards. (Jon Burgess <jburgess@uklinux.net>)
ranma
parents:
5702
diff
changeset
|
52 unsigned short command; /* Device control register */ |
4192 | 53 unsigned short vendor,device; /* Card vendor+device ID */ |
54 unsigned base0,base1,base2,baserom; /* Memory and I/O base addresses */ | |
4277 | 55 // unsigned base0_limit, base1_limit, base2_limit, baserom_limit; |
3973 | 56 }pciinfo_t; |
57 | |
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
|
58 /* needed for mga_vid */ |
4277 | 59 extern int pci_config_read(unsigned char bus, unsigned char dev, unsigned char func, |
60 unsigned char cmd, int len, unsigned long *val); | |
3973 | 61 /* Fill array pci_list which must have size MAX_PCI_DEVICES |
62 and return 0 if sucessful */ | |
63 extern int pci_scan(pciinfo_t *pci_list,unsigned *num_card); | |
64 | |
65 | |
4192 | 66 /* Enables/disables accessing to IO space from application side. |
67 Should return 0 if o'k or errno on error. */ | |
68 extern int enable_app_io( void ); | |
69 extern int disable_app_io( void ); | |
3973 | 70 |
3995 | 71 extern unsigned char INPORT8(unsigned idx); |
72 extern unsigned short INPORT16(unsigned idx); | |
73 extern unsigned INPORT32(unsigned idx); | |
74 #define INPORT(idx) INPORT32(idx) | |
75 extern void OUTPORT8(unsigned idx,unsigned char val); | |
76 extern void OUTPORT16(unsigned idx,unsigned short val); | |
77 extern void OUTPORT32(unsigned idx,unsigned val); | |
78 #define OUTPORT(idx,val) OUTPORT32(idx,val) | |
3973 | 79 |
5702 | 80 extern void * map_phys_mem(unsigned long base, unsigned long size); |
81 extern void unmap_phys_mem(void *ptr, unsigned long size); | |
3973 | 82 |
4476 | 83 /* These are the region types */ |
84 #define MTRR_TYPE_UNCACHABLE 0 | |
85 #define MTRR_TYPE_WRCOMB 1 | |
86 #define MTRR_TYPE_WRTHROUGH 4 | |
87 #define MTRR_TYPE_WRPROT 5 | |
88 #define MTRR_TYPE_WRBACK 6 | |
89 extern int mtrr_set_type(unsigned base,unsigned size,int type); | |
90 | |
3973 | 91 #ifdef __cplusplus |
92 } | |
93 #endif | |
94 | |
25869
246221f7ba2e
Consistently use uppercase filename as multiple inclusion guard.
diego
parents:
25535
diff
changeset
|
95 #endif /* DHA_H */ |