D-Bus: Protocol constants

D-Bus 1.12.16

Macros
Protocol constants
D-Bus low-level public API

Defines constants which are part of the D-Bus protocol. More...

Collaboration diagram for Protocol constants:

## Macros
#define | DBUS_LITTLE_ENDIAN ('l')
| Code marking LSB-first byte order in the wire protocol. More...
#define | DBUS_BIG_ENDIAN ('B')
| Code marking MSB-first byte order in the wire protocol. More...
#define | DBUS_MAJOR_PROTOCOL_VERSION 1
| Protocol version. More...
#define | DBUS_TYPE_INVALID ((int) '\0')
| Type code that is never equal to a legitimate type code.
#define | DBUS_TYPE_INVALID_AS_STRING "\0"
| DBUS_TYPE_INVALID as a string literal instead of a int literal
#define | DBUS_TYPE_BYTE ((int) 'y')
| Type code marking an 8-bit unsigned integer.
#define | DBUS_TYPE_BYTE_AS_STRING "y"
| DBUS_TYPE_BYTE as a string literal instead of a int literal
#define | DBUS_TYPE_BOOLEAN ((int) 'b')
| Type code marking a boolean.
#define | DBUS_TYPE_BOOLEAN_AS_STRING "b"
| DBUS_TYPE_BOOLEAN as a string literal instead of a int literal
#define | DBUS_TYPE_INT16 ((int) 'n')
| Type code marking a 16-bit signed integer.
#define | DBUS_TYPE_INT16_AS_STRING "n"
| DBUS_TYPE_INT16 as a string literal instead of a int literal
#define | DBUS_TYPE_UINT16 ((int) 'q')
| Type code marking a 16-bit unsigned integer.
#define | DBUS_TYPE_UINT16_AS_STRING "q"
| DBUS_TYPE_UINT16 as a string literal instead of a int literal
#define | DBUS_TYPE_INT32 ((int) 'i')
| Type code marking a 32-bit signed integer.
#define | DBUS_TYPE_INT32_AS_STRING "i"
| DBUS_TYPE_INT32 as a string literal instead of a int literal
#define | DBUS_TYPE_UINT32 ((int) 'u')
| Type code marking a 32-bit unsigned integer.
#define | DBUS_TYPE_UINT32_AS_STRING "u"
| DBUS_TYPE_UINT32 as a string literal instead of a int literal
#define | DBUS_TYPE_INT64 ((int) 'x')
| Type code marking a 64-bit signed integer.
#define | DBUS_TYPE_INT64_AS_STRING "x"
| DBUS_TYPE_INT64 as a string literal instead of a int literal
#define | DBUS_TYPE_UINT64 ((int) 't')
| Type code marking a 64-bit unsigned integer.
#define | DBUS_TYPE_UINT64_AS_STRING "t"
| DBUS_TYPE_UINT64 as a string literal instead of a int literal
#define | DBUS_TYPE_DOUBLE ((int) 'd')
| Type code marking an 8-byte double in IEEE 754 format.
#define | DBUS_TYPE_DOUBLE_AS_STRING "d"
| DBUS_TYPE_DOUBLE as a string literal instead of a int literal
#define | DBUS_TYPE_STRING ((int) 's')
| Type code marking a UTF-8 encoded, nul-terminated Unicode string.
#define | DBUS_TYPE_STRING_AS_STRING "s"
| DBUS_TYPE_STRING as a string literal instead of a int literal
#define | DBUS_TYPE_OBJECT_PATH ((int) 'o')
| Type code marking a D-Bus object path.
#define | DBUS_TYPE_OBJECT_PATH_AS_STRING "o"
| DBUS_TYPE_OBJECT_PATH as a string literal instead of a int literal
#define | DBUS_TYPE_SIGNATURE ((int) 'g')
| Type code marking a D-Bus type signature.
#define | DBUS_TYPE_SIGNATURE_AS_STRING "g"
| DBUS_TYPE_SIGNATURE as a string literal instead of a int literal
#define | DBUS_TYPE_UNIX_FD ((int) 'h')
| Type code marking a unix file descriptor.
#define | DBUS_TYPE_UNIX_FD_AS_STRING "h"
| DBUS_TYPE_UNIX_FD as a string literal instead of a int literal
#define | DBUS_TYPE_ARRAY ((int) 'a')
| Type code marking a D-Bus array type.
#define | DBUS_TYPE_ARRAY_AS_STRING "a"
| DBUS_TYPE_ARRAY as a string literal instead of a int literal
#define | DBUS_TYPE_VARIANT ((int) 'v')
| Type code marking a D-Bus variant type.
#define | DBUS_TYPE_VARIANT_AS_STRING "v"
| DBUS_TYPE_VARIANT as a string literal instead of a int literal
#define | DBUS_TYPE_STRUCT ((int) 'r')
| STRUCT and DICT_ENTRY are sort of special since their codes can't appear in a type string, instead DBUS_STRUCT_BEGIN_CHAR/DBUS_DICT_ENTRY_BEGIN_CHAR have to appear. More...
#define | DBUS_TYPE_STRUCT_AS_STRING "r"
| DBUS_TYPE_STRUCT as a string literal instead of a int literal
#define | DBUS_TYPE_DICT_ENTRY ((int) 'e')
| Type code used to represent a dict entry; however, this type code does not appear in type signatures, instead DBUS_DICT_ENTRY_BEGIN_CHAR and DBUS_DICT_ENTRY_END_CHAR will appear in a signature.
#define | DBUS_TYPE_DICT_ENTRY_AS_STRING "e"
| DBUS_TYPE_DICT_ENTRY as a string literal instead of a int literal
#define | DBUS_NUMBER_OF_TYPES (16)
| Does not include DBUS_TYPE_INVALID, DBUS_STRUCT_BEGIN_CHAR, DBUS_STRUCT_END_CHAR, DBUS_DICT_ENTRY_BEGIN_CHAR, or DBUS_DICT_ENTRY_END_CHAR - i.e. More...
#define | DBUS_STRUCT_BEGIN_CHAR ((int) '(')
| Code marking the start of a struct type in a type signature.
#define | DBUS_STRUCT_BEGIN_CHAR_AS_STRING "("
| DBUS_STRUCT_BEGIN_CHAR as a string literal instead of a int literal
#define | DBUS_STRUCT_END_CHAR ((int) ')')
| Code marking the end of a struct type in a type signature.
#define | DBUS_STRUCT_END_CHAR_AS_STRING ")"
| DBUS_STRUCT_END_CHAR a string literal instead of a int literal
#define | DBUS_DICT_ENTRY_BEGIN_CHAR ((int) '{')
| Code marking the start of a dict entry type in a type signature.
#define | DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING "{"
| DBUS_DICT_ENTRY_BEGIN_CHAR as a string literal instead of a int literal
#define | DBUS_DICT_ENTRY_END_CHAR ((int) '}')
| Code marking the end of a dict entry type in a type signature.
#define | DBUS_DICT_ENTRY_END_CHAR_AS_STRING "}"
| DBUS_DICT_ENTRY_END_CHAR as a string literal instead of a int literal
#define | DBUS_MAXIMUM_NAME_LENGTH 255
| Max length in bytes of a bus name, interface, or member (not object path, paths are unlimited). More...
#define | DBUS_MAXIMUM_SIGNATURE_LENGTH 255
| This one is 255 so it fits in a byte.
#define | DBUS_MAXIMUM_MATCH_RULE_LENGTH 1024
| Max length of a match rule string; to keep people from hosing the daemon with some huge rule.
#define | DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER 63
| Max arg number you can match on in a match rule, e.g. More...
#define | DBUS_MAXIMUM_ARRAY_LENGTH (67108864)
| Max length of a marshaled array in bytes (64M, 2^26) We use signed int for lengths so must be INT_MAX or less. More...
#define | DBUS_MAXIMUM_ARRAY_LENGTH_BITS 26
| Number of bits you need in an unsigned to store the max array size.
#define | DBUS_MAXIMUM_MESSAGE_LENGTH (DBUS_MAXIMUM_ARRAY_LENGTH * 2)
| The maximum total message size including header and body; similar rationale to max array size.
#define | DBUS_MAXIMUM_MESSAGE_LENGTH_BITS 27
| Number of bits you need in an unsigned to store the max message size.
#define | DBUS_MAXIMUM_MESSAGE_UNIX_FDS (DBUS_MAXIMUM_MESSAGE_LENGTH/4)
| The maximum total number of unix fds in a message. More...
#define | DBUS_MAXIMUM_MESSAGE_UNIX_FDS_BITS (DBUS_MAXIMUM_MESSAGE_LENGTH_BITS-2)
| Number of bits you need in an unsigned to store the max message unix fds.
#define | DBUS_MAXIMUM_TYPE_RECURSION_DEPTH 32
| Depth of recursion in the type tree. More...
#define | DBUS_MESSAGE_TYPE_INVALID 0
| This value is never a valid message type, see dbus_message_get_type()
#define | DBUS_MESSAGE_TYPE_METHOD_CALL 1
| Message type of a method call message, see dbus_message_get_type()
#define | DBUS_MESSAGE_TYPE_METHOD_RETURN 2
| Message type of a method return message, see dbus_message_get_type()
#define | DBUS_MESSAGE_TYPE_ERROR 3
| Message type of an error reply message, see dbus_message_get_type()
#define | DBUS_MESSAGE_TYPE_SIGNAL 4
| Message type of a signal message, see dbus_message_get_type()
#define | DBUS_NUM_MESSAGE_TYPES 5
#define | DBUS_HEADER_FLAG_NO_REPLY_EXPECTED 0x1
| If set, this flag means that the sender of a message does not care about getting a reply, so the recipient need not send one. More...
#define | DBUS_HEADER_FLAG_NO_AUTO_START 0x2
| If set, this flag means that even if the message bus knows how to start an owner for the destination bus name (see dbus_message_set_destination()), it should not do so. More...
#define | DBUS_HEADER_FLAG_ALLOW_INTERACTIVE_AUTHORIZATION 0x4
| If set on a method call, this flag means that the caller is prepared to wait for interactive authorization.
#define | DBUS_HEADER_FIELD_INVALID 0
| Not equal to any valid header field code.
#define | DBUS_HEADER_FIELD_PATH 1
| Header field code for the path - the path is the object emitting a signal or the object receiving a method call. More...
#define | DBUS_HEADER_FIELD_INTERFACE 2
| Header field code for the interface containing a member (method or signal). More...
#define | DBUS_HEADER_FIELD_MEMBER 3
| Header field code for a member (method or signal). More...
#define | DBUS_HEADER_FIELD_ERROR_NAME 4
| Header field code for an error name (found in DBUS_MESSAGE_TYPE_ERROR messages). More...
#define | DBUS_HEADER_FIELD_REPLY_SERIAL 5
| Header field code for a reply serial, used to match a DBUS_MESSAGE_TYPE_METHOD_RETURN message with the message that it's a reply to. More...
#define | DBUS_HEADER_FIELD_DESTINATION 6
| Header field code for the destination bus name of a message. More...
#define | DBUS_HEADER_FIELD_SENDER 7
| Header field code for the sender of a message; usually initialized by the message bus. More...
#define | DBUS_HEADER_FIELD_SIGNATURE 8
| Header field code for the type signature of a message.
#define | DBUS_HEADER_FIELD_UNIX_FDS 9
| Header field code for the number of unix file descriptors associated with this message.
#define | DBUS_HEADER_FIELD_LAST DBUS_HEADER_FIELD_UNIX_FDS
| Value of the highest-numbered header field code, can be used to determine the size of an array indexed by header field code. More...
#define | DBUS_HEADER_SIGNATURE
| Header format is defined as a signature: byte byte order byte message type ID byte flags byte protocol version uint32 body length uint32 serial array of struct (byte,variant) (field name, value) More...
#define | DBUS_MINIMUM_HEADER_SIZE 16
| The smallest header size that can occur. More...
#define | DBUS_ERROR_FAILED "org.freedesktop.DBus.Error.Failed"
| A generic error; "something went wrong" - see the error message for more. More...
#define | DBUS_ERROR_NO_MEMORY "org.freedesktop.DBus.Error.NoMemory"
| There was not enough memory to complete an operation. More...
#define | DBUS_ERROR_SERVICE_UNKNOWN "org.freedesktop.DBus.Error.ServiceUnknown"
| The bus doesn't know how to launch a service to supply the bus name you wanted. More...
#define | DBUS_ERROR_NAME_HAS_NO_OWNER "org.freedesktop.DBus.Error.NameHasNoOwner"
| The bus name you referenced doesn't exist (i.e. More...
#define | DBUS_ERROR_NO_REPLY "org.freedesktop.DBus.Error.NoReply"
| No reply to a message expecting one, usually means a timeout occurred. More...
#define | DBUS_ERROR_IO_ERROR "org.freedesktop.DBus.Error.IOError"
| Something went wrong reading or writing to a socket, for example. More...
#define | DBUS_ERROR_BAD_ADDRESS "org.freedesktop.DBus.Error.BadAddress"
| A D-Bus bus address was malformed. More...
#define | DBUS_ERROR_NOT_SUPPORTED "org.freedesktop.DBus.Error.NotSupported"
| Requested operation isn't supported (like ENOSYS on UNIX). More...
#define | DBUS_ERROR_LIMITS_EXCEEDED "org.freedesktop.DBus.Error.LimitsExceeded"
| Some limited resource is exhausted. More...
#define | DBUS_ERROR_ACCESS_DENIED "org.freedesktop.DBus.Error.AccessDenied"
| Security restrictions don't allow doing what you're trying to do. More...
#define | DBUS_ERROR_AUTH_FAILED "org.freedesktop.DBus.Error.AuthFailed"
| Authentication didn't work. More...
#define | DBUS_ERROR_NO_SERVER "org.freedesktop.DBus.Error.NoServer"
| Unable to connect to server (probably caused by ECONNREFUSED on a socket). More...
#define | DBUS_ERROR_TIMEOUT "org.freedesktop.DBus.Error.Timeout"
| Certain timeout errors, possibly ETIMEDOUT on a socket. More...
#define | DBUS_ERROR_NO_NETWORK "org.freedesktop.DBus.Error.NoNetwork"
| No network access (probably ENETUNREACH on a socket). More...
#define | DBUS_ERROR_ADDRESS_IN_USE "org.freedesktop.DBus.Error.AddressInUse"
| Can't bind a socket since its address is in use (i.e. More...
#define | DBUS_ERROR_DISCONNECTED "org.freedesktop.DBus.Error.Disconnected"
| The connection is disconnected and you're trying to use it. More...
#define | DBUS_ERROR_INVALID_ARGS "org.freedesktop.DBus.Error.InvalidArgs"
| Invalid arguments passed to a method call. More...
#define | DBUS_ERROR_FILE_NOT_FOUND "org.freedesktop.DBus.Error.FileNotFound"
| Missing file. More...
#define | DBUS_ERROR_FILE_EXISTS "org.freedesktop.DBus.Error.FileExists"
| Existing file and the operation you're using does not silently overwrite. More...
#define | DBUS_ERROR_UNKNOWN_METHOD "org.freedesktop.DBus.Error.UnknownMethod"
| Method name you invoked isn't known by the object you invoked it on. More...
#define | DBUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject"
| Object you invoked a method on isn't known. More...
#define | DBUS_ERROR_UNKNOWN_INTERFACE "org.freedesktop.DBus.Error.UnknownInterface"
| Interface you invoked a method on isn't known by the object. More...
#define | DBUS_ERROR_UNKNOWN_PROPERTY "org.freedesktop.DBus.Error.UnknownProperty"
| Property you tried to access isn't known by the object. More...
#define | DBUS_ERROR_PROPERTY_READ_ONLY "org.freedesktop.DBus.Error.PropertyReadOnly"
| Property you tried to set is read-only. More...
#define | DBUS_ERROR_TIMED_OUT "org.freedesktop.DBus.Error.TimedOut"
| Certain timeout errors, e.g. More...
#define | DBUS_ERROR_MATCH_RULE_NOT_FOUND "org.freedesktop.DBus.Error.MatchRuleNotFound"
| Tried to remove or modify a match rule that didn't exist. More...
#define | DBUS_ERROR_MATCH_RULE_INVALID "org.freedesktop.DBus.Error.MatchRuleInvalid"
| The match rule isn't syntactically valid. More...
#define | DBUS_ERROR_SPAWN_EXEC_FAILED "org.freedesktop.DBus.Error.Spawn.ExecFailed"
| While starting a new process, the exec() call failed. More...
#define | DBUS_ERROR_SPAWN_FORK_FAILED "org.freedesktop.DBus.Error.Spawn.ForkFailed"
| While starting a new process, the fork() call failed. More...
#define | DBUS_ERROR_SPAWN_CHILD_EXITED "org.freedesktop.DBus.Error.Spawn.ChildExited"
| While starting a new process, the child exited with a status code. More...
#define | DBUS_ERROR_SPAWN_CHILD_SIGNALED "org.freedesktop.DBus.Error.Spawn.ChildSignaled"
| While starting a new process, the child exited on a signal. More...
#define | DBUS_ERROR_SPAWN_FAILED "org.freedesktop.DBus.Error.Spawn.Failed"
| While starting a new process, something went wrong. More...
#define | DBUS_ERROR_SPAWN_SETUP_FAILED "org.freedesktop.DBus.Error.Spawn.FailedToSetup"
| We failed to setup the environment correctly. More...
#define | DBUS_ERROR_SPAWN_CONFIG_INVALID "org.freedesktop.DBus.Error.Spawn.ConfigInvalid"
| We failed to setup the config parser correctly. More...
#define | DBUS_ERROR_SPAWN_SERVICE_INVALID "org.freedesktop.DBus.Error.Spawn.ServiceNotValid"
| Bus name was not valid. More...
#define | DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND "org.freedesktop.DBus.Error.Spawn.ServiceNotFound"
| Service file not found in system-services directory. More...
#define | DBUS_ERROR_SPAWN_PERMISSIONS_INVALID "org.freedesktop.DBus.Error.Spawn.PermissionsInvalid"
| Permissions are incorrect on the setuid helper. More...
#define | DBUS_ERROR_SPAWN_FILE_INVALID "org.freedesktop.DBus.Error.Spawn.FileInvalid"
| Service file invalid (Name, User or Exec missing). More...
#define | DBUS_ERROR_SPAWN_NO_MEMORY "org.freedesktop.DBus.Error.Spawn.NoMemory"
| Tried to get a UNIX process ID and it wasn't available. More...
#define | DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN "org.freedesktop.DBus.Error.UnixProcessIdUnknown"
| Tried to get a UNIX process ID and it wasn't available. More...
#define | DBUS_ERROR_INVALID_SIGNATURE "org.freedesktop.DBus.Error.InvalidSignature"
| A type signature is not valid. More...
#define | DBUS_ERROR_INVALID_FILE_CONTENT "org.freedesktop.DBus.Error.InvalidFileContent"
| A file contains invalid syntax or is otherwise broken. More...
#define | DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN "org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown"
| Asked for SELinux security context and it wasn't available. More...
#define | DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN "org.freedesktop.DBus.Error.AdtAuditDataUnknown"
| Asked for ADT audit data and it wasn't available. More...
#define | DBUS_ERROR_OBJECT_PATH_IN_USE "org.freedesktop.DBus.Error.ObjectPathInUse"
| There's already an object with the requested object path. More...
#define | DBUS_ERROR_INCONSISTENT_MESSAGE "org.freedesktop.DBus.Error.InconsistentMessage"
| The message meta data does not match the payload. More...
#define | DBUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED "org.freedesktop.DBus.Error.InteractiveAuthorizationRequired"
| The message is not allowed without performing interactive authorization, but could have succeeded if an interactive authorization step was allowed. More...
#define | DBUS_INTROSPECT_1_0_XML_NAMESPACE "http://www.freedesktop.org/standards/dbus"
| XML namespace of the introspection format version 1.0.
#define | DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
| XML public identifier of the introspection format version 1.0.
#define | DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"
| XML system identifier of the introspection format version 1.0.
#define | DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE "<!DOCTYPE node PUBLIC \"" DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER "\"\n\"" DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER "\">\n"
| XML document type declaration of the introspection format version 1.0.

