| 1 | /* ATK -  Accessibility Toolkit | 
| 2 |  * | 
| 3 |  * Copyright (C) 2012 Igalia, S.L. | 
| 4 |  * Copyright (C) 2014 Chun-wei Fan | 
| 5 |  * | 
| 6 |  * Author: Alejandro PiƱeiro Iglesias <apinheiro@igalia.com> | 
| 7 |  * | 
| 8 |  * This library is free software; you can redistribute it and/or | 
| 9 |  * modify it under the terms of the GNU Library General Public | 
| 10 |  * License as published by the Free Software Foundation; either | 
| 11 |  * version 2 of the License, or (at your option) any later version. | 
| 12 |  * | 
| 13 |  * This library is distributed in the hope that it will be useful, | 
| 14 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 15 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 16 |  * Library General Public License for more details. | 
| 17 |  * | 
| 18 |  * You should have received a copy of the GNU Library General Public | 
| 19 |  * License along with this library; if not, write to the | 
| 20 |  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 
| 21 |  * Boston, MA 02111-1307, USA. | 
| 22 |  */ | 
| 23 |  | 
| 24 | #if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION) | 
| 25 | #error "Only <atk/atk.h> can be included directly." | 
| 26 | #endif | 
| 27 |  | 
| 28 | #ifndef __ATK_VERSION_H__ | 
| 29 | #define __ATK_VERSION_H__ | 
| 30 |  | 
| 31 | #include <glib.h> | 
| 32 |  | 
| 33 | /** | 
| 34 |  * ATK_MAJOR_VERSION: | 
| 35 |  * | 
| 36 |  * Like atk_get_major_version(), but from the headers used at | 
| 37 |  * application compile time, rather than from the library linked | 
| 38 |  * against at application run time. | 
| 39 |  * | 
| 40 |  * Since: 2.7.4 | 
| 41 |  */ | 
| 42 | #define ATK_MAJOR_VERSION (2) | 
| 43 |  | 
| 44 | /** | 
| 45 |  * ATK_MINOR_VERSION: | 
| 46 |  * | 
| 47 |  * Like atk_get_minor_version(), but from the headers used at | 
| 48 |  * application compile time, rather than from the library linked | 
| 49 |  * against at application run time. | 
| 50 |  * | 
| 51 |  * Since: 2.7.4 | 
| 52 |  */ | 
| 53 | #define ATK_MINOR_VERSION (36) | 
| 54 |  | 
| 55 | /** | 
| 56 |  * ATK_MICRO_VERSION: | 
| 57 |  * | 
| 58 |  * Like atk_get_micro_version(), but from the headers used at | 
| 59 |  * application compile time, rather than from the library linked | 
| 60 |  * against at application run time. | 
| 61 |  * | 
| 62 |  * Since: 2.7.4 | 
| 63 |  */ | 
| 64 | #define ATK_MICRO_VERSION (0) | 
| 65 |  | 
| 66 | /** | 
| 67 |  * ATK_BINARY_AGE: | 
| 68 |  * | 
| 69 |  * Like atk_get_binary_age(), but from the headers used at | 
| 70 |  * application compile time, rather than from the library linked | 
| 71 |  * against at application run time. | 
| 72 |  * | 
| 73 |  * Since: 2.7.4 | 
| 74 |  */ | 
| 75 | #define ATK_BINARY_AGE    (23610) | 
| 76 |  | 
| 77 | /** | 
| 78 |  * ATK_INTERFACE_AGE: | 
| 79 |  * | 
| 80 |  * Like atk_get_interface_age(), but from the headers used at | 
| 81 |  * application compile time, rather than from the library linked | 
| 82 |  * against at application run time. | 
| 83 |  * | 
| 84 |  * Since: 2.7.4 | 
| 85 |  */ | 
| 86 | #define ATK_INTERFACE_AGE (1) | 
| 87 |  | 
| 88 | /** | 
| 89 |  * ATK_CHECK_VERSION: | 
| 90 |  * @major: major version (e.g. 1 for version 1.2.5) | 
| 91 |  * @minor: minor version (e.g. 2 for version 1.2.5) | 
| 92 |  * @micro: micro version (e.g. 5 for version 1.2.5) | 
| 93 |  * | 
| 94 |  * Returns %TRUE if the version of the ATK header files is the same as | 
| 95 |  * or newer than the passed-in version. | 
| 96 |  * | 
| 97 |  * Since: 2.7.4 | 
| 98 |  */ | 
| 99 | #define ATK_CHECK_VERSION(major,minor,micro)                          \ | 
| 100 |     (ATK_MAJOR_VERSION > (major) ||                                   \ | 
| 101 |      (ATK_MAJOR_VERSION == (major) && ATK_MINOR_VERSION > (minor)) || \ | 
| 102 |      (ATK_MAJOR_VERSION == (major) && ATK_MINOR_VERSION == (minor) && \ | 
| 103 |       ATK_MICRO_VERSION >= (micro))) | 
| 104 |  | 
| 105 | #ifndef _ATK_EXTERN | 
| 106 | #define _ATK_EXTERN extern | 
| 107 | #endif | 
| 108 |  | 
| 109 | /** | 
| 110 |  * ATK_VERSION_2_2: | 
| 111 |  * | 
| 112 |  * A macro that evaluates to the 2.2 version of ATK, in a format | 
| 113 |  * that can be used by the C pre-processor. | 
| 114 |  * | 
| 115 |  * Since: 2.14 | 
| 116 |  */ | 
| 117 | #define ATK_VERSION_2_2       (G_ENCODE_VERSION (2, 2)) | 
| 118 |  | 
| 119 | /** | 
| 120 |  * ATK_VERSION_2_4: | 
| 121 |  * | 
| 122 |  * A macro that evaluates to the 2.4 version of ATK, in a format | 
| 123 |  * that can be used by the C pre-processor. | 
| 124 |  * | 
| 125 |  * Since: 2.14 | 
| 126 |  */ | 
| 127 | #define ATK_VERSION_2_4       (G_ENCODE_VERSION (2, 4)) | 
| 128 |  | 
| 129 | /** | 
| 130 |  * ATK_VERSION_2_6: | 
| 131 |  * | 
| 132 |  * A macro that evaluates to the 2.6 version of ATK, in a format | 
| 133 |  * that can be used by the C pre-processor. | 
| 134 |  * | 
| 135 |  * Since: 2.14 | 
| 136 |  */ | 
| 137 | #define ATK_VERSION_2_6       (G_ENCODE_VERSION (2, 6)) | 
| 138 |  | 
| 139 | /** | 
| 140 |  * ATK_VERSION_2_8: | 
| 141 |  * | 
| 142 |  * A macro that evaluates to the 2.8 version of ATK, in a format | 
| 143 |  * that can be used by the C pre-processor. | 
| 144 |  * | 
| 145 |  * Since: 2.14 | 
| 146 |  */ | 
| 147 | #define ATK_VERSION_2_8       (G_ENCODE_VERSION (2, 8)) | 
| 148 |  | 
| 149 | /** | 
| 150 |  * ATK_VERSION_2_10: | 
| 151 |  * | 
| 152 |  * A macro that evaluates to the 2.10 version of ATK, in a format | 
| 153 |  * that can be used by the C pre-processor. | 
| 154 |  * | 
| 155 |  * Since: 2.14 | 
| 156 |  */ | 
| 157 |  | 
| 158 | #define ATK_VERSION_2_10       (G_ENCODE_VERSION (2, 10)) | 
| 159 | /** | 
| 160 |  * ATK_VERSION_2_12: | 
| 161 |  * | 
| 162 |  * A macro that evaluates to the 2.12 version of ATK, in a format | 
| 163 |  * that can be used by the C pre-processor. | 
| 164 |  * | 
| 165 |  * Since: 2.14 | 
| 166 |  */ | 
| 167 | #define ATK_VERSION_2_12       (G_ENCODE_VERSION (2, 12)) | 
| 168 |  | 
| 169 | /** | 
| 170 |  * ATK_VERSION_2_14: | 
| 171 |  * | 
| 172 |  * A macro that evaluates to the 2.14 version of ATK, in a format | 
| 173 |  * that can be used by the C pre-processor. | 
| 174 |  * | 
| 175 |  * Since: 2.14 | 
| 176 |  */ | 
| 177 | #define ATK_VERSION_2_14       (G_ENCODE_VERSION (2, 14)) | 
| 178 |  | 
| 179 | /** | 
| 180 |  * ATK_VERSION_2_30: | 
| 181 |  * | 
| 182 |  * A macro that evaluates to the 2.30 version of ATK, in a format | 
| 183 |  * that can be used by the C pre-processor. | 
| 184 |  * | 
| 185 |  * Since: 2.30 | 
| 186 |  */ | 
| 187 | #define ATK_VERSION_2_30       (G_ENCODE_VERSION (2, 30)) | 
| 188 |  | 
| 189 | /** | 
| 190 |  * ATK_VERSION_2_36: | 
| 191 |  * | 
| 192 |  * A macro that evaluates to the 2.36 version of ATK, in a format | 
| 193 |  * that can be used by the C pre-processor. | 
| 194 |  * | 
| 195 |  * Since: 2.36 | 
| 196 |  */ | 
| 197 | #define ATK_VERSION_2_36       (G_ENCODE_VERSION (2, 36)) | 
| 198 |  | 
| 199 | /* evaluates to the current stable version; for development cycles, | 
| 200 |  * this means the next stable target | 
| 201 |  */ | 
| 202 | #if (ATK_MINOR_VERSION % 2) | 
| 203 | #define ATK_VERSION_CUR_STABLE         (G_ENCODE_VERSION (ATK_MAJOR_VERSION, ATK_MINOR_VERSION + 1)) | 
| 204 | #else | 
| 205 | #define ATK_VERSION_CUR_STABLE         (G_ENCODE_VERSION (ATK_MAJOR_VERSION, ATK_MINOR_VERSION)) | 
| 206 | #endif | 
| 207 |  | 
| 208 | /* evaluates to the previous stable version */ | 
| 209 | #if (ATK_MINOR_VERSION % 2) | 
| 210 | #define ATK_VERSION_PREV_STABLE        (G_ENCODE_VERSION (ATK_MAJOR_VERSION, ATK_MINOR_VERSION - 1)) | 
| 211 | #else | 
| 212 | #define ATK_VERSION_PREV_STABLE        (G_ENCODE_VERSION (ATK_MAJOR_VERSION, ATK_MINOR_VERSION - 2)) | 
| 213 | #endif | 
| 214 |  | 
| 215 | /** | 
| 216 |  * ATK_VERSION_MIN_REQUIRED: | 
| 217 |  * | 
| 218 |  * A macro that should be defined by the user prior to including | 
| 219 |  * the atk/atk.h header. | 
| 220 |  * The definition should be one of the predefined ATK version | 
| 221 |  * macros: %ATK_VERSION_2_12, %ATK_VERSION_2_14,... | 
| 222 |  * | 
| 223 |  * This macro defines the earliest version of ATK that the package is | 
| 224 |  * required to be able to compile against. | 
| 225 |  * | 
| 226 |  * If the compiler is configured to warn about the use of deprecated | 
| 227 |  * functions, then using functions that were deprecated in version | 
| 228 |  * %ATK_VERSION_MIN_REQUIRED or earlier will cause warnings (but | 
| 229 |  * using functions deprecated in later releases will not). | 
| 230 |  * | 
| 231 |  * Since: 2.14 | 
| 232 |  */ | 
| 233 | /* If the package sets ATK_VERSION_MIN_REQUIRED to some future | 
| 234 |  * ATK_VERSION_X_Y value that we don't know about, it will compare as | 
| 235 |  * 0 in preprocessor tests. | 
| 236 |  */ | 
| 237 | #ifndef ATK_VERSION_MIN_REQUIRED | 
| 238 | # define ATK_VERSION_MIN_REQUIRED      (ATK_VERSION_CUR_STABLE) | 
| 239 | #elif ATK_VERSION_MIN_REQUIRED == 0 | 
| 240 | # undef  ATK_VERSION_MIN_REQUIRED | 
| 241 | # define ATK_VERSION_MIN_REQUIRED      (ATK_VERSION_CUR_STABLE + 2) | 
| 242 | #endif | 
| 243 |  | 
| 244 | /** | 
| 245 |  * ATK_VERSION_MAX_ALLOWED: | 
| 246 |  * | 
| 247 |  * A macro that should be defined by the user prior to including | 
| 248 |  * the atk/atk.h header. | 
| 249 |  * The definition should be one of the predefined ATK version | 
| 250 |  * macros: %ATK_VERSION_2_12, %ATK_VERSION_2_14,... | 
| 251 |  * | 
| 252 |  * This macro defines the latest version of the ATK API that the | 
| 253 |  * package is allowed to make use of. | 
| 254 |  * | 
| 255 |  * If the compiler is configured to warn about the use of deprecated | 
| 256 |  * functions, then using functions added after version | 
| 257 |  * %ATK_VERSION_MAX_ALLOWED will cause warnings. | 
| 258 |  * | 
| 259 |  * Unless you are using ATK_CHECK_VERSION() or the like to compile | 
| 260 |  * different code depending on the ATK version, then this should be | 
| 261 |  * set to the same value as %ATK_VERSION_MIN_REQUIRED. | 
| 262 |  * | 
| 263 |  * Since: 2.14 | 
| 264 |  */ | 
| 265 | #if !defined (ATK_VERSION_MAX_ALLOWED) || (ATK_VERSION_MAX_ALLOWED == 0) | 
| 266 | # undef ATK_VERSION_MAX_ALLOWED | 
| 267 | # define ATK_VERSION_MAX_ALLOWED      (ATK_VERSION_CUR_STABLE) | 
| 268 | #endif | 
| 269 |  | 
| 270 | /* sanity checks */ | 
| 271 | #if ATK_VERSION_MIN_REQUIRED > ATK_VERSION_CUR_STABLE | 
| 272 | #error "ATK_VERSION_MIN_REQUIRED must be <= ATK_VERSION_CUR_STABLE" | 
| 273 | #endif | 
| 274 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_MIN_REQUIRED | 
| 275 | #error "ATK_VERSION_MAX_ALLOWED must be >= ATK_VERSION_MIN_REQUIRED" | 
| 276 | #endif | 
| 277 | #if ATK_VERSION_MIN_REQUIRED < ATK_VERSION_2_2 | 
| 278 | #error "ATK_VERSION_MIN_REQUIRED must be >= ATK_VERSION_2_2" | 
| 279 | #endif | 
| 280 |  | 
| 281 | /* these macros are used to mark deprecated functions, and thus have to be | 
| 282 |  * exposed in a public header. | 
| 283 |  * | 
| 284 |  * do *not* use them in other libraries depending on Atk: use G_DEPRECATED | 
| 285 |  * and G_DEPRECATED_FOR, or use your own wrappers around them. | 
| 286 |  */ | 
| 287 | #ifdef ATK_DISABLE_DEPRECATION_WARNINGS | 
| 288 | #define ATK_DEPRECATED _ATK_EXTERN | 
| 289 | #define ATK_DEPRECATED_FOR(f) _ATK_EXTERN | 
| 290 | #define ATK_UNAVAILABLE(maj,min) _ATK_EXTERN | 
| 291 | #else | 
| 292 | #define ATK_DEPRECATED G_DEPRECATED _ATK_EXTERN | 
| 293 | #define ATK_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _ATK_EXTERN | 
| 294 | #define ATK_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _ATK_EXTERN | 
| 295 | #endif | 
| 296 |  | 
| 297 | #define ATK_AVAILABLE_IN_ALL _ATK_EXTERN | 
| 298 |  | 
| 299 | /* XXX: Every new stable minor release should add a set of macros here */ | 
| 300 |  | 
| 301 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_2 | 
| 302 | # define ATK_DEPRECATED_IN_2_2                ATK_DEPRECATED | 
| 303 | # define ATK_DEPRECATED_IN_2_2_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 304 | #else | 
| 305 | # define ATK_DEPRECATED_IN_2_2                _ATK_EXTERN | 
| 306 | # define ATK_DEPRECATED_IN_2_2_FOR(f)         _ATK_EXTERN | 
| 307 | #endif | 
| 308 |  | 
| 309 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_2 | 
| 310 | # define ATK_AVAILABLE_IN_2_2                 ATK_UNAVAILABLE(2, 2) | 
| 311 | #else | 
| 312 | # define ATK_AVAILABLE_IN_2_2                 _ATK_EXTERN | 
| 313 | #endif | 
| 314 |  | 
| 315 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_4 | 
| 316 | # define ATK_DEPRECATED_IN_2_4                ATK_DEPRECATED | 
| 317 | # define ATK_DEPRECATED_IN_2_4_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 318 | #else | 
| 319 | # define ATK_DEPRECATED_IN_2_4                _ATK_EXTERN | 
| 320 | # define ATK_DEPRECATED_IN_2_4_FOR(f)         _ATK_EXTERN | 
| 321 | #endif | 
| 322 |  | 
| 323 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_4 | 
| 324 | # define ATK_AVAILABLE_IN_2_4                 ATK_UNAVAILABLE(2, 4) | 
| 325 | #else | 
| 326 | # define ATK_AVAILABLE_IN_2_4                 _ATK_EXTERN | 
| 327 | #endif | 
| 328 |  | 
| 329 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_6 | 
| 330 | # define ATK_DEPRECATED_IN_2_6                ATK_DEPRECATED | 
| 331 | # define ATK_DEPRECATED_IN_2_6_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 332 | #else | 
| 333 | # define ATK_DEPRECATED_IN_2_6                _ATK_EXTERN | 
| 334 | # define ATK_DEPRECATED_IN_2_6_FOR(f)         _ATK_EXTERN | 
| 335 | #endif | 
| 336 |  | 
| 337 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_6 | 
| 338 | # define ATK_AVAILABLE_IN_2_6                 ATK_UNAVAILABLE(2, 6) | 
| 339 | #else | 
| 340 | # define ATK_AVAILABLE_IN_2_6                 _ATK_EXTERN | 
| 341 | #endif | 
| 342 |  | 
| 343 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_8 | 
| 344 | # define ATK_DEPRECATED_IN_2_8                ATK_DEPRECATED | 
| 345 | # define ATK_DEPRECATED_IN_2_8_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 346 | #else | 
| 347 | # define ATK_DEPRECATED_IN_2_8                _ATK_EXTERN | 
| 348 | # define ATK_DEPRECATED_IN_2_8_FOR(f)         _ATK_EXTERN | 
| 349 | #endif | 
| 350 |  | 
| 351 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_8 | 
| 352 | # define ATK_AVAILABLE_IN_2_8                 ATK_UNAVAILABLE(2, 8) | 
| 353 | #else | 
| 354 | # define ATK_AVAILABLE_IN_2_8                 _ATK_EXTERN | 
| 355 | #endif | 
| 356 |  | 
| 357 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_10 | 
| 358 | # define ATK_DEPRECATED_IN_2_10                ATK_DEPRECATED | 
| 359 | # define ATK_DEPRECATED_IN_2_10_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 360 | #else | 
| 361 | # define ATK_DEPRECATED_IN_2_10                _ATK_EXTERN | 
| 362 | # define ATK_DEPRECATED_IN_2_10_FOR(f)         _ATK_EXTERN | 
| 363 | #endif | 
| 364 |  | 
| 365 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_10 | 
| 366 | # define ATK_AVAILABLE_IN_2_10                 ATK_UNAVAILABLE(2, 10) | 
| 367 | #else | 
| 368 | # define ATK_AVAILABLE_IN_2_10                 _ATK_EXTERN | 
| 369 | #endif | 
| 370 |  | 
| 371 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_12 | 
| 372 | # define ATK_DEPRECATED_IN_2_12                ATK_DEPRECATED | 
| 373 | # define ATK_DEPRECATED_IN_2_12_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 374 | #else | 
| 375 | # define ATK_DEPRECATED_IN_2_12                _ATK_EXTERN | 
| 376 | # define ATK_DEPRECATED_IN_2_12_FOR(f)         _ATK_EXTERN | 
| 377 | #endif | 
| 378 |  | 
| 379 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_12 | 
| 380 | # define ATK_AVAILABLE_IN_2_12                 ATK_UNAVAILABLE(2, 12) | 
| 381 | #else | 
| 382 | # define ATK_AVAILABLE_IN_2_12                 _ATK_EXTERN | 
| 383 | #endif | 
| 384 |  | 
| 385 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_14 | 
| 386 | # define ATK_DEPRECATED_IN_2_14                ATK_DEPRECATED | 
| 387 | # define ATK_DEPRECATED_IN_2_14_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 388 | #else | 
| 389 | # define ATK_DEPRECATED_IN_2_14                _ATK_EXTERN | 
| 390 | # define ATK_DEPRECATED_IN_2_14_FOR(f)         _ATK_EXTERN | 
| 391 | #endif | 
| 392 |  | 
| 393 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_14 | 
| 394 | # define ATK_AVAILABLE_IN_2_14                 ATK_UNAVAILABLE(2, 14) | 
| 395 | #else | 
| 396 | # define ATK_AVAILABLE_IN_2_14                 _ATK_EXTERN | 
| 397 | #endif | 
| 398 |  | 
| 399 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_30 | 
| 400 | # define ATK_DEPRECATED_IN_2_30                ATK_DEPRECATED | 
| 401 | # define ATK_DEPRECATED_IN_2_30_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 402 | #else | 
| 403 | # define ATK_DEPRECATED_IN_2_30                _ATK_EXTERN | 
| 404 | # define ATK_DEPRECATED_IN_2_30_FOR(f)         _ATK_EXTERN | 
| 405 | #endif | 
| 406 |  | 
| 407 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_30 | 
| 408 | # define ATK_AVAILABLE_IN_2_30                 ATK_UNAVAILABLE(2, 30) | 
| 409 | #else | 
| 410 | # define ATK_AVAILABLE_IN_2_30                 _ATK_EXTERN | 
| 411 | #endif | 
| 412 |  | 
| 413 | #if ATK_VERSION_MIN_REQUIRED >= ATK_VERSION_2_36 | 
| 414 | # define ATK_DEPRECATED_IN_2_36                ATK_DEPRECATED | 
| 415 | # define ATK_DEPRECATED_IN_2_36_FOR(f)         ATK_DEPRECATED_FOR(f) | 
| 416 | #else | 
| 417 | # define ATK_DEPRECATED_IN_2_36                _ATK_EXTERN | 
| 418 | # define ATK_DEPRECATED_IN_2_36_FOR(f)         _ATK_EXTERN | 
| 419 | #endif | 
| 420 |  | 
| 421 | #if ATK_VERSION_MAX_ALLOWED < ATK_VERSION_2_36 | 
| 422 | # define ATK_AVAILABLE_IN_2_36                 ATK_UNAVAILABLE(2, 36) | 
| 423 | #else | 
| 424 | # define ATK_AVAILABLE_IN_2_36                 _ATK_EXTERN | 
| 425 | #endif | 
| 426 |  | 
| 427 | ATK_AVAILABLE_IN_2_8 | 
| 428 | guint atk_get_major_version (void) G_GNUC_CONST; | 
| 429 | ATK_AVAILABLE_IN_2_8 | 
| 430 | guint atk_get_minor_version (void) G_GNUC_CONST; | 
| 431 | ATK_AVAILABLE_IN_2_8 | 
| 432 | guint atk_get_micro_version (void) G_GNUC_CONST; | 
| 433 | ATK_AVAILABLE_IN_2_8 | 
| 434 | guint atk_get_binary_age    (void) G_GNUC_CONST; | 
| 435 | ATK_AVAILABLE_IN_2_8 | 
| 436 | guint atk_get_interface_age (void) G_GNUC_CONST; | 
| 437 |  | 
| 438 | #define atk_major_version atk_get_major_version () | 
| 439 | #define atk_minor_version atk_get_minor_version () | 
| 440 | #define atk_micro_version atk_get_micro_version () | 
| 441 | #define atk_binary_age atk_get_binary_age () | 
| 442 | #define atk_interface_age atk_get_interface_age () | 
| 443 |  | 
| 444 | #endif /* __ATK_VERSION_H__ */ | 
| 445 |  |