Home | History | Annotate | Download | only in dbus
      1 /* -*- mode: C; c-file-style: "gnu" -*- */
      2 /* dbus-types.h  types such as dbus_bool_t
      3  *
      4  * Copyright (C) 2002  Red Hat Inc.
      5  *
      6  * Licensed under the Academic Free License version 2.1
      7  *
      8  * This program is free software; you can redistribute it and/or modify
      9  * it under the terms of the GNU General Public License as published by
     10  * the Free Software Foundation; either version 2 of the License, or
     11  * (at your option) any later version.
     12  *
     13  * This program 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
     16  * GNU General Public License for more details.
     17  *
     18  * You should have received a copy of the GNU General Public License
     19  * along with this program; if not, write to the Free Software
     20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     21  *
     22  */
     23 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
     24 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
     25 #endif
     26 
     27 #ifndef DBUS_TYPES_H
     28 #define DBUS_TYPES_H
     29 
     30 #include <stddef.h>
     31 #include <dbus/dbus-arch-deps.h>
     32 
     33 typedef dbus_uint32_t  dbus_unichar_t;
     34 /* boolean size must be fixed at 4 bytes due to wire protocol! */
     35 typedef dbus_uint32_t  dbus_bool_t;
     36 
     37 /* Normally docs are in .c files, but there isn't a .c file for this. */
     38 /**
     39  * @defgroup DBusTypes Basic types
     40  * @ingroup  DBus
     41  * @brief dbus_bool_t, dbus_int32_t, etc.
     42  *
     43  * Typedefs for common primitive types.
     44  *
     45  * @{
     46  */
     47 
     48 /**
     49  * @typedef dbus_bool_t
     50  *
     51  * A boolean, valid values are #TRUE and #FALSE.
     52  */
     53 
     54 /**
     55  * @typedef dbus_uint32_t
     56  *
     57  * A 32-bit unsigned integer on all platforms.
     58  */
     59 
     60 /**
     61  * @typedef dbus_int32_t
     62  *
     63  * A 32-bit signed integer on all platforms.
     64  */
     65 
     66 /**
     67  * @typedef dbus_uint16_t
     68  *
     69  * A 16-bit unsigned integer on all platforms.
     70  */
     71 
     72 /**
     73  * @typedef dbus_int16_t
     74  *
     75  * A 16-bit signed integer on all platforms.
     76  */
     77 
     78 
     79 /**
     80  * @typedef dbus_uint64_t
     81  *
     82  * A 64-bit unsigned integer on all platforms that support it.
     83  * If supported, #DBUS_HAVE_INT64 will be defined.
     84  *
     85  * C99 requires a 64-bit type and most likely all interesting
     86  * compilers support one. GLib for example flat-out requires
     87  * a 64-bit type.
     88  *
     89  * You probably want to just assume #DBUS_HAVE_INT64 is always defined.
     90  */
     91 
     92 /**
     93  * @typedef dbus_int64_t
     94  *
     95  * A 64-bit signed integer on all platforms that support it.
     96  * If supported, #DBUS_HAVE_INT64 will be defined.
     97  *
     98  * C99 requires a 64-bit type and most likely all interesting
     99  * compilers support one. GLib for example flat-out requires
    100  * a 64-bit type.
    101  *
    102  * You probably want to just assume #DBUS_HAVE_INT64 is always defined.
    103  */
    104 
    105 /**
    106  * @def DBUS_HAVE_INT64
    107  *
    108  * Defined if 64-bit integers are available. Will be defined
    109  * on any platform you care about, unless you care about
    110  * some truly ancient UNIX, or some bizarre embedded platform.
    111  *
    112  * C99 requires a 64-bit type and most likely all interesting
    113  * compilers support one. GLib for example flat-out requires
    114  * a 64-bit type.
    115  *
    116  * You should feel comfortable ignoring this macro and just using
    117  * int64 unconditionally.
    118  *
    119  */
    120 
    121 /**
    122  * @def DBUS_INT64_CONSTANT
    123  *
    124  * Declare a 64-bit signed integer constant. The macro
    125  * adds the necessary "LL" or whatever after the integer,
    126  * giving a literal such as "325145246765LL"
    127  */
    128 
    129 /**
    130  * @def DBUS_UINT64_CONSTANT
    131  *
    132  * Declare a 64-bit unsigned integer constant. The macro
    133  * adds the necessary "ULL" or whatever after the integer,
    134  * giving a literal such as "325145246765ULL"
    135  */
    136 
    137 /** @} */
    138 
    139 #endif /* DBUS_TYPES_H */
    140