0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef _UAPI_AGP_H
0028 #define _UAPI_AGP_H
0029
0030 #define AGPIOC_BASE 'A'
0031 #define AGPIOC_INFO _IOR (AGPIOC_BASE, 0, struct agp_info*)
0032 #define AGPIOC_ACQUIRE _IO (AGPIOC_BASE, 1)
0033 #define AGPIOC_RELEASE _IO (AGPIOC_BASE, 2)
0034 #define AGPIOC_SETUP _IOW (AGPIOC_BASE, 3, struct agp_setup*)
0035 #define AGPIOC_RESERVE _IOW (AGPIOC_BASE, 4, struct agp_region*)
0036 #define AGPIOC_PROTECT _IOW (AGPIOC_BASE, 5, struct agp_region*)
0037 #define AGPIOC_ALLOCATE _IOWR(AGPIOC_BASE, 6, struct agp_allocate*)
0038 #define AGPIOC_DEALLOCATE _IOW (AGPIOC_BASE, 7, int)
0039 #define AGPIOC_BIND _IOW (AGPIOC_BASE, 8, struct agp_bind*)
0040 #define AGPIOC_UNBIND _IOW (AGPIOC_BASE, 9, struct agp_unbind*)
0041 #define AGPIOC_CHIPSET_FLUSH _IO (AGPIOC_BASE, 10)
0042
0043 #define AGP_DEVICE "/dev/agpgart"
0044
0045 #ifndef TRUE
0046 #define TRUE 1
0047 #endif
0048
0049 #ifndef FALSE
0050 #define FALSE 0
0051 #endif
0052
0053 #ifndef __KERNEL__
0054 #include <linux/types.h>
0055
0056 struct agp_version {
0057 __u16 major;
0058 __u16 minor;
0059 };
0060
0061 typedef struct _agp_info {
0062 struct agp_version version;
0063 __u32 bridge_id;
0064 __u32 agp_mode;
0065 unsigned long aper_base;
0066 __kernel_size_t aper_size;
0067 __kernel_size_t pg_total;
0068 __kernel_size_t pg_system;
0069 __kernel_size_t pg_used;
0070 } agp_info;
0071
0072 typedef struct _agp_setup {
0073 __u32 agp_mode;
0074 } agp_setup;
0075
0076
0077
0078
0079 typedef struct _agp_segment {
0080 __kernel_off_t pg_start;
0081 __kernel_size_t pg_count;
0082 int prot;
0083 } agp_segment;
0084
0085 typedef struct _agp_region {
0086 __kernel_pid_t pid;
0087 __kernel_size_t seg_count;
0088 struct _agp_segment *seg_list;
0089 } agp_region;
0090
0091 typedef struct _agp_allocate {
0092 int key;
0093 __kernel_size_t pg_count;
0094 __u32 type;
0095 __u32 physical;
0096
0097
0098
0099 } agp_allocate;
0100
0101 typedef struct _agp_bind {
0102 int key;
0103 __kernel_off_t pg_start;
0104 } agp_bind;
0105
0106 typedef struct _agp_unbind {
0107 int key;
0108 __u32 priority;
0109 } agp_unbind;
0110
0111 #endif
0112
0113 #endif