## Detailed Description

Defines constants which are part of the D-Bus protocol.

This header is intended for use by any library, not only libdbus.

## Macro Definition Documentation

## ◆ DBUS_BIG_ENDIAN

#define DBUS_BIG_ENDIAN ('B')

Code marking MSB-first byte order in the wire protocol.

Definition at line 54 of file dbus-protocol.h.

## ◆ DBUS_ERROR_ACCESS_DENIED

#define DBUS_ERROR_ACCESS_DENIED "org.freedesktop.DBus.Error.AccessDenied"

Security restrictions don't allow doing what you're trying to do.

Definition at line 373 of file dbus-protocol.h.

## ◆ DBUS_ERROR_ADDRESS_IN_USE

#define DBUS_ERROR_ADDRESS_IN_USE "org.freedesktop.DBus.Error.AddressInUse"

Can't bind a socket since its address is in use (i.e.

EADDRINUSE).

Definition at line 387 of file dbus-protocol.h.

## ◆ DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN

#define DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN "org.freedesktop.DBus.Error.AdtAuditDataUnknown"

Asked for ADT audit data and it wasn't available.

Definition at line 448 of file dbus-protocol.h.

## ◆ DBUS_ERROR_AUTH_FAILED

#define DBUS_ERROR_AUTH_FAILED "org.freedesktop.DBus.Error.AuthFailed"

