Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
variax.h
Go to the documentation of this file.
1 /*
2  * Line6 Linux USB driver - 0.9.1beta
3  *
4  * Copyright (C) 2004-2010 Markus Grabner ([email protected])
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation, version 2.
9  *
10  */
11 
12 #ifndef VARIAX_H
13 #define VARIAX_H
14 
15 #include <linux/spinlock.h>
16 #include <linux/usb.h>
17 #include <linux/wait.h>
18 #include <sound/core.h>
19 
20 #include "driver.h"
21 #include "dumprequest.h"
22 
23 #define VARIAX_STARTUP_DELAY1 1000
24 #define VARIAX_STARTUP_DELAY3 100
25 #define VARIAX_STARTUP_DELAY4 100
26 
27 /*
28  Stages of Variax startup procedure
29 */
30 enum {
39 };
40 
41 enum {
45 };
46 
50 struct variax_model {
54  unsigned char name[18];
55 
59  unsigned char control[78 * 2];
60 };
61 
66  struct usb_line6 line6;
67 
74 
78  unsigned char *buffer_activate;
79 
83  int model;
84 
89 
93  unsigned char guitar[18];
94 
98  unsigned char bank[18];
99 
103  int volume;
104 
108  int tone;
109 
114 
120 
125 };
126 
127 extern void line6_variax_disconnect(struct usb_interface *interface);
128 extern int line6_variax_init(struct usb_interface *interface,
129  struct usb_line6_variax *variax);
130 extern void line6_variax_process_message(struct usb_line6_variax *variax);
131 
132 #endif