00001 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ 00002 /* dbus-types.h types such as dbus_bool_t 00003 * 00004 * Copyright (C) 2002 Red Hat Inc. 00005 * 00006 * Licensed under the Academic Free License version 2.1 00007 * 00008 * This program is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 * 00022 */ 00023 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) 00024 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." 00025 #endif 00026 00027 #ifndef DBUS_TYPES_H 00028 #define DBUS_TYPES_H 00029 00030 #include <stddef.h> 00031 #include <dbus/dbus-arch-deps.h> 00032 00033 typedef dbus_uint32_t dbus_unichar_t; 00034 /* boolean size must be fixed at 4 bytes due to wire protocol! */ 00035 typedef dbus_uint32_t dbus_bool_t; 00036 00037 /* Normally docs are in .c files, but there isn't a .c file for this. */ 00141 typedef struct 00142 { 00143 dbus_uint32_t first32; 00144 dbus_uint32_t second32; 00145 } DBus8ByteStruct; 00146 00157 typedef union 00158 { 00159 unsigned char bytes[8]; 00160 dbus_int16_t i16; 00161 dbus_uint16_t u16; 00162 dbus_int32_t i32; 00163 dbus_uint32_t u32; 00164 dbus_bool_t bool_val; 00165 #ifdef DBUS_HAVE_INT64 00166 dbus_int64_t i64; 00167 dbus_uint64_t u64; 00168 #endif 00169 DBus8ByteStruct eight; 00170 double dbl; 00171 unsigned char byt; 00172 char *str; 00173 int fd; 00174 } DBusBasicValue; 00175 00178 #endif /* DBUS_TYPES_H */