1 /*
2  * Line6 Linux USB driver - 0.9.1beta
3  *
4  * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
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 CAPTURE_H
13 #define CAPTURE_H
14 
15 #include <sound/pcm.h>
16 
17 #include "driver.h"
18 #include "pcm.h"
19 
20 extern struct snd_pcm_ops snd_line6_capture_ops;
21 
22 extern void line6_capture_copy(struct snd_line6_pcm *line6pcm, char *fbuf,
23 			       int fsize);
24 extern void line6_capture_check_period(struct snd_line6_pcm *line6pcm,
25 				       int length);
26 extern int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm);
27 extern void line6_free_capture_buffer(struct snd_line6_pcm *line6pcm);
28 extern int line6_submit_audio_in_all_urbs(struct snd_line6_pcm *line6pcm);
29 extern void line6_unlink_audio_in_urbs(struct snd_line6_pcm *line6pcm);
30 extern void line6_unlink_wait_clear_audio_in_urbs(struct snd_line6_pcm
31 						  *line6pcm);
32 extern void line6_wait_clear_audio_in_urbs(struct snd_line6_pcm *line6pcm);
33 extern int snd_line6_capture_trigger(struct snd_line6_pcm *line6pcm, int cmd);
34 
35 #endif
36