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