#include <systemd/sd-bus.h>
#define SD_BUS_ERROR_FAILED "org.freedesktop.DBus.Error.Failed" #define SD_BUS_ERROR_NO_MEMORY "org.freedesktop.DBus.Error.NoMemory" #define SD_BUS_ERROR_SERVICE_UNKNOWN "org.freedesktop.DBus.Error.ServiceUnknown" #define SD_BUS_ERROR_NAME_HAS_NO_OWNER "org.freedesktop.DBus.Error.NameHasNoOwner" #define SD_BUS_ERROR_NO_REPLY "org.freedesktop.DBus.Error.NoReply" #define SD_BUS_ERROR_IO_ERROR "org.freedesktop.DBus.Error.IOError" #define SD_BUS_ERROR_BAD_ADDRESS "org.freedesktop.DBus.Error.BadAddress" #define SD_BUS_ERROR_NOT_SUPPORTED "org.freedesktop.DBus.Error.NotSupported" #define SD_BUS_ERROR_LIMITS_EXCEEDED "org.freedesktop.DBus.Error.LimitsExceeded" #define SD_BUS_ERROR_ACCESS_DENIED "org.freedesktop.DBus.Error.AccessDenied" #define SD_BUS_ERROR_AUTH_FAILED "org.freedesktop.DBus.Error.AuthFailed" #define SD_BUS_ERROR_NO_SERVER "org.freedesktop.DBus.Error.NoServer" #define SD_BUS_ERROR_TIMEOUT "org.freedesktop.DBus.Error.Timeout" #define SD_BUS_ERROR_NO_NETWORK "org.freedesktop.DBus.Error.NoNetwork" #define SD_BUS_ERROR_ADDRESS_IN_USE "org.freedesktop.DBus.Error.AddressInUse" #define SD_BUS_ERROR_DISCONNECTED "org.freedesktop.DBus.Error.Disconnected" #define SD_BUS_ERROR_INVALID_ARGS "org.freedesktop.DBus.Error.InvalidArgs" #define SD_BUS_ERROR_FILE_NOT_FOUND "org.freedesktop.DBus.Error.FileNotFound" #define SD_BUS_ERROR_FILE_EXISTS "org.freedesktop.DBus.Error.FileExists" #define SD_BUS_ERROR_UNKNOWN_METHOD "org.freedesktop.DBus.Error.UnknownMethod" #define SD_BUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject" #define SD_BUS_ERROR_UNKNOWN_INTERFACE "org.freedesktop.DBus.Error.UnknownInterface" #define SD_BUS_ERROR_UNKNOWN_PROPERTY "org.freedesktop.DBus.Error.UnknownProperty" #define SD_BUS_ERROR_PROPERTY_READ_ONLY "org.freedesktop.DBus.Error.PropertyReadOnly" #define SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN "org.freedesktop.DBus.Error.UnixProcessIdUnknown" #define SD_BUS_ERROR_INVALID_SIGNATURE "org.freedesktop.DBus.Error.InvalidSignature" #define SD_BUS_ERROR_INCONSISTENT_MESSAGE "org.freedesktop.DBus.Error.InconsistentMessage" #define SD_BUS_ERROR_MATCH_RULE_NOT_FOUND "org.freedesktop.DBus.Error.MatchRuleNotFound" #define SD_BUS_ERROR_MATCH_RULE_INVALID "org.freedesktop.DBus.Error.MatchRuleInvalid" #define SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED \ "org.freedesktop.DBus.Error.InteractiveAuthorizationRequired"
In addition to the error names user programs define, D-Bus knows a number of generic, standardized error names that are listed below.
In addition to this list, in sd-bus, the special error namespace "System.Error." is used to map arbitrary Linux system errors (as defined by errno(3)) to D-Bus errors and back. For example, the error EUCLEAN is mapped to "System.Error.EUCLEAN" and back.
SD_BUS_ERROR_FAILED
SD_BUS_ERROR_NO_MEMORY
SD_BUS_ERROR_SERVICE_UNKNOWN
SD_BUS_ERROR_NAME_HAS_NO_OWNER
SD_BUS_ERROR_NO_REPLY
SD_BUS_ERROR_IO_ERROR
SD_BUS_ERROR_BAD_ADDRESS
SD_BUS_ERROR_NOT_SUPPORTED
SD_BUS_ERROR_LIMITS_EXCEEDED
SD_BUS_ERROR_ACCESS_DENIED
SD_BUS_ERROR_AUTH_FAILED
SD_BUS_ERROR_NO_SERVER
SD_BUS_ERROR_TIMEOUT
SD_BUS_ERROR_NO_NETWORK
SD_BUS_ERROR_ADDRESS_IN_USE
SD_BUS_ERROR_DISCONNECTED
SD_BUS_ERROR_INVALID_ARGS
SD_BUS_ERROR_FILE_NOT_FOUND
SD_BUS_ERROR_FILE_EXISTS
SD_BUS_ERROR_UNKNOWN_METHOD
SD_BUS_ERROR_UNKNOWN_OBJECT
SD_BUS_ERROR_UNKNOWN_INTERFACE
SD_BUS_ERROR_UNKNOWN_PROPERTY
SD_BUS_ERROR_PROPERTY_READ_ONLY
SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
SD_BUS_ERROR_INVALID_SIGNATURE
SD_BUS_ERROR_INCONSISTENT_MESSAGE
SD_BUS_ERROR_MATCH_RULE_NOT_FOUND
SD_BUS_ERROR_MATCH_RULE_INVALID
SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED
These APIs are implemented as a shared library, which can be compiled and linked to with the libsystemd pkg-config(1) file.
systemd(1), sd-bus(3), sd_bus_error(3), sd_bus_message_set_allow_interactive_authorization(3), errno(3), strerror(3)