mirror of
https://github.com/systemd/systemd.git
synced 2025-03-06 00:58:29 +03:00
man: fully document sd-bus' error APIs
[@zonque: Some minor nits fixed as pointed out by @ronnychevalier, dropped class='sd-bus-errors' to fix python logic]
This commit is contained in:
parent
1161d5d28b
commit
9d3e5d11be
189
Makefile-man.am
189
Makefile-man.am
@ -24,6 +24,7 @@ MANPAGES += \
|
||||
man/machine-id.5 \
|
||||
man/machine-info.5 \
|
||||
man/os-release.5 \
|
||||
man/sd-bus-errors.3 \
|
||||
man/sd-daemon.3 \
|
||||
man/sd-id128.3 \
|
||||
man/sd-journal.3 \
|
||||
@ -32,6 +33,7 @@ MANPAGES += \
|
||||
man/sd_bus_creds_new_from_pid.3 \
|
||||
man/sd_bus_default.3 \
|
||||
man/sd_bus_error.3 \
|
||||
man/sd_bus_error_add_map.3 \
|
||||
man/sd_bus_message_append.3 \
|
||||
man/sd_bus_message_append_array.3 \
|
||||
man/sd_bus_message_append_basic.3 \
|
||||
@ -161,6 +163,40 @@ MANPAGES += \
|
||||
man/udevadm.8
|
||||
MANPAGES_ALIAS += \
|
||||
man/SD_ALERT.3 \
|
||||
man/SD_BUS_ERROR_ACCESS_DENIED.3 \
|
||||
man/SD_BUS_ERROR_ADDRESS_IN_USE.3 \
|
||||
man/SD_BUS_ERROR_AUTH_FAILED.3 \
|
||||
man/SD_BUS_ERROR_BAD_ADDRESS.3 \
|
||||
man/SD_BUS_ERROR_DISCONNECTED.3 \
|
||||
man/SD_BUS_ERROR_END.3 \
|
||||
man/SD_BUS_ERROR_FAILED.3 \
|
||||
man/SD_BUS_ERROR_FILE_EXISTS.3 \
|
||||
man/SD_BUS_ERROR_FILE_NOT_FOUND.3 \
|
||||
man/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3 \
|
||||
man/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3 \
|
||||
man/SD_BUS_ERROR_INVALID_ARGS.3 \
|
||||
man/SD_BUS_ERROR_INVALID_SIGNATURE.3 \
|
||||
man/SD_BUS_ERROR_IO_ERROR.3 \
|
||||
man/SD_BUS_ERROR_LIMITS_EXCEEDED.3 \
|
||||
man/SD_BUS_ERROR_MAKE_CONST.3 \
|
||||
man/SD_BUS_ERROR_MAP.3 \
|
||||
man/SD_BUS_ERROR_MATCH_RULE_INVALID.3 \
|
||||
man/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3 \
|
||||
man/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3 \
|
||||
man/SD_BUS_ERROR_NOT_SUPPORTED.3 \
|
||||
man/SD_BUS_ERROR_NO_MEMORY.3 \
|
||||
man/SD_BUS_ERROR_NO_NETWORK.3 \
|
||||
man/SD_BUS_ERROR_NO_REPLY.3 \
|
||||
man/SD_BUS_ERROR_NO_SERVER.3 \
|
||||
man/SD_BUS_ERROR_NULL.3 \
|
||||
man/SD_BUS_ERROR_PROPERTY_READ_ONLY.3 \
|
||||
man/SD_BUS_ERROR_SERVICE_UNKNOWN.3 \
|
||||
man/SD_BUS_ERROR_TIMEOUT.3 \
|
||||
man/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3 \
|
||||
man/SD_BUS_ERROR_UNKNOWN_INTERFACE.3 \
|
||||
man/SD_BUS_ERROR_UNKNOWN_METHOD.3 \
|
||||
man/SD_BUS_ERROR_UNKNOWN_OBJECT.3 \
|
||||
man/SD_BUS_ERROR_UNKNOWN_PROPERTY.3 \
|
||||
man/SD_CRIT.3 \
|
||||
man/SD_DEBUG.3 \
|
||||
man/SD_EMERG.3 \
|
||||
@ -231,10 +267,13 @@ MANPAGES_ALIAS += \
|
||||
man/sd_bus_error_get_errno.3 \
|
||||
man/sd_bus_error_has_name.3 \
|
||||
man/sd_bus_error_is_set.3 \
|
||||
man/sd_bus_error_map.3 \
|
||||
man/sd_bus_error_set.3 \
|
||||
man/sd_bus_error_set_const.3 \
|
||||
man/sd_bus_error_set_errno.3 \
|
||||
man/sd_bus_error_set_errnof.3 \
|
||||
man/sd_bus_error_set_errnofv.3 \
|
||||
man/sd_bus_error_setf.3 \
|
||||
man/sd_bus_message_append_array_iovec.3 \
|
||||
man/sd_bus_message_append_array_memfd.3 \
|
||||
man/sd_bus_message_append_array_space.3 \
|
||||
@ -408,6 +447,40 @@ MANPAGES_ALIAS += \
|
||||
man/udev_unref.3 \
|
||||
man/user.conf.d.5
|
||||
man/SD_ALERT.3: man/sd-daemon.3
|
||||
man/SD_BUS_ERROR_ACCESS_DENIED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_ADDRESS_IN_USE.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_AUTH_FAILED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_BAD_ADDRESS.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_DISCONNECTED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_END.3: man/sd_bus_error_add_map.3
|
||||
man/SD_BUS_ERROR_FAILED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_FILE_EXISTS.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_FILE_NOT_FOUND.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_INVALID_ARGS.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_INVALID_SIGNATURE.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_IO_ERROR.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_LIMITS_EXCEEDED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_MAKE_CONST.3: man/sd_bus_error.3
|
||||
man/SD_BUS_ERROR_MAP.3: man/sd_bus_error_add_map.3
|
||||
man/SD_BUS_ERROR_MATCH_RULE_INVALID.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NAME_HAS_NO_OWNER.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NOT_SUPPORTED.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NO_MEMORY.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NO_NETWORK.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NO_REPLY.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NO_SERVER.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_NULL.3: man/sd_bus_error.3
|
||||
man/SD_BUS_ERROR_PROPERTY_READ_ONLY.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_SERVICE_UNKNOWN.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_TIMEOUT.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_UNKNOWN_INTERFACE.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_UNKNOWN_METHOD.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_UNKNOWN_OBJECT.3: man/sd-bus-errors.3
|
||||
man/SD_BUS_ERROR_UNKNOWN_PROPERTY.3: man/sd-bus-errors.3
|
||||
man/SD_CRIT.3: man/sd-daemon.3
|
||||
man/SD_DEBUG.3: man/sd-daemon.3
|
||||
man/SD_EMERG.3: man/sd-daemon.3
|
||||
@ -478,10 +551,13 @@ man/sd_bus_error_free.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_get_errno.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_has_name.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_is_set.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_map.3: man/sd_bus_error_add_map.3
|
||||
man/sd_bus_error_set.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_set_const.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_set_errno.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_set_errnof.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_set_errnofv.3: man/sd_bus_error.3
|
||||
man/sd_bus_error_setf.3: man/sd_bus_error.3
|
||||
man/sd_bus_message_append_array_iovec.3: man/sd_bus_message_append_array.3
|
||||
man/sd_bus_message_append_array_memfd.3: man/sd_bus_message_append_array.3
|
||||
man/sd_bus_message_append_array_space.3: man/sd_bus_message_append_array.3
|
||||
@ -657,6 +733,108 @@ man/user.conf.d.5: man/systemd-system.conf.5
|
||||
man/SD_ALERT.html: man/sd-daemon.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_ACCESS_DENIED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_ADDRESS_IN_USE.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_AUTH_FAILED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_BAD_ADDRESS.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_DISCONNECTED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_END.html: man/sd_bus_error_add_map.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_FAILED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_FILE_EXISTS.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_FILE_NOT_FOUND.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_INCONSISTENT_MESSAGE.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_INVALID_ARGS.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_INVALID_SIGNATURE.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_IO_ERROR.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_LIMITS_EXCEEDED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_MAKE_CONST.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_MAP.html: man/sd_bus_error_add_map.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_MATCH_RULE_INVALID.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_MATCH_RULE_NOT_FOUND.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NAME_HAS_NO_OWNER.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NOT_SUPPORTED.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NO_MEMORY.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NO_NETWORK.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NO_REPLY.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NO_SERVER.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_NULL.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_PROPERTY_READ_ONLY.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_SERVICE_UNKNOWN.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_TIMEOUT.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_UNKNOWN_INTERFACE.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_UNKNOWN_METHOD.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_UNKNOWN_OBJECT.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_BUS_ERROR_UNKNOWN_PROPERTY.html: man/sd-bus-errors.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_CRIT.html: man/sd-daemon.html
|
||||
$(html-alias)
|
||||
|
||||
@ -867,6 +1045,9 @@ man/sd_bus_error_has_name.html: man/sd_bus_error.html
|
||||
man/sd_bus_error_is_set.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_error_map.html: man/sd_bus_error_add_map.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_error_set.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
@ -879,6 +1060,12 @@ man/sd_bus_error_set_errno.html: man/sd_bus_error.html
|
||||
man/sd_bus_error_set_errnof.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_error_set_errnofv.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_error_setf.html: man/sd_bus_error.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_message_append_array_iovec.html: man/sd_bus_message_append_array.html
|
||||
$(html-alias)
|
||||
|
||||
@ -2015,6 +2202,7 @@ EXTRA_DIST += \
|
||||
man/pam_systemd.xml \
|
||||
man/resolved.conf.xml \
|
||||
man/runlevel.xml \
|
||||
man/sd-bus-errors.xml \
|
||||
man/sd-daemon.xml \
|
||||
man/sd-id128.xml \
|
||||
man/sd-journal.xml \
|
||||
@ -2024,6 +2212,7 @@ EXTRA_DIST += \
|
||||
man/sd_bus_creds_new_from_pid.xml \
|
||||
man/sd_bus_default.xml \
|
||||
man/sd_bus_error.xml \
|
||||
man/sd_bus_error_add_map.xml \
|
||||
man/sd_bus_message_append.xml \
|
||||
man/sd_bus_message_append_array.xml \
|
||||
man/sd_bus_message_append_basic.xml \
|
||||
|
309
man/sd-bus-errors.xml
Normal file
309
man/sd-bus-errors.xml
Normal file
@ -0,0 +1,309 @@
|
||||
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
This file is part of systemd.
|
||||
|
||||
Copyright 2015 Lennart Poettering
|
||||
|
||||
systemd is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
systemd is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="sd-bus-errors">
|
||||
|
||||
<refentryinfo>
|
||||
<title>sd-bus-errors</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>sd-bus-errors</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>sd-bus-errors</refname>
|
||||
<refname>SD_BUS_ERROR_FAILED</refname>
|
||||
<refname>SD_BUS_ERROR_NO_MEMORY</refname>
|
||||
<refname>SD_BUS_ERROR_SERVICE_UNKNOWN</refname>
|
||||
<refname>SD_BUS_ERROR_NAME_HAS_NO_OWNER</refname>
|
||||
<refname>SD_BUS_ERROR_NO_REPLY</refname>
|
||||
<refname>SD_BUS_ERROR_IO_ERROR</refname>
|
||||
<refname>SD_BUS_ERROR_BAD_ADDRESS</refname>
|
||||
<refname>SD_BUS_ERROR_NOT_SUPPORTED</refname>
|
||||
<refname>SD_BUS_ERROR_LIMITS_EXCEEDED</refname>
|
||||
<refname>SD_BUS_ERROR_ACCESS_DENIED</refname>
|
||||
<refname>SD_BUS_ERROR_AUTH_FAILED</refname>
|
||||
<refname>SD_BUS_ERROR_NO_SERVER</refname>
|
||||
<refname>SD_BUS_ERROR_TIMEOUT</refname>
|
||||
<refname>SD_BUS_ERROR_NO_NETWORK</refname>
|
||||
<refname>SD_BUS_ERROR_ADDRESS_IN_USE</refname>
|
||||
<refname>SD_BUS_ERROR_DISCONNECTED</refname>
|
||||
<refname>SD_BUS_ERROR_INVALID_ARGS</refname>
|
||||
<refname>SD_BUS_ERROR_FILE_NOT_FOUND</refname>
|
||||
<refname>SD_BUS_ERROR_FILE_EXISTS</refname>
|
||||
<refname>SD_BUS_ERROR_UNKNOWN_METHOD</refname>
|
||||
<refname>SD_BUS_ERROR_UNKNOWN_OBJECT</refname>
|
||||
<refname>SD_BUS_ERROR_UNKNOWN_INTERFACE</refname>
|
||||
<refname>SD_BUS_ERROR_UNKNOWN_PROPERTY</refname>
|
||||
<refname>SD_BUS_ERROR_PROPERTY_READ_ONLY</refname>
|
||||
<refname>SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN</refname>
|
||||
<refname>SD_BUS_ERROR_INVALID_SIGNATURE</refname>
|
||||
<refname>SD_BUS_ERROR_INCONSISTENT_MESSAGE</refname>
|
||||
<refname>SD_BUS_ERROR_MATCH_RULE_NOT_FOUND</refname>
|
||||
<refname>SD_BUS_ERROR_MATCH_RULE_INVALID</refname>
|
||||
<refname>SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED</refname>
|
||||
|
||||
<refpurpose>Standard D-Bus error names</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<funcsynopsis>
|
||||
<funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo>
|
||||
|
||||
<funcsynopsisinfo>#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"</funcsynopsisinfo>
|
||||
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>In addition to the error names user programs define, D-Bus
|
||||
knows a number of generic, standardized error names, that are
|
||||
listed below.</para>
|
||||
|
||||
<para>In addition to this list, in sd-bus the special error
|
||||
namespace <literal>System.Error.</literal> is used to map
|
||||
arbitrary Linux system errors (as defined by <citerefentry
|
||||
project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>)
|
||||
to D-Bus errors and back. For example, the error
|
||||
<constant>EUCLEAN</constant> is mapped to
|
||||
<literal>System.Error.EUCLEAN</literal> and back.</para>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_FAILED</varname></term>
|
||||
<listitem><para>A generic error indication. See the error
|
||||
message for further details. This error name should be
|
||||
avoided, in favour of a more expressive error
|
||||
name.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_NO_MEMORY</varname></term>
|
||||
<listitem><para>A memory allocation failed, and the requested
|
||||
operation could not be completed.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_SERVICE_UNKNOWN</varname></term>
|
||||
<listitem><para>The contacted bus service is unknown and
|
||||
cannot be activated.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_NAME_HAS_NO_OWNER</varname></term>
|
||||
<listitem><para>The specified bus service name currently has
|
||||
no owner.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_NO_REPLY</varname></term>
|
||||
<listitem><para>A message did not receive a reply. This error
|
||||
is usually generated after a timeout.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_IO_ERROR</varname></term>
|
||||
<listitem><para>Generic input/output error, for example when
|
||||
accessing a socket or other IO context.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_BAD_ADDRESS</varname></term>
|
||||
<listitem><para>The specified D-Bus bus address string is
|
||||
malformed.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_NOT_SUPPORTED</varname></term>
|
||||
<listitem><para>The requested operation is not supported on
|
||||
the local system.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_LIMITS_EXCEEDED</varname></term>
|
||||
<listitem><para>Some limited resource has been
|
||||
exhausted.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_ACCESS_DENIED</varname></term>
|
||||
<listitem><para>Access to a resource has bee denied, due to security restrictions.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_AUTH_FAILED</varname></term>
|
||||
<listitem><para>Authentication did not complete successfully.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_NO_SERVER</varname></term>
|
||||
<listitem><para>Unable to connect to the specified server.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_TIMEOUT</varname></term>
|
||||
<listitem><para>An operation timed out. Note that method calls
|
||||
which timeout generate a
|
||||
<varname>SD_BUS_ERROR_NO_REPLY</varname>.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_NO_NETWORK</varname></term>
|
||||
<listitem><para>No network available to execute requested network operation on.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_ADDRESS_IN_USE</varname></term>
|
||||
<listitem><para>The specified network address is already being listened on.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_DISCONNECTED</varname></term>
|
||||
<listitem><para>The connection has been terminated.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_INVALID_ARGS</varname></term>
|
||||
<listitem><para>One or more invalid arguments have been passed.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_FILE_NOT_FOUND</varname></term>
|
||||
<listitem><para>The requested file could not be found.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_FILE_EXISTS</varname></term>
|
||||
<listitem><para>The requested file exists already.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_UNKNOWN_METHOD</varname></term>
|
||||
<listitem><para>The requested method does not exist in the selected interface.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_UNKNOWN_OBJECT</varname></term>
|
||||
<listitem><para>The requested object does not exist in the selected service.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_UNKNOWN_INTERFACE</varname></term>
|
||||
<listitem><para>The requested interface does not exist on the selected object.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_UNKNOWN_PROPERTY</varname></term>
|
||||
<listitem><para>The requested property does not exist in the selected interface.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_PROPERTY_READ_ONLY</varname></term>
|
||||
<listitem><para>A write operation was requested on a read-only property.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN</varname></term>
|
||||
<listitem><para>The requested PID is not known.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_INVALID_SIGNATURE</varname></term>
|
||||
<listitem><para>The specified message signature is not
|
||||
valid.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_INCONSISTENT_MESSAGE</varname></term>
|
||||
<listitem><para>The passed message does not validate
|
||||
correctly.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_MATCH_RULE_NOT_FOUND</varname></term>
|
||||
<listitem><para>The specified match rule does not exist.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_MATCH_RULE_INVALID</varname></term>
|
||||
<listitem><para>The specified match rule is invalid.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED</varname></term>
|
||||
<listitem><para>Access to the requested operation is not
|
||||
permitted, however, it might be available after interactive
|
||||
authentication. This is usually returned by method calls
|
||||
supporting a framework for additional interactive
|
||||
authorization, when interactive authorization was not enabled
|
||||
with the
|
||||
<citerefentry><refentrytitle>sd_bus_message_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
for the method call message.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>The various error definitions described here are available
|
||||
as a shared library, which can be compiled and linked to with the
|
||||
<constant>libsystemd</constant> <citerefentry
|
||||
project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
file.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='die-net'><refentrytitle>strerror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -44,11 +44,15 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>sd_bus_error</refname>
|
||||
<refname>SD_BUS_ERROR_MAKE_CONST</refname>
|
||||
<refname>SD_BUS_ERROR_NULL</refname>
|
||||
<refname>sd_bus_error_free</refname>
|
||||
<refname>sd_bus_error_set</refname>
|
||||
<refname>sd_bus_error_setf</refname>
|
||||
<refname>sd_bus_error_set_const</refname>
|
||||
<refname>sd_bus_error_set_errno</refname>
|
||||
<refname>sd_bus_error_set_errnof</refname>
|
||||
<refname>sd_bus_error_set_errnofv</refname>
|
||||
<refname>sd_bus_error_get_errno</refname>
|
||||
<refname>sd_bus_error_copy</refname>
|
||||
<refname>sd_bus_error_is_set</refname>
|
||||
@ -75,7 +79,7 @@
|
||||
</para>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_error_free</function></funcdef>
|
||||
<funcdef>void <function>sd_bus_error_free</function></funcdef>
|
||||
<paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
@ -115,6 +119,14 @@
|
||||
<paramdef>...</paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_error_set_errnofv</function></funcdef>
|
||||
<paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
|
||||
<paramdef>int <parameter>error</parameter></paramdef>
|
||||
<paramdef>const char *<parameter>format</parameter></paramdef>
|
||||
<paramdef>va_list ap</paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_error_get_errno</function></funcdef>
|
||||
<paramdef>const sd_bus_error *<parameter>e</parameter></paramdef>
|
||||
@ -138,234 +150,194 @@
|
||||
</funcprototype>
|
||||
</funcsynopsis>
|
||||
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_FAILED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_NO_MEMORY</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_SERVICE_UNKNOWN</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_NAME_HAS_NO_OWNER</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_NO_REPLY</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_IO_ERROR</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_BAD_ADDRESS</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_NOT_SUPPORTED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_LIMITS_EXCEEDED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_ACCESS_DENIED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_AUTH_FAILED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_NO_SERVER</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_TIMEOUT</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_NO_NETWORK</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_ADDRESS_IN_USE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_DISCONNECTED</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_INVALID_ARGS</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_FILE_NOT_FOUND</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_FILE_EXISTS</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_UNKNOWN_METHOD</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_UNKNOWN_OBJECT</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_UNKNOWN_INTERFACE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_UNKNOWN_PROPERTY</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_PROPERTY_READ_ONLY</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_INVALID_SIGNATURE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_INCONSISTENT_MESSAGE</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_MATCH_RULE_NOT_FOUND</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_MATCH_RULE_INVALID</constant>
|
||||
</para>
|
||||
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>The <structname>sd_bus_error</structname> structure carries
|
||||
information for a <filename>sd-bus</filename> error. The
|
||||
functions described below can be used to set and query fields in
|
||||
this structure. The <structfield>name</structfield> field contains a
|
||||
short identifier of an error. It should follow the rules for error
|
||||
names described in the D-Bus specification, subsection <ulink
|
||||
information about a D-Bus error condition. The functions described
|
||||
below may be used to set and query fields in this structure. The
|
||||
<structfield>name</structfield> field contains a short identifier
|
||||
of an error. It should follow the rules for error names described
|
||||
in the D-Bus specification, subsection <ulink
|
||||
url="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names">Valid
|
||||
Names</ulink>. The <structfield>message</structfield> is a human
|
||||
readable string describing the details. When no longer necessary,
|
||||
resources held by this structure should be destroyed with
|
||||
<function>sd_bus_error_free</function>.</para>
|
||||
Names</ulink>. A number of common, standardized error names are
|
||||
described in
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
but additional domain-specific errors may be defined by
|
||||
applications. The <structfield>message</structfield> field usually
|
||||
contains a human readable string describing the details, but might
|
||||
be NULL. An unset <structname>sd_bus_error</structname> structure
|
||||
should have both fields initialized to NULL. Set an error
|
||||
structure to <constant>SD_BUS_ERROR_NULL</constant> in order to
|
||||
reset both fields to NULL. When no longer necessary, resources
|
||||
held by the <structname>sd_bus_error</structname>structure should
|
||||
be destroyed with <function>sd_bus_error_free()</function>.</para>
|
||||
|
||||
<para><function>sd_bus_error_set</function> will return an
|
||||
errno-like negative value returned based on parameter
|
||||
<parameter>name</parameter> (see
|
||||
<citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>).
|
||||
Various well-known D-Bus errors are converted to specific values,
|
||||
and the remaining ones to <constant>-ENXIO</constant>. Well-known
|
||||
D-Bus error names are available as constants
|
||||
<constant>SD_BUS_ERROR_FAILED</constant>, etc., listed above. If
|
||||
<para><function>sd_bus_error_set()</function> sets an error
|
||||
structure to the specified name and message strings. The strings
|
||||
will be copied into internal, newly allocated memory. It is
|
||||
essential to free the error structure again when it is not
|
||||
required anymore (see above). The function will return an
|
||||
<varname>errno</varname>-like negative value (see <citerefentry
|
||||
project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>)
|
||||
determined from the specified error name. Various well-known
|
||||
D-Bus errors are converted to well-known <varname>errno</varname>
|
||||
counterparts, and the other ones to <constant>-EIO</constant>. See
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
for a list of well-known error names. Additional error mappings
|
||||
may be defined with
|
||||
<citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>. If
|
||||
<parameter>e</parameter> is NULL no error structure is initialized
|
||||
but the error is still converted into an
|
||||
<varname>errno</varname>-style error. If
|
||||
<parameter>name</parameter> is <constant>NULL</constant>, it is
|
||||
assumed that no error occurred, and 0 is returned. This means that
|
||||
this function may be conveniently used in a
|
||||
<function>return</function> statement.</para>
|
||||
<function>return</function> statement. If
|
||||
<parameter>message</parameter> is NULL no message is set. This
|
||||
call can fail if no memory may be allocated for the name and
|
||||
message strings, in which case an
|
||||
<constant>SD_BUS_ERROR_NO_MEMORY</constant> error might be set
|
||||
instead and -ENOMEM returned. Do not use this call on error
|
||||
structures that are already initialized. If you intend to reuse an
|
||||
error structure free the old data stored in it with
|
||||
<function>sd_bus_error_free()</function> first.</para>
|
||||
|
||||
<para>If <parameter>e</parameter> is not
|
||||
<constant>NULL</constant>, <structfield>name</structfield> and
|
||||
<structfield>message</structfield> in the
|
||||
<structname>sd_bus_error</structname> structure
|
||||
<parameter>e</parameter> points at will be filled in. As described above,
|
||||
<parameter>name</parameter> may be <constant>NULL</constant>,
|
||||
which is treated as no error. Parameter
|
||||
<parameter>message</parameter> may also be
|
||||
<constant>NULL</constant>, in which case no message is specified.
|
||||
<function>sd_bus_error_set</function> will make internal copies of
|
||||
specified strings.</para>
|
||||
<para><function>sd_bus_error_setf()</function> is similar to
|
||||
<function>sd_bus_error_set()</function>, but takes a <citerefentry
|
||||
project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
format string and corresponding arguments to generate the
|
||||
<structfield>message</structfield> field.</para>
|
||||
|
||||
<para><function>sd_bus_error_setf</function> is similar to
|
||||
<function>sd_bus_error_set</function>, but takes a
|
||||
<citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
format string and corresponding arguments to generate
|
||||
<structname>message</structname>.</para>
|
||||
<para><function>sd_bus_error_set_const()</function> is similar to
|
||||
<function>sd_bus_error_set()</function>, but the string parameters
|
||||
are not copied internally, and must hence remain constant and
|
||||
valid for the lifetime of <parameter>e</parameter>. Use this call
|
||||
to avoid memory allocations when setting error structures. Since
|
||||
this call does not allocate memory it will not fail with an
|
||||
out-of-memory condition, as
|
||||
<function>sd_bus_error_set()</function> can, as described
|
||||
above. Alternatively, the
|
||||
<constant>SD_BUS_ERROR_MAKE_CONST()</constant> macro may be used
|
||||
to generate a literal, constant bus error structure
|
||||
on-the-fly.</para>
|
||||
|
||||
<para><function>sd_bus_error_set_const</function> is similar to
|
||||
<function>sd_bus_error_set</function>, but string parameters are
|
||||
not copied internally, and must remain valid for the lifetime of
|
||||
<parameter>e</parameter>.</para>
|
||||
|
||||
<para><function>sd_bus_error_set_errno</function> will set
|
||||
<structfield>name</structfield> based on an errno-like value.
|
||||
<citerefentry project='die-net'><refentrytitle>strerror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<para><function>sd_bus_error_set_errno()</function> will set
|
||||
<structfield>name</structfield> from an
|
||||
<varname>errno</varname>-like value that is converted to a D-Bus
|
||||
error. <citerefentry
|
||||
project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
will be used to set <structfield>message</structfield>. Well-known
|
||||
D-Bus error names will be used for <structfield>name</structfield>
|
||||
if available, otherwise a name in the
|
||||
<literal>System.Error</literal> namespace will be generated.
|
||||
</para>
|
||||
if applicable, otherwise a name in the
|
||||
<literal>System.Error.</literal> namespace will be generated. The
|
||||
sign of the specified error number is ignored. The absolute value
|
||||
is used implicitly. The call always returns a negative value, for
|
||||
convenient usage in <function>return</function> statements. This
|
||||
call might fail due to lack of memory, in which case an
|
||||
<constant>SD_BUS_ERROR_NO_MEMORY</constant> error is set instead,
|
||||
and -ENOMEM returned.</para>
|
||||
|
||||
<para><function>sd_bus_error_set_errnof</function> is similar to
|
||||
<function>sd_bus_error_set_errno</function>, but in addition to
|
||||
<parameter>name</parameter>, takes a
|
||||
<citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
format and corresponding arguments.
|
||||
<structfield>name</structfield> will be generated from
|
||||
<para><function>sd_bus_error_set_errnof()</function> is similar to
|
||||
<function>sd_bus_error_set_errno()</function>, but in addition to
|
||||
<parameter>error</parameter>, takes a <citerefentry
|
||||
project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
format string and corresponding arguments. The
|
||||
<structfield>message</structfield> field will be generated from
|
||||
<parameter>format</parameter> and the arguments.</para>
|
||||
|
||||
<para><function>sd_bus_error_get_errno</function> will convert
|
||||
<structname>e->name</structname> to an errno-like value using the
|
||||
same rules as <function>sd_bus_error_set</function>. If
|
||||
<para><function>sd_bus_error_set_errnofv()</function> is similar to
|
||||
<function>sd_bus_error_set_errnof()</function> but takes the
|
||||
format string parameters as <citerefentry
|
||||
project='man-pages'><refentrytitle>va_arg</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
parameter list.</para>
|
||||
|
||||
<para><function>sd_bus_error_get_errno()</function> converts the
|
||||
<structfield>name</structfield> field of an error structure to an
|
||||
<varname>errno</varname>-like (positive) value using the same
|
||||
rules as <function>sd_bus_error_set()</function>. If
|
||||
<parameter>e</parameter> is <constant>NULL</constant>, 0 will be
|
||||
returned.</para>
|
||||
|
||||
<para><function>sd_bus_error_copy</function> will initialize
|
||||
<para><function>sd_bus_error_copy()</function> will initialize
|
||||
<parameter>dst</parameter> using the values in
|
||||
<parameter>e</parameter>. If the strings in
|
||||
<parameter>e</parameter> were set using
|
||||
<function>sd_bus_set_error_const</function>, they will be shared.
|
||||
Otherwise, they will be copied.</para>
|
||||
<function>sd_bus_set_error_const()</function>, they will be shared.
|
||||
Otherwise, they will be copied. Returns a converted
|
||||
<varname>errno</varname>-like, negative error code.</para>
|
||||
|
||||
<para><function>sd_bus_error_is_set</function> will return
|
||||
<constant>true</constant> if <parameter>e</parameter> is
|
||||
<para><function>sd_bus_error_is_set()</function> will return a
|
||||
non-zero value if <parameter>e</parameter> is
|
||||
non-<constant>NULL</constant> and an error has been set,
|
||||
<constant>false</constant> otherwise.</para>
|
||||
|
||||
<para><function>sd_bus_error_has_name</function> will return true
|
||||
if <parameter>e</parameter> is non-<constant>NULL</constant> and
|
||||
an error with the same <parameter>name</parameter> has been set,
|
||||
<para><function>sd_bus_error_has_name()</function> will return a
|
||||
non-zero value if <parameter>e</parameter> is
|
||||
non-<constant>NULL</constant> and an error with the same
|
||||
<parameter>name</parameter> has been set,
|
||||
<constant>false</constant> otherwise.</para>
|
||||
|
||||
<para><function>sd_bus_error_free</function> will destroy resources
|
||||
held by <parameter>e</parameter>. The parameter itself will not
|
||||
be deallocated, and must be
|
||||
<citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>d
|
||||
by the caller if necessary.</para>
|
||||
<para><function>sd_bus_error_free()</function> will destroy
|
||||
resources held by <parameter>e</parameter>. The parameter itself
|
||||
will not be deallocated, and must be <citerefentry
|
||||
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>d
|
||||
by the caller if necessary. The function may also be called safely
|
||||
on unset errors (error structures with both fields set to NULL),
|
||||
in which case it performs no operation. This call will reset the
|
||||
error structure after freeing the data, so that all fields are set
|
||||
to NULL. The structure may be reused afterwards.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Return Value</title>
|
||||
|
||||
<para>Functions <function>sd_bus_error_set</function>,
|
||||
<function>sd_bus_error_setf</function>,
|
||||
<function>sd_bus_error_set_const</function>, when successful,
|
||||
<para>The functions <function>sd_bus_error_set()</function>,
|
||||
<function>sd_bus_error_setf()</function>,
|
||||
<function>sd_bus_error_set_const()</function>, when successful,
|
||||
return the negative errno value corresponding to the
|
||||
<parameter>name</parameter> parameter. Functions
|
||||
<function>sd_bus_error_set_errno</function> and
|
||||
<function>sd_bus_error_set_errnof</function>, when successful,
|
||||
return the value of the <parameter>errno</parameter> parameter. If
|
||||
an error occurs, one of the negative error values listed below
|
||||
will be returned.</para>
|
||||
<function>sd_bus_error_set_errno()</function>,
|
||||
<function>sd_bus_error_set_errnof()</function> and
|
||||
<function>sd_bus_error_set_errnofv()</function>, when successful,
|
||||
return the negative value of the <parameter>error</parameter>
|
||||
parameter. If an error occurs, one of the negative error values
|
||||
listed below will be returned.</para>
|
||||
|
||||
<para><function>sd_bus_error_get_errno</function> returns
|
||||
<para><function>sd_bus_error_get_errno()</function> returns
|
||||
<constant>false</constant> when <parameter>e</parameter> is
|
||||
<constant>NULL</constant>, and a positive errno value mapped from
|
||||
<parameter>e->name</parameter> otherwise.</para>
|
||||
|
||||
<para><function>sd_bus_error_copy</function> returns 0 or a
|
||||
positive integer on success, and one of the negative error values
|
||||
listed below otherwise.</para>
|
||||
<para><function>sd_bus_error_copy()</function> returns 0 or a
|
||||
positive integer on success, and a negative error value converted
|
||||
from the error name otherwise.</para>
|
||||
|
||||
<para><function>sd_bus_error_is_set</function> returns
|
||||
<constant>true</constant> when <parameter>e</parameter> and
|
||||
<parameter>e->name</parameter> are non-<constant>NULL</constant>,
|
||||
<constant>false</constant> otherwise.</para>
|
||||
<para><function>sd_bus_error_is_set()</function> returns a
|
||||
non-zero value when <parameter>e</parameter> and the
|
||||
<structfield>name</structfield> field are
|
||||
non-<constant>NULL</constant>, zero otherwise.</para>
|
||||
|
||||
<para><function>sd_bus_error_has_name</function> returns
|
||||
<constant>true</constant> when <parameter>e</parameter> is
|
||||
non-<constant>NULL</constant> and <parameter>e->name</parameter>
|
||||
is equal to <parameter>name</parameter>,
|
||||
<constant>false</constant> otherwise.</para>
|
||||
<para><function>sd_bus_error_has_name()</function> returns a
|
||||
non-zero value when <parameter>e</parameter> is
|
||||
non-<constant>NULL</constant> and the
|
||||
<structfield>name</structfield> field is equal to
|
||||
<parameter>name</parameter>, zero otherwise.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Reference ownership</title>
|
||||
<para><structname>sd_bus_error</structname> is not reference
|
||||
counted. Users should destroy resources held by it by calling
|
||||
<function>sd_bus_error_free</function>.</para>
|
||||
<function>sd_bus_error_free()</function>. Usually error structures
|
||||
are allocated on the stack or passed in as function parameters,
|
||||
but they may also be allocated dynamically, in which case it is
|
||||
the duty of the caller to <citerefentry
|
||||
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
the memory held by the structure itself after freeing its contents
|
||||
with <function>sd_bus_error_free()</function>.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -407,8 +379,10 @@
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='die-net'><refentrytitle>strerror</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<citerefentry project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
173
man/sd_bus_error_add_map.xml
Normal file
173
man/sd_bus_error_add_map.xml
Normal file
@ -0,0 +1,173 @@
|
||||
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<!--
|
||||
This file is part of systemd.
|
||||
|
||||
Copyright 2015 Lennart Poettering
|
||||
|
||||
systemd is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
systemd is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<refentry id="sd_bus_error_add_map">
|
||||
|
||||
<refentryinfo>
|
||||
<title>sd_bus_error_add_map</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>sd_bus_error_add_map</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>sd_bus_error_add_map</refname>
|
||||
<refname>sd_bus_error_map</refname>
|
||||
<refname>SD_BUS_ERROR_MAP</refname>
|
||||
<refname>SD_BUS_ERROR_END</refname>
|
||||
|
||||
<refpurpose>Additional sd-dbus error mappings</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<funcsynopsis>
|
||||
<funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo>
|
||||
|
||||
<funcsynopsisinfo>typedef struct {
|
||||
const char *name;
|
||||
int code;
|
||||
...
|
||||
} sd_bus_error_map;</funcsynopsisinfo>
|
||||
|
||||
</funcsynopsis>
|
||||
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_MAP(<replaceable>name</replaceable>, <replaceable>code</replaceable>)</constant>
|
||||
</para>
|
||||
<para>
|
||||
<constant>SD_BUS_ERROR_MAP_END</constant>
|
||||
</para>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_error_add_map</function></funcdef>
|
||||
<paramdef>const sd_bus_map *<parameter>map</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>The <function>sd_bus_error_add_map()</function> call may be
|
||||
used to register additional mappings for converting D-Bus errors
|
||||
to Linux <varname>errno</varname>-style errors. The mappings
|
||||
defined with this call are consulted by calls such as
|
||||
<citerefentry><refentrytitle>sd_bus_error_set</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
or
|
||||
<citerefentry><refentrytitle>sd_bus_error_get_errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>. By
|
||||
default a number of generic, standardized mappings are known, as
|
||||
documented in
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Use
|
||||
this call to add further, application-specific mappings.</para>
|
||||
|
||||
<para>The function takes a pointer to an array of
|
||||
<structname>sd_bus_error_map</structname> structures. A reference
|
||||
to the specified array is added to the lookup tables for error
|
||||
mappings. Note that the structure is not copied, it is hence
|
||||
essential that the array stays available and constant during the
|
||||
entire remaining runtime of the process.</para>
|
||||
|
||||
<para>The mapping array should be put together with a series of
|
||||
<constant>SD_BUS_ERROR_MAP()</constant> macro invocations, that
|
||||
take a literal name string and a (positive)
|
||||
<varname>errno</varname>-style error number. The last entry of the
|
||||
array should be an invocation of the
|
||||
<constant>SD_BUS_ERROR_MAP_END</constant> macro. The array should not be
|
||||
put together without use of these two macros.</para>
|
||||
|
||||
<para>Note that the call is idempotent: it is safe to invoke it
|
||||
multiple times with the parameter, which will only add the passed
|
||||
mapping array once.</para>
|
||||
|
||||
<para>Note that the memory allocated by this call is not intended
|
||||
to be freed during the lifetime of the process. It should not be
|
||||
freed explicitly.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Return Value</title>
|
||||
|
||||
<para><function>sd_bus_error_add_map()</function> returns a
|
||||
positive value when the new array was added to the lookup
|
||||
tables. It returns zero when the same array was already added
|
||||
before. On error, a negative <varname>errno</varname>-style error
|
||||
code is returned. See below for known error codes.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Errors</title>
|
||||
|
||||
<para>Returned errors may indicate the following problems:</para>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-EINVAL</constant></term>
|
||||
|
||||
<listitem><para>The specified mapping array is invalid.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-ENOMEM</constant></term>
|
||||
|
||||
<listitem><para>Memory allocation failed.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>The various error definitions described here are available
|
||||
as a shared library, which can be compiled and linked to with the
|
||||
<constant>libsystemd</constant> <citerefentry
|
||||
project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
file.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -440,7 +440,6 @@
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
Loading…
x
Reference in New Issue
Block a user