Protocol constants
D-Bus low-level public API

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

## 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_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_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

#define DBUS_BIG_ENDIAN ('B')

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

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

Referenced by _dbus_header_create(), _dbus_header_have_message_untrusted(), _dbus_marshal_skip_basic(), and _dbus_verbose_bytes().

#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 368 of file dbus-protocol.h.

Referenced by _dbus_error_from_errno().

#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 382 of file dbus-protocol.h.

Referenced by _dbus_error_from_errno(), and dbus_server_listen().

#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 443 of file dbus-protocol.h.

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

Authentication didn't work.

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

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

A D-Bus bus address was malformed.

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

Referenced by _dbus_connect_unix_socket(), _dbus_listen_systemd_sockets(), _dbus_listen_tcp_socket(), _dbus_listen_unix_socket(), _dbus_server_new_for_launchd(), _dbus_set_bad_address(), _dbus_transport_open_platform_specific(), dbus_parse_address(), and dbus_server_listen().

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

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

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

Referenced by _dbus_connection_block_pending_call(), and dbus_connection_send_with_reply_and_block().

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

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

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

Referenced by _dbus_babysitter_set_child_exit_error(), _dbus_become_daemon(), _dbus_change_to_daemon_user(), _dbus_check_dir_is_private_to_user(), _dbus_create_directory(), _dbus_create_file_exclusively(), _dbus_delete_directory(), _dbus_delete_file(), _dbus_error_from_errno(), _dbus_file_get_contents(), _dbus_full_duplex_pipe(), _dbus_get_autolaunch_address(), _dbus_is_console_user(), _dbus_keyring_get_best_key(), _dbus_keyring_new_for_credentials(), _dbus_make_file_world_readable(), _dbus_read_credentials_socket(), _dbus_server_new_for_launchd(), _dbus_write_pid_to_file_and_pipe(), and dbus_connection_send_with_reply_and_block().

#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 390 of file dbus-protocol.h.

Referenced by _dbus_error_from_errno().

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

Missing file.

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

Referenced by _dbus_error_from_errno().

#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 448 of file dbus-protocol.h.

Referenced by _dbus_message_iter_get_args_valist().

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

Invalid arguments passed to a method call.

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

Referenced by _dbus_listen_tcp_socket(), _dbus_message_iter_get_args_valist(), dbus_message_demarshal(), dbus_validate_bus_name(), dbus_validate_error_name(), dbus_validate_interface(), dbus_validate_member(), dbus_validate_path(), and dbus_validate_utf8().

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

A file contains invalid syntax or is otherwise broken.

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

Referenced by _dbus_read_uuid_file().

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

A type signature is not valid.

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

Referenced by dbus_signature_validate(), and dbus_signature_validate_single().

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

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

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

Referenced by _dbus_send_credentials_socket(), and _dbus_server_new_for_launchd().

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

Some limited resource is exhausted.

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

Referenced by _dbus_error_from_errno(), and _dbus_server_new_for_launchd().

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

The match rule isn't syntactically valid.

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

#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 407 of file dbus-protocol.h.

#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 356 of file dbus-protocol.h.

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

There was not enough memory to complete an operation.

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

Referenced by _dbus_babysitter_set_child_exit_error(), _dbus_directory_get_next_file(), _dbus_directory_open(), _dbus_error_from_errno(), _dbus_keyring_new_for_credentials(), _dbus_listen_systemd_sockets(), _dbus_listen_tcp_socket(), _dbus_read_local_machine_uuid(), _dbus_server_listen_platform_specific(), _dbus_server_new_for_domain_socket(), _dbus_server_new_for_launchd(), _dbus_server_new_for_tcp_socket(), _dbus_spawn_async_with_babysitter(), _dbus_string_save_to_file(), _dbus_transport_new_for_domain_socket(), _dbus_transport_new_for_tcp_socket(), _dbus_transport_open_platform_specific(), _dbus_user_database_lookup(), _dbus_user_database_lookup_group(), and dbus_parse_address().

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

No network access (probably ENETUNREACH on a socket).

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

Referenced by _dbus_error_from_errno().

#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 358 of file dbus-protocol.h.

Referenced by _dbus_pending_call_set_timeout_error_unlocked().

#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 372 of file dbus-protocol.h.

Referenced by _dbus_error_from_errno(), and _dbus_server_new_for_launchd().

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

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

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

