summaryrefslogtreecommitdiff
path: root/src/generic_bus.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/generic_bus.h')
-rw-r--r--src/generic_bus.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/generic_bus.h b/src/generic_bus.h
new file mode 100644
index 00000000..e7bc013e
--- /dev/null
+++ b/src/generic_bus.h
@@ -0,0 +1,32 @@
+#ifndef __GENERIC_BUS_H__
+#define __GENERIC_BUS_H__
+
+/* this is meant to be used for proprietary buses where abstraction is needed
+ but they don't occur often enough to warrant a separate helper library */
+
+
+#define GB_IOCTL_GET_NAME 1
+ /* third argument is size of the buffer, fourth argument is pointer
+ to the buffer. Returns the name of the bus */
+#define GB_IOCTL_GET_TYPE 2
+ /* third argument is size of the buffer, fourth argument is pointer
+ to the buffer. Returns the type of the bus, driver should check
+ this at initialization time to find out whether they are compatible
+ */
+
+
+typedef struct _GENERIC_BUS_Rec *GENERIC_BUS_Ptr;
+
+typedef struct _GENERIC_BUS_Rec{
+ int scrnIndex;
+ DevUnion DriverPrivate;
+ Bool (*ioctl)(GENERIC_BUS_Ptr, long, long, char *);
+ Bool (*read)(GENERIC_BUS_Ptr, CARD32, CARD32, CARD8 *);
+ Bool (*write)(GENERIC_BUS_Ptr, CARD32, CARD32, CARD8 *);
+ } GENERIC_BUS_Rec;
+
+
+
+
+
+#endif