D-Bus
1.7.6
Main Page
Related Pages
Modules
Data Structures
Files
File List
dbus
dbus-marshal-header.h
1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2
/* dbus-marshal-header.h Managing marshaling/demarshaling of message headers
3
*
4
* Copyright (C) 2005 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*
22
*/
23
24
#ifndef DBUS_MARSHAL_HEADER_H
25
#define DBUS_MARSHAL_HEADER_H
26
27
#include <dbus/dbus-marshal-basic.h>
28
#include <dbus/dbus-marshal-validate.h>
29
30
typedef
struct
DBusHeader
DBusHeader
;
31
typedef
struct
DBusHeaderField
DBusHeaderField
;
32
33
#define _DBUS_HEADER_FIELD_VALUE_UNKNOWN -1
34
#define _DBUS_HEADER_FIELD_VALUE_NONEXISTENT -2
35
39
struct
DBusHeaderField
40
{
41
int
value_pos
;
42
};
43
47
struct
DBusHeader
48
{
49
DBusString
data
;
54
DBusHeaderField
fields
[
DBUS_HEADER_FIELD_LAST
+ 1];
58
dbus_uint32_t
padding
: 3;
59
dbus_uint32_t
byte_order
: 8;
60
};
61
62
dbus_bool_t
_dbus_header_init
(
DBusHeader
*header);
63
void
_dbus_header_free
(
DBusHeader
*header);
64
void
_dbus_header_reinit
(
DBusHeader
*header);
65
dbus_bool_t
_dbus_header_create
(
DBusHeader
*header,
66
int
byte_order,
67
int
type,
68
const
char
*destination,
69
const
char
*path,
70
const
char
*interface,
71
const
char
*member,
72
const
char
*error_name);
73
dbus_bool_t
_dbus_header_copy
(
const
DBusHeader
*header,
74
DBusHeader
*dest);
75
int
_dbus_header_get_message_type
(
DBusHeader
*header);
76
void
_dbus_header_set_serial
(
DBusHeader
*header,
77
dbus_uint32_t serial);
78
dbus_uint32_t
_dbus_header_get_serial
(
DBusHeader
*header);
79
void
_dbus_header_update_lengths
(
DBusHeader
*header,
80
int
body_len);
81
dbus_bool_t
_dbus_header_set_field_basic
(
DBusHeader
*header,
82
int
field,
83
int
type,
84
const
void
*value);
85
dbus_bool_t
_dbus_header_get_field_basic
(
DBusHeader
*header,
86
int
field,
87
int
type,
88
void
*value);
89
dbus_bool_t
_dbus_header_get_field_raw
(
DBusHeader
*header,
90
int
field,
91
const
DBusString
**str,
92
int
*pos);
93
dbus_bool_t
_dbus_header_delete_field
(
DBusHeader
*header,
94
int
field);
95
void
_dbus_header_toggle_flag
(
DBusHeader
*header,
96
dbus_uint32_t flag,
97
dbus_bool_t
value);
98
dbus_bool_t
_dbus_header_get_flag
(
DBusHeader
*header,
99
dbus_uint32_t flag);
100
dbus_bool_t
_dbus_header_ensure_signature (
DBusHeader
*header,
101
DBusString
**type_str,
102
int
*type_pos);
103
dbus_bool_t
_dbus_header_have_message_untrusted
(
int
max_message_length,
104
DBusValidity
*validity,
105
int
*byte_order,
106
int
*fields_array_len,
107
int
*header_len,
108
int
*body_len,
109
const
DBusString
*str,
110
int
start,
111
int
len);
112
dbus_bool_t
_dbus_header_load
(
DBusHeader
*header,
113
DBusValidationMode
mode,
114
DBusValidity
*validity,
115
int
byte_order,
116
int
fields_array_len,
117
int
header_len,
118
int
body_len,
119
const
DBusString
*str,
120
int
start,
121
int
len);
122
void
_dbus_header_byteswap
(
DBusHeader
*header,
123
int
new_order);
124
char
_dbus_header_get_byte_order
(
const
DBusHeader
*header);
125
126
127
128
#endif
/* DBUS_MARSHAL_HEADER_H */
Generated on Sat Oct 12 2013 15:35:00 for D-Bus by
1.8.4