Referenced by _dbus_connect_unix_socket(), _dbus_error_from_errno(), _dbus_get_autolaunch_address(), _dbus_keyring_new_for_credentials(), _dbus_listen_unix_socket(), _dbus_lookup_launchd_socket(), _dbus_message_iter_get_args_valist(), and _dbus_unix_user_is_at_console().

#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 445 of file dbus-protocol.h.

Referenced by _dbus_object_tree_register(), dbus_connection_register_fallback(), and dbus_connection_register_object_path().

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

Property you tried to set is read-only.

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

#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 441 of file dbus-protocol.h.

#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 354 of file dbus-protocol.h.

#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 415 of file dbus-protocol.h.

Referenced by _dbus_babysitter_set_child_exit_error().

#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 417 of file dbus-protocol.h.

Referenced by _dbus_babysitter_set_child_exit_error().

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

We failed to setup the config parser correctly.

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

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

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

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

Referenced by _dbus_babysitter_set_child_exit_error().

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

While starting a new process, something went wrong.

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

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

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

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

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

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

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

Referenced by _dbus_spawn_async_with_babysitter().

#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 433 of file dbus-protocol.h.

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

Permissions are incorrect on the setuid helper.

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

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

Bus name was not valid.

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

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

Service file not found in system-services directory.

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

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

We failed to setup the environment correctly.

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

#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 405 of file dbus-protocol.h.

#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 378 of file dbus-protocol.h.

Referenced by _dbus_error_from_errno().

#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 435 of file dbus-protocol.h.

#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 396 of file dbus-protocol.h.

#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 392 of file dbus-protocol.h.

Referenced by dbus_connection_dispatch().

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

Object you invoked a method on isn't known.

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

Referenced by dbus_connection_dispatch().

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

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

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

#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 283 of file dbus-protocol.h.

Referenced by _dbus_header_create(), dbus_message_get_destination(), and dbus_message_set_destination().

#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 275 of file dbus-protocol.h.

Referenced by _dbus_header_create(), dbus_message_get_error_name(), and dbus_message_set_error_name().

#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 269 of file dbus-protocol.h.

Referenced by _dbus_header_create(), dbus_message_get_interface(), and dbus_message_set_interface().

#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 306 of file dbus-protocol.h.

Referenced by _dbus_header_get_field_basic(), _dbus_header_load(), and _dbus_header_set_field_basic().

#define DBUS_HEADER_FIELD_MEMBER 3

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

See dbus_message_set_member().

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

Referenced by _dbus_header_create(), dbus_message_get_member(), and dbus_message_set_member().

#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 265 of file dbus-protocol.h.

Referenced by _dbus_header_create(), dbus_message_get_path(), and dbus_message_set_path().

#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 279 of file dbus-protocol.h.

Referenced by dbus_message_get_reply_serial(), and dbus_message_set_reply_serial().

#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 288 of file dbus-protocol.h.

Referenced by dbus_message_get_sender(), and dbus_message_set_sender().

#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.

Referenced by dbus_message_get_auto_start(), and dbus_message_set_auto_start().

#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.

Referenced by dbus_message_get_no_reply(), and dbus_message_set_no_reply().

#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 321 of file dbus-protocol.h.

#define DBUS_LITTLE_ENDIAN ('l')

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

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

Referenced by _dbus_header_create(), _dbus_header_have_message_untrusted(), _dbus_marshal_skip_basic(), _dbus_unpack_uint16(), _dbus_unpack_uint32(), and _dbus_verbose_bytes().

#define DBUS_MAJOR_PROTOCOL_VERSION 1

Protocol version.

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

Referenced by _dbus_header_create(), and _dbus_header_load().

#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.

Referenced by dbus_message_iter_append_fixed_array().

#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.

#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.

Referenced by _dbus_message_loader_set_max_message_unix_fds().

#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.

Referenced by _dbus_validate_interface(), and _dbus_validate_member().

#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.

Referenced by _dbus_validate_signature_with_reason().

#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 341 of file dbus-protocol.h.

Referenced by _dbus_message_loader_queue_messages(), and dbus_message_demarshal_bytes_needed().

#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.

#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.

Referenced by _dbus_header_load(), _dbus_type_get_alignment(), _dbus_type_reader_recurse(), _dbus_type_to_string(), _dbus_type_writer_unrecurse(), _dbus_validate_signature_with_reason(), dbus_message_iter_open_container(), and dbus_type_is_valid().