Authentication didn't work.

Definition at line 375 of file dbus-protocol.h.

## ◆ DBUS_ERROR_BAD_ADDRESS

#define DBUS_ERROR_BAD_ADDRESS "org.freedesktop.DBus.Error.BadAddress"

A D-Bus bus address was malformed.

Definition at line 367 of file dbus-protocol.h.

## ◆ DBUS_ERROR_DISCONNECTED

#define DBUS_ERROR_DISCONNECTED "org.freedesktop.DBus.Error.Disconnected"

The connection is disconnected and you're trying to use it.

Definition at line 389 of file dbus-protocol.h.

## ◆ DBUS_ERROR_FAILED

#define DBUS_ERROR_FAILED "org.freedesktop.DBus.Error.Failed"

A generic error; "something went wrong" - see the error message for more.

Definition at line 355 of file dbus-protocol.h.

## ◆ DBUS_ERROR_FILE_EXISTS

#define DBUS_ERROR_FILE_EXISTS "org.freedesktop.DBus.Error.FileExists"

Existing file and the operation you're using does not silently overwrite.

Definition at line 395 of file dbus-protocol.h.

## ◆ DBUS_ERROR_FILE_NOT_FOUND

#define DBUS_ERROR_FILE_NOT_FOUND "org.freedesktop.DBus.Error.FileNotFound"

