1/* Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
5#ifndef PPAPI_C_DEV_DEPRECATED_BOOL_H_
6#define PPAPI_C_DEV_DEPRECATED_BOOL_H_
7
8/**
9 * @file
10 * Defines the API ...
11 *
12 * @addtogroup PP
13 * @{
14 */
15// TODO(ppapi authors):  Remove ppp_class_deprecated.h and ppb_var_deprecated.h
16// and remove this file.  This is only here to ease the transition from
17// deprecated interfaces to the new ones.  Add a usable definition of bool for
18// C code.
19#if !defined(__cplusplus)
20# if defined(_MSC_VER) || !defined(__STDC_VERSION__) || \
21    (__STDC_VERSION__ < 199901L)
22// The Visual Studio C compiler and older versions of GCC do not support C99
23// and thus have no bool or stdbool.h.  Make a simple definition of bool,
24// true, and false to make this deprecated interface compile in C.  Force it
25// to 1 byte to have some chance of ABI compatibility between C and C++, in
26// case we don't remove this.
27typedef char bool;
28#  define false 0
29#  define true 1
30# else
31// In C99-compliant compilers, we can include stdbool.h to get a bool
32// definition.
33#  include <stdbool.h>
34# endif
35#endif
36
37/**
38 * @}
39 * End addtogroup PP
40 */
41
42#endif  /* PPAPI_C_DEV_DEPRECATED_BOOL_H_ */
43
44