1
2
3
4
5
6
7
8
9
10
11
12#ifndef DUMPREQUEST_H
13#define DUMPREQUEST_H
14
15
16#include <linux/usb.h>
17#include <linux/wait.h>
18
19#include <sound/core.h>
20
21
22enum {
23 LINE6_DUMP_NONE,
24 LINE6_DUMP_CURRENT
25};
26
27
28struct line6_dump_reqbuf {
29
30
31
32 unsigned char *buffer;
33
34
35
36
37 size_t length;
38};
39
40
41
42
43
44struct line6_dump_request {
45
46
47
48 wait_queue_head_t wait;
49
50
51
52
53
54
55
56 int in_progress;
57
58
59
60
61 struct timer_list timer;
62
63
64
65
66 char ok;
67
68
69
70
71 struct line6_dump_reqbuf reqbufs[1];
72};
73
74extern void line6_dump_finished(struct line6_dump_request *l6dr);
75extern int line6_dump_request_async(struct line6_dump_request *l6dr,
76 struct usb_line6 *line6, int num);
77extern void line6_dump_started(struct line6_dump_request *l6dr, int dest);
78extern void line6_dumpreq_destruct(struct line6_dump_request *l6dr);
79extern void line6_dumpreq_destructbuf(struct line6_dump_request *l6dr, int num);
80extern int line6_dumpreq_init(struct line6_dump_request *l6dr, const void *buf,
81 size_t len);
82extern int line6_dumpreq_initbuf(struct line6_dump_request *l6dr,
83 const void *buf, size_t len, int num);
84extern void line6_invalidate_current(struct line6_dump_request *l6dr);
85extern void line6_startup_delayed(struct line6_dump_request *l6dr, int seconds,
86 void (*function)(unsigned long), void *data);
87extern int line6_wait_dump(struct line6_dump_request *l6dr, int nonblock);
88
89
90#endif
91