Missing file.

Definition at line 393 of file dbus-protocol.h.

## ◆ DBUS_ERROR_INCONSISTENT_MESSAGE

#define DBUS_ERROR_INCONSISTENT_MESSAGE "org.freedesktop.DBus.Error.InconsistentMessage"

The message meta data does not match the payload.

e.g. expected number of file descriptors were not sent over the socket this message was received on.

Definition at line 453 of file dbus-protocol.h.

## ◆ DBUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED

#define DBUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED "org.freedesktop.DBus.Error.InteractiveAuthorizationRequired"

The message is not allowed without performing interactive authorization, but could have succeeded if an interactive authorization step was allowed.

Definition at line 457 of file dbus-protocol.h.

## ◆ DBUS_ERROR_INVALID_ARGS

#define DBUS_ERROR_INVALID_ARGS "org.freedesktop.DBus.Error.InvalidArgs"

Invalid arguments passed to a method call.

Definition at line 391 of file dbus-protocol.h.

## ◆ DBUS_ERROR_INVALID_FILE_CONTENT

#define DBUS_ERROR_INVALID_FILE_CONTENT "org.freedesktop.DBus.Error.InvalidFileContent"

A file contains invalid syntax or is otherwise broken.

Definition at line 444 of file dbus-protocol.h.

