1 module pulse.versiondef;
2 
3 version(linux):
4 
5 extern (C):
6 
7 /*-*-C-*-*/
8 
9 /***
10   This file is part of PulseAudio.
11 
12   Copyright 2004-2006 Lennart Poettering
13   Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
14 
15   PulseAudio is free software; you can redistribute it and/or modify
16   it under the terms of the GNU Lesser General Public License as published
17   by the Free Software Foundation; either version 2 of the License,
18   or (at your option) any later version.
19 
20   PulseAudio is distributed in the hope that it will be useful, but
21   WITHOUT ANY WARRANTY; without even the implied warranty of
22   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23   General Public License for more details.
24 
25   You should have received a copy of the GNU Lesser General Public License
26   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
27 ***/
28 
29 /* WARNING: Make sure to edit the real source file version.h.in! */
30 
31 /** \file
32  * Define header version */
33 
34 /** Return the version of the header files. Keep in mind that this is
35 a macro and not a function, so it is impossible to get the pointer of
36 it. */
37 extern (D) string pa_get_headers_version()
38 {
39     return "15.0.0";
40 }
41 
42 /** Return the version of the library the current application is
43  * linked to. */
44 const(char)* pa_get_library_version ();
45 
46 /** The current API version. Version 6 relates to Polypaudio
47  * 0.6. Prior versions (i.e. Polypaudio 0.5.1 and older) have
48  * PA_API_VERSION undefined. Please note that this is only ever
49  * increased on incompatible API changes!  */
50 enum PA_API_VERSION = 12;
51 
52 /** The current protocol version. Version 8 relates to Polypaudio
53  * 0.8/PulseAudio 0.9. */
54 enum PA_PROTOCOL_VERSION = 35;
55 
56 /** The major version of PA. \since 0.9.15 */
57 enum PA_MAJOR = 15;
58 
59 /** The minor version of PA. \since 0.9.15 */
60 enum PA_MINOR = 0;
61 
62 /** The micro version of PA (will always be 0 from v1.0 onwards). \since 0.9.15 */
63 enum PA_MICRO = 0;
64 
65 /** Evaluates to TRUE if the PulseAudio library version is equal or
66  * newer than the specified. \since 0.9.16 */
67 extern (D) auto PA_CHECK_VERSION(T0, T1, T2)(auto ref T0 major, auto ref T1 minor, auto ref T2 micro)
68 {
69     return (PA_MAJOR > major) || (PA_MAJOR == major && PA_MINOR > minor) || (PA_MAJOR == major && PA_MINOR == minor && PA_MICRO >= micro);
70 }