The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/EXTERNAL_HEADERS/AvailabilityMacros.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2001-2010 by Apple Inc.. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * This file contains Original Code and/or Modifications of Original Code
    7  * as defined in and that are subject to the Apple Public Source License
    8  * Version 2.0 (the 'License'). You may not use this file except in
    9  * compliance with the License. Please obtain a copy of the License at
   10  * http://www.opensource.apple.com/apsl/ and read it before using this
   11  * file.
   12  * 
   13  * The Original Code and all software distributed under the License are
   14  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   15  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   16  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   17  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   18  * Please see the License for the specific language governing rights and
   19  * limitations under the License.
   20  * 
   21  * @APPLE_LICENSE_HEADER_END@
   22  */
   23 
   24 /*
   25      File:       AvailabilityMacros.h
   26  
   27      More Info:  See TechNote 2064
   28 
   29      Contains:   Autoconfiguration of AVAILABLE_ macros for Mac OS X
   30 
   31                  This header enables a developer to specify build time
   32                  constraints on what Mac OS X versions the resulting
   33                  application will be run.  There are two bounds a developer
   34                  can specify:
   35                  
   36                       MAC_OS_X_VERSION_MIN_REQUIRED
   37                       MAC_OS_X_VERSION_MAX_ALLOWED
   38                       
   39                 The lower bound controls which calls to OS functions will 
   40                 be weak-importing (allowed to be unresolved at launch time).
   41                 The upper bound controls which OS functionality, if used,
   42                 will result in a compiler error because that functionality is
   43                 not available on on any OS is the specifed range.
   44                 
   45                 For example, suppose an application is compiled with:
   46                 
   47                       MAC_OS_X_VERSION_MIN_REQUIRED = MAC_OS_X_VERSION_10_2
   48                       MAC_OS_X_VERSION_MAX_ALLOWED  = MAC_OS_X_VERSION_10_3
   49                      
   50                 and an OS header contains:
   51                 
   52                      extern void funcA(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER;
   53                      extern void funcB(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2;
   54                      extern void funcC(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3;
   55                      extern void funcD(void) AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER;
   56                      extern void funcE(void) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER;
   57                      extern void funcF(void) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
   58                      extern void funcG(void) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
   59                      
   60                      typedef long TypeA DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER;
   61                      typedef long TypeB DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER;
   62                      typedef long TypeC DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER;
   63                      typedef long TypeD DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER;
   64                      typedef long TypeE DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER;
   65 
   66                 Any application code which uses these declarations will get the following:
   67                 
   68                                 compile         link          run 
   69                                 -------         ------        -------
   70                      funcA:     normal          normal        normal
   71                      funcB:     warning         normal        normal
   72                      funcC:     normal          normal        normal
   73                      funcD:     normal          normal        normal
   74                      funcE:     normal          normal        normal
   75                      funcF:     normal          weak          on 10.3 normal, on 10.2 (&funcF == NULL)
   76                      funcG:     error           error         n/a
   77                      typeA:     warning
   78                      typeB:     warning
   79                      typeC:     warning
   80                      typeD:     normal
   81                      typeE:     normal
   82                   
   83   
   84 */
   85 #ifndef __AVAILABILITYMACROS__
   86 #define __AVAILABILITYMACROS__
   87 
   88 
   89 /*
   90  * Set up standard Mac OS X versions
   91  */
   92 #define MAC_OS_X_VERSION_10_0 1000
   93 #define MAC_OS_X_VERSION_10_1 1010
   94 #define MAC_OS_X_VERSION_10_2 1020
   95 #define MAC_OS_X_VERSION_10_3 1030
   96 #define MAC_OS_X_VERSION_10_4 1040
   97 #define MAC_OS_X_VERSION_10_5 1050
   98 #define MAC_OS_X_VERSION_10_6 1060
   99 #define MAC_OS_X_VERSION_10_7 1070
  100 #define MAC_OS_X_VERSION_10_8 1080
  101 
  102 /* 
  103  * If min OS not specified, assume 10.1 for ppc and 10.4 for all others
  104  * Note: gcc driver may set _ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED_ based on MACOSX_DEPLOYMENT_TARGET environment variable
  105  */
  106 #ifndef MAC_OS_X_VERSION_MIN_REQUIRED
  107     #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  108         #if (__i386__ || __x86_64__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < MAC_OS_X_VERSION_10_4)
  109             #warning Building for Intel with Mac OS X Deployment Target < 10.4 is invalid.
  110         #elif __ppc64__ && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < MAC_OS_X_VERSION_10_4)
  111             #warning Building for ppc64 with Mac OS X Deployment Target < 10.4 is invalid.
  112         #endif
  113         #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  114     #else
  115         #if __ppc64__ || __i386__ || __x86_64__
  116             #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4
  117         #else
  118             #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_1
  119         #endif
  120     #endif
  121 #endif
  122 
  123 /*
  124  * if max OS not specified, assume larger of (10.8, min)
  125  */
  126 #ifndef MAC_OS_X_VERSION_MAX_ALLOWED
  127     #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_8
  128         #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED
  129     #else
  130         #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_8
  131     #endif
  132 #endif
  133 
  134 /*
  135  * Error on bad values
  136  */
  137 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_MIN_REQUIRED
  138     #error MAC_OS_X_VERSION_MAX_ALLOWED must be >= MAC_OS_X_VERSION_MIN_REQUIRED
  139 #endif
  140 #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_0
  141     #error MAC_OS_X_VERSION_MIN_REQUIRED must be >= MAC_OS_X_VERSION_10_0
  142 #endif
  143 
  144 /*
  145  * only certain compilers support __attribute__((weak_import))
  146  */
  147 #if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020)
  148     #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import))
  149 #elif defined(__MWERKS__) && (__MWERKS__ >= 0x3205) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) && !defined(__INTEL__)
  150     #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import))
  151 #else
  152     #define WEAK_IMPORT_ATTRIBUTE
  153 #endif
  154 
  155 /*
  156  * only certain compilers support __attribute__((deprecated))
  157  */
  158 #if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
  159     #define DEPRECATED_ATTRIBUTE __attribute__((deprecated))
  160 #else
  161     #define DEPRECATED_ATTRIBUTE
  162 #endif
  163 
  164 /*
  165  * only certain compilers support __attribute__((unavailable))
  166  */
  167 #if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
  168     #define UNAVAILABLE_ATTRIBUTE __attribute__((unavailable))
  169 #else
  170     #define UNAVAILABLE_ATTRIBUTE
  171 #endif
  172 
  173 
  174 /*
  175  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  176  * 
  177  * Used on functions introduced in Mac OS X 10.0 
  178  */
  179 #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  180 
  181 /*
  182  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED
  183  * 
  184  * Used on functions introduced in Mac OS X 10.0, 
  185  * and deprecated in Mac OS X 10.0
  186  */
  187 #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  188 
  189 /*
  190  * DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER
  191  * 
  192  * Used on types deprecated in Mac OS X 10.0 
  193  */
  194 #define DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER     DEPRECATED_ATTRIBUTE
  195 
  196 /*
  197  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  198  * 
  199  * Used on declarations introduced in Mac OS X 10.1 
  200  */
  201 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_1
  202     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER     UNAVAILABLE_ATTRIBUTE
  203 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_1
  204     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  205 #else
  206     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  207 #endif
  208 
  209 /*
  210  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED
  211  *
  212  * Used on declarations introduced in Mac OS X 10.1,
  213  * and deprecated in Mac OS X 10.1
  214  */
  215 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1
  216     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  217 #else
  218     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  219 #endif
  220 
  221 /*
  222  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1
  223  *
  224  * Used on declarations introduced in Mac OS X 10.0,
  225  * but later deprecated in Mac OS X 10.1
  226  */
  227 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1
  228     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1    DEPRECATED_ATTRIBUTE
  229 #else
  230     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  231 #endif
  232 
  233 /*
  234  * DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER
  235  *
  236  * Used on types deprecated in Mac OS X 10.1
  237  */
  238 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1
  239     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER    DEPRECATED_ATTRIBUTE
  240 #else
  241     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER
  242 #endif
  243 
  244 
  245 /*
  246  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  247  * 
  248  * Used on declarations introduced in Mac OS X 10.2 
  249  */
  250 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2
  251     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER     UNAVAILABLE_ATTRIBUTE
  252 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2
  253     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  254 #else
  255     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  256 #endif
  257 
  258 /*
  259  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED
  260  *
  261  * Used on declarations introduced in Mac OS X 10.2,
  262  * and deprecated in Mac OS X 10.2
  263  */
  264 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
  265     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  266 #else
  267     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  268 #endif
  269 
  270 /*
  271  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2
  272  *
  273  * Used on declarations introduced in Mac OS X 10.0,
  274  * but later deprecated in Mac OS X 10.2
  275  */
  276 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
  277     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2    DEPRECATED_ATTRIBUTE
  278 #else
  279     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  280 #endif
  281 
  282 /*
  283  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2
  284  *
  285  * Used on declarations introduced in Mac OS X 10.1,
  286  * but later deprecated in Mac OS X 10.2
  287  */
  288 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
  289     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2    DEPRECATED_ATTRIBUTE
  290 #else
  291     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  292 #endif
  293 
  294 /*
  295  * DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER
  296  *
  297  * Used on types deprecated in Mac OS X 10.2
  298  */
  299 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
  300     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER    DEPRECATED_ATTRIBUTE
  301 #else
  302     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER
  303 #endif
  304 
  305 
  306 /*
  307  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  308  * 
  309  * Used on declarations introduced in Mac OS X 10.3 
  310  */
  311 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3
  312     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER     UNAVAILABLE_ATTRIBUTE
  313 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3
  314     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  315 #else
  316     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  317 #endif
  318 
  319 /*
  320  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED
  321  *
  322  * Used on declarations introduced in Mac OS X 10.3,
  323  * and deprecated in Mac OS X 10.3
  324  */
  325 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
  326     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  327 #else
  328     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  329 #endif
  330 
  331 /*
  332  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3
  333  *
  334  * Used on declarations introduced in Mac OS X 10.0,
  335  * but later deprecated in Mac OS X 10.3
  336  */
  337 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
  338     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3    DEPRECATED_ATTRIBUTE
  339 #else
  340     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  341 #endif
  342 
  343 /*
  344  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3
  345  *
  346  * Used on declarations introduced in Mac OS X 10.1,
  347  * but later deprecated in Mac OS X 10.3
  348  */
  349 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
  350     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3    DEPRECATED_ATTRIBUTE
  351 #else
  352     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  353 #endif
  354 
  355 /*
  356  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3
  357  *
  358  * Used on declarations introduced in Mac OS X 10.2,
  359  * but later deprecated in Mac OS X 10.3
  360  */
  361 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
  362     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3    DEPRECATED_ATTRIBUTE
  363 #else
  364     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  365 #endif
  366 
  367 /*
  368  * DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER
  369  *
  370  * Used on types deprecated in Mac OS X 10.3
  371  */
  372 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
  373     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER    DEPRECATED_ATTRIBUTE
  374 #else
  375     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER
  376 #endif
  377 
  378 
  379 /*
  380  * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  381  * 
  382  * Used on declarations introduced in Mac OS X 10.4 
  383  */
  384 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_4
  385     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER     UNAVAILABLE_ATTRIBUTE
  386 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
  387     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  388 #else
  389     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  390 #endif
  391 
  392 /*
  393  * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED
  394  *
  395  * Used on declarations introduced in Mac OS X 10.4,
  396  * and deprecated in Mac OS X 10.4
  397  */
  398 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
  399     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  400 #else
  401     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  402 #endif
  403 
  404 /*
  405  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
  406  *
  407  * Used on declarations introduced in Mac OS X 10.0,
  408  * but later deprecated in Mac OS X 10.4
  409  */
  410 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
  411     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    DEPRECATED_ATTRIBUTE
  412 #else
  413     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  414 #endif
  415 
  416 /*
  417  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
  418  *
  419  * Used on declarations introduced in Mac OS X 10.1,
  420  * but later deprecated in Mac OS X 10.4
  421  */
  422 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
  423     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    DEPRECATED_ATTRIBUTE
  424 #else
  425     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  426 #endif
  427 
  428 /*
  429  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
  430  *
  431  * Used on declarations introduced in Mac OS X 10.2,
  432  * but later deprecated in Mac OS X 10.4
  433  */
  434 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
  435     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    DEPRECATED_ATTRIBUTE
  436 #else
  437     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  438 #endif
  439 
  440 /*
  441  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
  442  *
  443  * Used on declarations introduced in Mac OS X 10.3,
  444  * but later deprecated in Mac OS X 10.4
  445  */
  446 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
  447     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    DEPRECATED_ATTRIBUTE
  448 #else
  449     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4    AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  450 #endif
  451 
  452 /*
  453  * DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER
  454  *
  455  * Used on types deprecated in Mac OS X 10.4
  456  */
  457 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
  458     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER    DEPRECATED_ATTRIBUTE
  459 #else
  460     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER
  461 #endif
  462 
  463 
  464 /*
  465  * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  466  * 
  467  * Used on declarations introduced in Mac OS X 10.5 
  468  */
  469 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
  470     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER     UNAVAILABLE_ATTRIBUTE
  471 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
  472     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  473 #else
  474     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  475 #endif
  476 
  477 /*
  478  * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED
  479  *
  480  * Used on declarations introduced in Mac OS X 10.5,
  481  * and deprecated in Mac OS X 10.5
  482  */
  483 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  484     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  485 #else
  486     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  487 #endif
  488 
  489 /*
  490  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
  491  *
  492  * Used on declarations introduced in Mac OS X 10.0,
  493  * but later deprecated in Mac OS X 10.5
  494  */
  495 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  496     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    DEPRECATED_ATTRIBUTE
  497 #else
  498     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  499 #endif
  500 
  501 /*
  502  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
  503  *
  504  * Used on declarations introduced in Mac OS X 10.1,
  505  * but later deprecated in Mac OS X 10.5
  506  */
  507 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  508     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    DEPRECATED_ATTRIBUTE
  509 #else
  510     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  511 #endif
  512 
  513 /*
  514  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
  515  *
  516  * Used on declarations introduced in Mac OS X 10.2,
  517  * but later deprecated in Mac OS X 10.5
  518  */
  519 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  520     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    DEPRECATED_ATTRIBUTE
  521 #else
  522     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  523 #endif
  524 
  525 /*
  526  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
  527  *
  528  * Used on declarations introduced in Mac OS X 10.3,
  529  * but later deprecated in Mac OS X 10.5
  530  */
  531 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  532     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    DEPRECATED_ATTRIBUTE
  533 #else
  534     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  535 #endif
  536 
  537 /*
  538  * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
  539  *
  540  * Used on declarations introduced in Mac OS X 10.4,
  541  * but later deprecated in Mac OS X 10.5
  542  */
  543 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  544     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    DEPRECATED_ATTRIBUTE
  545 #else
  546     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5    AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  547 #endif
  548 
  549 /*
  550  * DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER
  551  *
  552  * Used on types deprecated in Mac OS X 10.5
  553  */
  554 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
  555     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER    DEPRECATED_ATTRIBUTE
  556 #else
  557     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER
  558 #endif
  559 
  560 
  561 /*
  562  * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
  563  * 
  564  * Used on declarations introduced in Mac OS X 10.6 
  565  */
  566 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
  567     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER     UNAVAILABLE_ATTRIBUTE
  568 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
  569     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  570 #else
  571     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
  572 #endif
  573 
  574 /*
  575  * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED
  576  *
  577  * Used on declarations introduced in Mac OS X 10.6,
  578  * and deprecated in Mac OS X 10.6
  579  */
  580 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  581     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  582 #else
  583     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
  584 #endif
  585 
  586 /*
  587  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6
  588  *
  589  * Used on declarations introduced in Mac OS X 10.0,
  590  * but later deprecated in Mac OS X 10.6
  591  */
  592 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  593     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    DEPRECATED_ATTRIBUTE
  594 #else
  595     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  596 #endif
  597 
  598 /*
  599  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6
  600  *
  601  * Used on declarations introduced in Mac OS X 10.1,
  602  * but later deprecated in Mac OS X 10.6
  603  */
  604 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  605     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    DEPRECATED_ATTRIBUTE
  606 #else
  607     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  608 #endif
  609 
  610 /*
  611  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6
  612  *
  613  * Used on declarations introduced in Mac OS X 10.2,
  614  * but later deprecated in Mac OS X 10.6
  615  */
  616 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  617     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    DEPRECATED_ATTRIBUTE
  618 #else
  619     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  620 #endif
  621 
  622 /*
  623  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6
  624  *
  625  * Used on declarations introduced in Mac OS X 10.3,
  626  * but later deprecated in Mac OS X 10.6
  627  */
  628 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  629     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    DEPRECATED_ATTRIBUTE
  630 #else
  631     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  632 #endif
  633 
  634 /*
  635  * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6
  636  *
  637  * Used on declarations introduced in Mac OS X 10.4,
  638  * but later deprecated in Mac OS X 10.6
  639  */
  640 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  641     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    DEPRECATED_ATTRIBUTE
  642 #else
  643     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  644 #endif
  645 
  646 /*
  647  * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6
  648  *
  649  * Used on declarations introduced in Mac OS X 10.5,
  650  * but later deprecated in Mac OS X 10.6
  651  */
  652 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  653     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    DEPRECATED_ATTRIBUTE
  654 #else
  655     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6    AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  656 #endif
  657 
  658 /*
  659  * DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER
  660  *
  661  * Used on types deprecated in Mac OS X 10.6
  662  */
  663 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
  664     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER    DEPRECATED_ATTRIBUTE
  665 #else
  666     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER
  667 #endif
  668 
  669 
  670 /*
  671  * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
  672  * 
  673  * Used on declarations introduced in Mac OS X 10.7 
  674  */
  675 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
  676     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER     UNAVAILABLE_ATTRIBUTE
  677 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
  678     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  679 #else
  680     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
  681 #endif
  682 
  683 /*
  684  * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED
  685  *
  686  * Used on declarations introduced in Mac OS X 10.7,
  687  * and deprecated in Mac OS X 10.7
  688  */
  689 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  690     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  691 #else
  692     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
  693 #endif
  694 
  695 /*
  696  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  697  *
  698  * Used on declarations introduced in Mac OS X 10.0,
  699  * but later deprecated in Mac OS X 10.7
  700  */
  701 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  702     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  703 #else
  704     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  705 #endif
  706 
  707 /*
  708  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  709  *
  710  * Used on declarations introduced in Mac OS X 10.1,
  711  * but later deprecated in Mac OS X 10.7
  712  */
  713 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  714     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  715 #else
  716     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  717 #endif
  718 
  719 /*
  720  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  721  *
  722  * Used on declarations introduced in Mac OS X 10.2,
  723  * but later deprecated in Mac OS X 10.7
  724  */
  725 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  726     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  727 #else
  728     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  729 #endif
  730 
  731 /*
  732  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  733  *
  734  * Used on declarations introduced in Mac OS X 10.3,
  735  * but later deprecated in Mac OS X 10.7
  736  */
  737 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  738     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  739 #else
  740     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  741 #endif
  742 
  743 /*
  744  * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  745  *
  746  * Used on declarations introduced in Mac OS X 10.4,
  747  * but later deprecated in Mac OS X 10.7
  748  */
  749 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  750     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  751 #else
  752     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  753 #endif
  754 
  755 /*
  756  * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  757  *
  758  * Used on declarations introduced in Mac OS X 10.5,
  759  * but later deprecated in Mac OS X 10.7
  760  */
  761 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  762     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  763 #else
  764     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  765 #endif
  766 
  767 /*
  768  * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
  769  *
  770  * Used on declarations introduced in Mac OS X 10.6,
  771  * but later deprecated in Mac OS X 10.7
  772  */
  773 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  774     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    DEPRECATED_ATTRIBUTE
  775 #else
  776     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7    AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
  777 #endif
  778 
  779 /*
  780  * DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
  781  *
  782  * Used on types deprecated in Mac OS X 10.7
  783  */
  784 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7
  785     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER    DEPRECATED_ATTRIBUTE
  786 #else
  787     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER
  788 #endif
  789 
  790 
  791 /*
  792  * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
  793  * 
  794  * Used on declarations introduced in Mac OS X 10.8 
  795  */
  796 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8
  797     #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER     UNAVAILABLE_ATTRIBUTE
  798 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
  799     #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER     WEAK_IMPORT_ATTRIBUTE
  800 #else
  801     #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
  802 #endif
  803 
  804 /*
  805  * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED
  806  *
  807  * Used on declarations introduced in Mac OS X 10.8,
  808  * and deprecated in Mac OS X 10.8
  809  */
  810 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  811     #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
  812 #else
  813     #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED    AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
  814 #endif
  815 
  816 /*
  817  * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  818  *
  819  * Used on declarations introduced in Mac OS X 10.0,
  820  * but later deprecated in Mac OS X 10.8
  821  */
  822 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  823     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  824 #else
  825     #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
  826 #endif
  827 
  828 /*
  829  * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  830  *
  831  * Used on declarations introduced in Mac OS X 10.1,
  832  * but later deprecated in Mac OS X 10.8
  833  */
  834 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  835     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  836 #else
  837     #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
  838 #endif
  839 
  840 /*
  841  * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  842  *
  843  * Used on declarations introduced in Mac OS X 10.2,
  844  * but later deprecated in Mac OS X 10.8
  845  */
  846 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  847     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  848 #else
  849     #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  850 #endif
  851 
  852 /*
  853  * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  854  *
  855  * Used on declarations introduced in Mac OS X 10.3,
  856  * but later deprecated in Mac OS X 10.8
  857  */
  858 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  859     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  860 #else
  861     #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  862 #endif
  863 
  864 /*
  865  * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  866  *
  867  * Used on declarations introduced in Mac OS X 10.4,
  868  * but later deprecated in Mac OS X 10.8
  869  */
  870 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  871     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  872 #else
  873     #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  874 #endif
  875 
  876 /*
  877  * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  878  *
  879  * Used on declarations introduced in Mac OS X 10.5,
  880  * but later deprecated in Mac OS X 10.8
  881  */
  882 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  883     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  884 #else
  885     #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  886 #endif
  887 
  888 /*
  889  * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  890  *
  891  * Used on declarations introduced in Mac OS X 10.6,
  892  * but later deprecated in Mac OS X 10.8
  893  */
  894 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  895     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  896 #else
  897     #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
  898 #endif
  899 
  900 /*
  901  * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
  902  *
  903  * Used on declarations introduced in Mac OS X 10.7,
  904  * but later deprecated in Mac OS X 10.8
  905  */
  906 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  907     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    DEPRECATED_ATTRIBUTE
  908 #else
  909     #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8    AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
  910 #endif
  911 
  912 /*
  913  * DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER
  914  *
  915  * Used on types deprecated in Mac OS X 10.8
  916  */
  917 #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_8
  918     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER    DEPRECATED_ATTRIBUTE
  919 #else
  920     #define DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER
  921 #endif
  922 
  923 
  924 
  925 
  926 #endif  /* __AVAILABILITYMACROS__ */
  927 
  928 

Cache object: af95f7d0e7e6fc3ffde06fa8e4d4b0f5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.