## ◆ DBUS_ERROR_INVALID_SIGNATURE

#define DBUS_ERROR_INVALID_SIGNATURE "org.freedesktop.DBus.Error.InvalidSignature"

A type signature is not valid.

Definition at line 442 of file dbus-protocol.h.

## ◆ DBUS_ERROR_IO_ERROR

#define DBUS_ERROR_IO_ERROR "org.freedesktop.DBus.Error.IOError"

Something went wrong reading or writing to a socket, for example.

Definition at line 365 of file dbus-protocol.h.

## ◆ DBUS_ERROR_LIMITS_EXCEEDED

#define DBUS_ERROR_LIMITS_EXCEEDED "org.freedesktop.DBus.Error.LimitsExceeded"

Some limited resource is exhausted.

Definition at line 371 of file dbus-protocol.h.

## ◆ DBUS_ERROR_MATCH_RULE_INVALID

#define DBUS_ERROR_MATCH_RULE_INVALID "org.freedesktop.DBus.Error.MatchRuleInvalid"

The match rule isn't syntactically valid.

Definition at line 414 of file dbus-protocol.h.

## ◆ DBUS_ERROR_MATCH_RULE_NOT_FOUND

#define DBUS_ERROR_MATCH_RULE_NOT_FOUND "org.freedesktop.DBus.Error.MatchRuleNotFound"

