Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
staging
iio
ring_sw.h
Go to the documentation of this file.
1
/* The industrial I/O simple minimally locked ring buffer.
2
*
3
* Copyright (c) 2008 Jonathan Cameron
4
*
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 as published by
7
* the Free Software Foundation.
8
*
9
* This code is deliberately kept separate from the main industrialio I/O core
10
* as it is intended that in the future a number of different software ring
11
* buffer implementations will exist with different characteristics to suit
12
* different applications.
13
*
14
* This particular one was designed for a data capture application where it was
15
* particularly important that no userspace reads would interrupt the capture
16
* process. To this end the ring is not locked during a read.
17
*
18
* Comments on this buffer design welcomed. It's far from efficient and some of
19
* my understanding of the effects of scheduling on this are somewhat limited.
20
* Frankly, to my mind, this is the current weak point in the industrial I/O
21
* patch set.
22
*/
23
24
#ifndef _IIO_RING_SW_H_
25
#define _IIO_RING_SW_H_
26
#include <
linux/iio/buffer.h
>
27
28
struct
iio_buffer *
iio_sw_rb_allocate
(
struct
iio_dev
*indio_dev);
29
void
iio_sw_rb_free
(
struct
iio_buffer *
ring
);
30
#endif
/* _IIO_RING_SW_H_ */
Generated on Thu Jan 10 2013 14:28:52 for Linux Kernel by
1.8.2