staging: line6: fixed ALSA/PCM interaction
[linux-2.6/libata-dev.git] / drivers / staging / line6 / capture.h
blob366cbaa7c88da134417e57a77a7760d8e273e77a
1 /*
2 * Line6 Linux USB driver - 0.9.1beta
4 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
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.
12 #ifndef CAPTURE_H
13 #define CAPTURE_H
15 #include <sound/pcm.h>
17 #include "driver.h"
18 #include "pcm.h"
20 extern struct snd_pcm_ops snd_line6_capture_ops;
22 extern int line6_alloc_capture_buffer(struct snd_line6_pcm *line6pcm);
23 extern void line6_capture_copy(struct snd_line6_pcm *line6pcm, char *fbuf,
24 int fsize);
25 extern void line6_capture_check_period(struct snd_line6_pcm *line6pcm,
26 int length);
27 extern int line6_create_audio_in_urbs(struct snd_line6_pcm *line6pcm);
28 extern void line6_free_capture_buffer(struct snd_line6_pcm *line6pcm);
29 extern int line6_submit_audio_in_all_urbs(struct snd_line6_pcm *line6pcm);
30 extern void line6_unlink_audio_in_urbs(struct snd_line6_pcm *line6pcm);
31 extern void line6_unlink_wait_clear_audio_in_urbs(struct snd_line6_pcm
32 *line6pcm);
33 extern int snd_line6_capture_trigger(struct snd_line6_pcm *line6pcm, int cmd);
35 #endif