Tried to remove or modify a match rule that didn't exist.

Definition at line 412 of file dbus-protocol.h.

## ◆ DBUS_ERROR_NAME_HAS_NO_OWNER

#define DBUS_ERROR_NAME_HAS_NO_OWNER "org.freedesktop.DBus.Error.NameHasNoOwner"

The bus name you referenced doesn't exist (i.e.

no application owns it).

Definition at line 361 of file dbus-protocol.h.

## ◆ DBUS_ERROR_NO_MEMORY

#define DBUS_ERROR_NO_MEMORY "org.freedesktop.DBus.Error.NoMemory"

There was not enough memory to complete an operation.

Definition at line 357 of file dbus-protocol.h.

## ◆ DBUS_ERROR_NO_NETWORK

#define DBUS_ERROR_NO_NETWORK "org.freedesktop.DBus.Error.NoNetwork"

No network access (probably ENETUNREACH on a socket).

Definition at line 385 of file dbus-protocol.h.

## ◆ DBUS_ERROR_NO_REPLY

#define DBUS_ERROR_NO_REPLY "org.freedesktop.DBus.Error.NoReply"

No reply to a message expecting one, usually means a timeout occurred.

Definition at line 363 of file dbus-protocol.h.

## ◆ DBUS_ERROR_NO_SERVER

#define DBUS_ERROR_NO_SERVER "org.freedesktop.DBus.Error.NoServer"

Unable to connect to server (probably caused by ECONNREFUSED on a socket).

Definition at line 377 of file dbus-protocol.h.

## ◆ DBUS_ERROR_NOT_SUPPORTED

#define DBUS_ERROR_NOT_SUPPORTED "org.freedesktop.DBus.Error.NotSupported"

Requested operation isn't supported (like ENOSYS on UNIX).

Definition at line 369 of file dbus-protocol.h.

## ◆ DBUS_ERROR_OBJECT_PATH_IN_USE

#define DBUS_ERROR_OBJECT_PATH_IN_USE "org.freedesktop.DBus.Error.ObjectPathInUse"

There's already an object with the requested object path.

Definition at line 450 of file dbus-protocol.h.

## ◆ DBUS_ERROR_PROPERTY_READ_ONLY

#define DBUS_ERROR_PROPERTY_READ_ONLY "org.freedesktop.DBus.Error.PropertyReadOnly"

Property you tried to set is read-only.

Definition at line 405 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN

#define DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN "org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown"

Asked for SELinux security context and it wasn't available.

Definition at line 446 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SERVICE_UNKNOWN

#define DBUS_ERROR_SERVICE_UNKNOWN "org.freedesktop.DBus.Error.ServiceUnknown"

The bus doesn't know how to launch a service to supply the bus name you wanted.

Definition at line 359 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_CHILD_EXITED

#define DBUS_ERROR_SPAWN_CHILD_EXITED "org.freedesktop.DBus.Error.Spawn.ChildExited"

While starting a new process, the child exited with a status code.

Definition at line 420 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_CHILD_SIGNALED

#define DBUS_ERROR_SPAWN_CHILD_SIGNALED "org.freedesktop.DBus.Error.Spawn.ChildSignaled"

While starting a new process, the child exited on a signal.

Definition at line 422 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_CONFIG_INVALID

#define DBUS_ERROR_SPAWN_CONFIG_INVALID "org.freedesktop.DBus.Error.Spawn.ConfigInvalid"

We failed to setup the config parser correctly.

Definition at line 428 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_EXEC_FAILED

#define DBUS_ERROR_SPAWN_EXEC_FAILED "org.freedesktop.DBus.Error.Spawn.ExecFailed"

While starting a new process, the exec() call failed.

Definition at line 416 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_FAILED

#define DBUS_ERROR_SPAWN_FAILED "org.freedesktop.DBus.Error.Spawn.Failed"

While starting a new process, something went wrong.

Definition at line 424 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_FILE_INVALID

#define DBUS_ERROR_SPAWN_FILE_INVALID "org.freedesktop.DBus.Error.Spawn.FileInvalid"

Service file invalid (Name, User or Exec missing).

Definition at line 436 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_FORK_FAILED

#define DBUS_ERROR_SPAWN_FORK_FAILED "org.freedesktop.DBus.Error.Spawn.ForkFailed"

While starting a new process, the fork() call failed.

Definition at line 418 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_NO_MEMORY

#define DBUS_ERROR_SPAWN_NO_MEMORY "org.freedesktop.DBus.Error.Spawn.NoMemory"

Tried to get a UNIX process ID and it wasn't available.

Definition at line 438 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_PERMISSIONS_INVALID

#define DBUS_ERROR_SPAWN_PERMISSIONS_INVALID "org.freedesktop.DBus.Error.Spawn.PermissionsInvalid"

Permissions are incorrect on the setuid helper.

Definition at line 434 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_SERVICE_INVALID

#define DBUS_ERROR_SPAWN_SERVICE_INVALID "org.freedesktop.DBus.Error.Spawn.ServiceNotValid"

Bus name was not valid.

