D-Bus
1.4.10
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
int
byte_order);
64
void
_dbus_header_free
(
DBusHeader
*header);
65
void
_dbus_header_reinit
(
DBusHeader
*header,
66
int
byte_order);
67
dbus_bool_t
_dbus_header_create
(
DBusHeader
*header,
68
int
type,
69
const
char
*destination,
70
const
char
*path,
71
const
char
*interface,
72
const
char
*member,
73
const
char
*error_name);
74
dbus_bool_t
_dbus_header_copy
(
const
DBusHeader
*header,
75
DBusHeader
*dest);
76
int
_dbus_header_get_message_type
(
DBusHeader
*header);
77
void
_dbus_header_set_serial
(
DBusHeader
*header,
78
dbus_uint32_t
serial);
79
dbus_uint32_t
_dbus_header_get_serial
(
DBusHeader
*header);
80
void
_dbus_header_update_lengths
(
DBusHeader
*header,
81
int
body_len);
82
dbus_bool_t
_dbus_header_set_field_basic
(
DBusHeader
*header,
83
int
field,
84
int
type,
85
const
void
*value);
86
dbus_bool_t
_dbus_header_get_field_basic
(
DBusHeader
*header,
87
int
field,
88
int
type,
89
void
*value);
90
dbus_bool_t
_dbus_header_get_field_raw
(
DBusHeader
*header,
91
int
field,
92
const
DBusString
**str,
93
int
*pos);
94
dbus_bool_t
_dbus_header_delete_field
(
DBusHeader
*header,
95
int
field);
96
void
_dbus_header_toggle_flag
(
DBusHeader
*header,
97
dbus_uint32_t
flag,
98
dbus_bool_t
value);
99
dbus_bool_t
_dbus_header_get_flag
(
DBusHeader
*header,
100
dbus_uint32_t
flag);
101
dbus_bool_t
_dbus_header_ensure_signature (
DBusHeader
*header,
102
DBusString
**type_str,
103
int
*type_pos);
104
dbus_bool_t
_dbus_header_have_message_untrusted
(
int
max_message_length,
105
DBusValidity
*validity,
106
int
*byte_order,
107
int
*fields_array_len,
108
int
*header_len,
109
int
*body_len,
110
const
DBusString
*str,
111
int
start,
112
int
len);
113
dbus_bool_t
_dbus_header_load
(
DBusHeader
*header,
114
DBusValidationMode
mode,
115
DBusValidity
*validity,
116
int
byte_order,
117
int
fields_array_len,
118
int
header_len,
119
int
body_len,
120
const
DBusString
*str,
121
int
start,
122
int
len);
123
void
_dbus_header_byteswap
(
DBusHeader
*header,
124
int
new_order);
125
126
127
128
#endif
/* DBUS_MARSHAL_HEADER_H */
Generated by
1.8.1.1