root/trunk/libffado/src/rme/rme_shm.h

Revision 1624, 1.2 kB (checked in by jwoithe, 15 years ago)

RME: prepare for the use of a shared memory object to share device configuration between FFADO-enabled applications. This is required because significant parts of the device configuration cannot be retrieved from the device and must be managed in software.

Line 
1 /*
2  * Copyright (C) 2009 by Jonathan Woithe
3  *
4  * This file is part of FFADO
5  * FFADO = Free Firewire (pro-)audio drivers for linux
6  *
7  * FFADO is based upon FreeBoB.
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 2 of the License, or
12  * (at your option) version 3 of the License.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  *
22  */
23
24 #ifndef _RME_SHM_H
25 #define _RME_SHM_H
26
27 #include <stdint.h>
28 #include <pthread.h>
29 #include "fireface_def.h"
30
31 /* Structure used within shared memory object */
32
33 typedef struct rme_shm_t {
34     signed int ref_count;
35     signed int valid;
36     FF_software_settings_t settings;
37     FF_TCO_settings_t tco_settings;
38
39     pthread_mutex_t lock;
40 } rme_shm_t;
41
42 /* Functions */
43
44 rme_shm_t *rme_shm_open(void);
45 void rme_shm_close(rme_shm_t *shm_data);
46
47 #endif
Note: See TracBrowser for help on using the browser.