Definition at line 430 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND

#define DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND "org.freedesktop.DBus.Error.Spawn.ServiceNotFound"

Service file not found in system-services directory.

Definition at line 432 of file dbus-protocol.h.

## ◆ DBUS_ERROR_SPAWN_SETUP_FAILED

#define DBUS_ERROR_SPAWN_SETUP_FAILED "org.freedesktop.DBus.Error.Spawn.FailedToSetup"

We failed to setup the environment correctly.

Definition at line 426 of file dbus-protocol.h.

## ◆ DBUS_ERROR_TIMED_OUT

#define DBUS_ERROR_TIMED_OUT "org.freedesktop.DBus.Error.TimedOut"

Certain timeout errors, e.g.

while starting a service.

Warning
  this is confusingly-named given that DBUS_ERROR_TIMEOUT also exists. We can't fix it for compatibility reasons so just be careful.

Definition at line 410 of file dbus-protocol.h.

## ◆ DBUS_ERROR_TIMEOUT

#define DBUS_ERROR_TIMEOUT "org.freedesktop.DBus.Error.Timeout"

Certain timeout errors, possibly ETIMEDOUT on a socket.

Note that DBUS_ERROR_NO_REPLY is used for message reply timeouts.

Warning
  this is confusingly-named given that DBUS_ERROR_TIMED_OUT also exists. We can't fix it for compatibility reasons so just be careful.

Definition at line 383 of file dbus-protocol.h.

## ◆ DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN

#define DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN "org.freedesktop.DBus.Error.UnixProcessIdUnknown"

Tried to get a UNIX process ID and it wasn't available.

Definition at line 440 of file dbus-protocol.h.

## ◆ DBUS_ERROR_UNKNOWN_INTERFACE

#define DBUS_ERROR_UNKNOWN_INTERFACE "org.freedesktop.DBus.Error.UnknownInterface"

Interface you invoked a method on isn't known by the object.

Definition at line 401 of file dbus-protocol.h.

## ◆ DBUS_ERROR_UNKNOWN_METHOD

#define DBUS_ERROR_UNKNOWN_METHOD "org.freedesktop.DBus.Error.UnknownMethod"

Method name you invoked isn't known by the object you invoked it on.

Definition at line 397 of file dbus-protocol.h.

## ◆ DBUS_ERROR_UNKNOWN_OBJECT

#define DBUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject"

Object you invoked a method on isn't known.

Definition at line 399 of file dbus-protocol.h.

## ◆ DBUS_ERROR_UNKNOWN_PROPERTY

#define DBUS_ERROR_UNKNOWN_PROPERTY "org.freedesktop.DBus.Error.UnknownProperty"

Property you tried to access isn't known by the object.

Definition at line 403 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_DESTINATION

#define DBUS_HEADER_FIELD_DESTINATION 6

Header field code for the destination bus name of a message.

See dbus_message_set_destination().

Definition at line 288 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_ERROR_NAME

#define DBUS_HEADER_FIELD_ERROR_NAME 4

Header field code for an error name (found in DBUS_MESSAGE_TYPE_ERROR messages).

See dbus_message_set_error_name().

Definition at line 280 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_INTERFACE

#define DBUS_HEADER_FIELD_INTERFACE 2

Header field code for the interface containing a member (method or signal).

See dbus_message_set_interface().

Definition at line 274 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_LAST

#define DBUS_HEADER_FIELD_LAST DBUS_HEADER_FIELD_UNIX_FDS

Value of the highest-numbered header field code, can be used to determine the size of an array indexed by header field code.

Remember though that unknown codes must be ignored, so check for that before indexing the array.

Definition at line 311 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_MEMBER

#define DBUS_HEADER_FIELD_MEMBER 3

Header field code for a member (method or signal).

See dbus_message_set_member().

Definition at line 276 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_PATH

#define DBUS_HEADER_FIELD_PATH 1

Header field code for the path - the path is the object emitting a signal or the object receiving a method call.

See dbus_message_set_path().

Definition at line 270 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_REPLY_SERIAL

#define DBUS_HEADER_FIELD_REPLY_SERIAL 5

Header field code for a reply serial, used to match a DBUS_MESSAGE_TYPE_METHOD_RETURN message with the message that it's a reply to.

See dbus_message_set_reply_serial().

Definition at line 284 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FIELD_SENDER

#define DBUS_HEADER_FIELD_SENDER 7

Header field code for the sender of a message; usually initialized by the message bus.

See dbus_message_set_sender().

Definition at line 293 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FLAG_NO_AUTO_START

#define DBUS_HEADER_FLAG_NO_AUTO_START 0x2

If set, this flag means that even if the message bus knows how to start an owner for the destination bus name (see dbus_message_set_destination()), it should not do so.

If this flag is not set, the bus may launch a program to process the message.

Definition at line 256 of file dbus-protocol.h.

## ◆ DBUS_HEADER_FLAG_NO_REPLY_EXPECTED

#define DBUS_HEADER_FLAG_NO_REPLY_EXPECTED 0x1

If set, this flag means that the sender of a message does not care about getting a reply, so the recipient need not send one.

See dbus_message_set_no_reply().

Definition at line 249 of file dbus-protocol.h.

## ◆ DBUS_HEADER_SIGNATURE

#define DBUS_HEADER_SIGNATURE

Value:
DBUS_TYPE_BYTE_AS_STRING \
DBUS_TYPE_BYTE_AS_STRING \
DBUS_TYPE_BYTE_AS_STRING \
DBUS_TYPE_BYTE_AS_STRING \
DBUS_TYPE_UINT32_AS_STRING \
DBUS_TYPE_UINT32_AS_STRING \
DBUS_TYPE_ARRAY_AS_STRING \
DBUS_STRUCT_BEGIN_CHAR_AS_STRING \
DBUS_TYPE_BYTE_AS_STRING \
DBUS_TYPE_VARIANT_AS_STRING \
DBUS_STRUCT_END_CHAR_AS_STRING

Header format is defined as a signature: byte byte order byte message type ID byte flags byte protocol version uint32 body length uint32 serial array of struct (byte,variant) (field name, value)

The length of the header can be computed as the fixed size of the initial data, plus the length of the array at the end, plus padding to an 8-boundary.

Definition at line 326 of file dbus-protocol.h.

## ◆ DBUS_LITTLE_ENDIAN

#define DBUS_LITTLE_ENDIAN ('l')

Code marking LSB-first byte order in the wire protocol.

Definition at line 53 of file dbus-protocol.h.

## ◆ DBUS_MAJOR_PROTOCOL_VERSION

#define DBUS_MAJOR_PROTOCOL_VERSION 1

Protocol version.

Definition at line 57 of file dbus-protocol.h.

## ◆ DBUS_MAXIMUM_ARRAY_LENGTH

#define DBUS_MAXIMUM_ARRAY_LENGTH (67108864)

Max length of a marshaled array in bytes (64M, 2^26) We use signed int for lengths so must be INT_MAX or less.

We need something a bit smaller than INT_MAX because the array is inside a message with header info, etc. so an INT_MAX array wouldn't allow the message overhead. The 64M number is an attempt at a larger number than we'd reasonably ever use, but small enough that your bus would chew through it fairly quickly without locking up forever. If you have data that's likely to be larger than this, you should probably be sending it in multiple incremental messages anyhow.

Definition at line 203 of file dbus-protocol.h.

## ◆ DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER

#define DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER 63

Max arg number you can match on in a match rule, e.g.

arg0='hello' is OK, arg3489720987='hello' is not

Definition at line 191 of file dbus-protocol.h.

## ◆ DBUS_MAXIMUM_MESSAGE_UNIX_FDS

#define DBUS_MAXIMUM_MESSAGE_UNIX_FDS (DBUS_MAXIMUM_MESSAGE_LENGTH/4)

The maximum total number of unix fds in a message.

Similar rationale as DBUS_MAXIMUM_MESSAGE_LENGTH. However we divide by four given that one fd is an int and hence at least 32 bits.

Definition at line 218 of file dbus-protocol.h.

## ◆ DBUS_MAXIMUM_NAME_LENGTH

#define DBUS_MAXIMUM_NAME_LENGTH 255

Max length in bytes of a bus name, interface, or member (not object path, paths are unlimited).

This is limited because lots of stuff is O(n) in this number, plus it would be obnoxious to type in a paragraph-long method name so most likely something like that would be an exploit.

Definition at line 178 of file dbus-protocol.h.

## ◆ DBUS_MAXIMUM_TYPE_RECURSION_DEPTH

#define DBUS_MAXIMUM_TYPE_RECURSION_DEPTH 32

Depth of recursion in the type tree.

This is automatically limited to DBUS_MAXIMUM_SIGNATURE_LENGTH since you could only have an array of array of array of ... that fit in the max signature. But that's probably a bit too large.

Definition at line 227 of file dbus-protocol.h.

## ◆ DBUS_MINIMUM_HEADER_SIZE

#define DBUS_MINIMUM_HEADER_SIZE 16

The smallest header size that can occur.

(It won't be valid due to missing required header fields.) This is 4 bytes, two uint32, an array length. This isn't any kind of resource limit, just the necessary/logical outcome of the header signature.

Definition at line 346 of file dbus-protocol.h.

## ◆ DBUS_NUMBER_OF_TYPES

#define DBUS_NUMBER_OF_TYPES (16)

Does not include DBUS_TYPE_INVALID, DBUS_STRUCT_BEGIN_CHAR, DBUS_STRUCT_END_CHAR, DBUS_DICT_ENTRY_BEGIN_CHAR, or DBUS_DICT_ENTRY_END_CHAR - i.e.

it is the number of valid types, not the number of distinct characters that may appear in a type signature.

Definition at line 151 of file dbus-protocol.h.

## ◆ DBUS_TYPE_STRUCT

#define DBUS_TYPE_STRUCT ((int) 'r')

STRUCT and DICT_ENTRY are sort of special since their codes can't appear in a type string, instead DBUS_STRUCT_BEGIN_CHAR/DBUS_DICT_ENTRY_BEGIN_CHAR have to appear.

Type code used to represent a struct; however, this type code does not appear in type signatures, instead DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR will appear in a signature.

Definition at line 136 of file dbus-protocol.h.