Imported Upstream version 214

This commit is contained in:
Jon Severinsson 2014-07-01 20:00:00 +02:00
parent 14228c0ddf
commit 60f067b410
1665 changed files with 181355 additions and 76717 deletions

View File

@ -23,12 +23,12 @@ HOWTO:
CONTRIBUTING UPSTREAM: CONTRIBUTING UPSTREAM:
We are generally do no longer accept distribution specific We do generally no longer accept distribution-specific
patches to systemd upstream. If you have to make changes to patches to systemd upstream. If you have to make changes to
systemd's source code to make it work on your distribution: systemd's source code to make it work on your distribution:
unless your code is generic enough to be generally useful we unless your code is generic enough to be generally useful, we
are unlikely to merge it. Please always consider adopting the are unlikely to merge it. Please always consider adopting the
upstream defaults. If that's not possible please maintain the upstream defaults. If that is not possible, please maintain
relevant patches downstream. the relevant patches downstream.
Thank you for understanding. Thank you for understanding.

View File

@ -1,8 +1,15 @@
# Do not edit. Generated by make-man-rules.py. # Do not edit. Generated by make-man-rules.py.
# Regenerate with 'make all update-man-list'. # To regenerate:
# 1. Create, update, or remove source .xml files in man/
# 2. Run 'make update-man-list'
# 3. Run 'make man' to generate manpages
#
# To make a man page conditional on a configure switch add
# attribute conditional="ENABLE_WHAT" or conditional="WITH_WHAT"
# to <refentry> element.
MANPAGES += \ MANPAGES += \
man/bootup.7 \ man/bootup.7 \
man/busctl.1 \
man/daemon.7 \ man/daemon.7 \
man/halt.8 \ man/halt.8 \
man/hostname.5 \ man/hostname.5 \
@ -40,6 +47,7 @@ MANPAGES += \
man/sd_journal_stream_fd.3 \ man/sd_journal_stream_fd.3 \
man/sd_listen_fds.3 \ man/sd_listen_fds.3 \
man/sd_notify.3 \ man/sd_notify.3 \
man/sd_watchdog_enabled.3 \
man/shutdown.8 \ man/shutdown.8 \
man/sysctl.d.5 \ man/sysctl.d.5 \
man/systemctl.1 \ man/systemctl.1 \
@ -68,6 +76,7 @@ MANPAGES += \
man/systemd-run.1 \ man/systemd-run.1 \
man/systemd-shutdownd.service.8 \ man/systemd-shutdownd.service.8 \
man/systemd-sleep.conf.5 \ man/systemd-sleep.conf.5 \
man/systemd-socket-proxyd.8 \
man/systemd-suspend.service.8 \ man/systemd-suspend.service.8 \
man/systemd-sysctl.service.8 \ man/systemd-sysctl.service.8 \
man/systemd-system-update-generator.8 \ man/systemd-system-update-generator.8 \
@ -82,6 +91,7 @@ MANPAGES += \
man/systemd.exec.5 \ man/systemd.exec.5 \
man/systemd.journal-fields.7 \ man/systemd.journal-fields.7 \
man/systemd.kill.5 \ man/systemd.kill.5 \
man/systemd.link.5 \
man/systemd.mount.5 \ man/systemd.mount.5 \
man/systemd.path.5 \ man/systemd.path.5 \
man/systemd.preset.5 \ man/systemd.preset.5 \
@ -138,6 +148,7 @@ MANPAGES_ALIAS += \
man/sd_is_socket.3 \ man/sd_is_socket.3 \
man/sd_is_socket_inet.3 \ man/sd_is_socket_inet.3 \
man/sd_is_socket_unix.3 \ man/sd_is_socket_unix.3 \
man/sd_is_special.3 \
man/sd_journal.3 \ man/sd_journal.3 \
man/sd_journal_add_conjunction.3 \ man/sd_journal_add_conjunction.3 \
man/sd_journal_add_disjunction.3 \ man/sd_journal_add_disjunction.3 \
@ -152,6 +163,7 @@ MANPAGES_ALIAS += \
man/sd_journal_get_monotonic_usec.3 \ man/sd_journal_get_monotonic_usec.3 \
man/sd_journal_get_timeout.3 \ man/sd_journal_get_timeout.3 \
man/sd_journal_next_skip.3 \ man/sd_journal_next_skip.3 \
man/sd_journal_open_container.3 \
man/sd_journal_open_directory.3 \ man/sd_journal_open_directory.3 \
man/sd_journal_open_files.3 \ man/sd_journal_open_files.3 \
man/sd_journal_perror.3 \ man/sd_journal_perror.3 \
@ -238,6 +250,7 @@ man/sd_is_mq.3: man/sd_is_fifo.3
man/sd_is_socket.3: man/sd_is_fifo.3 man/sd_is_socket.3: man/sd_is_fifo.3
man/sd_is_socket_inet.3: man/sd_is_fifo.3 man/sd_is_socket_inet.3: man/sd_is_fifo.3
man/sd_is_socket_unix.3: man/sd_is_fifo.3 man/sd_is_socket_unix.3: man/sd_is_fifo.3
man/sd_is_special.3: man/sd_is_fifo.3
man/sd_journal.3: man/sd_journal_open.3 man/sd_journal.3: man/sd_journal_open.3
man/sd_journal_add_conjunction.3: man/sd_journal_add_match.3 man/sd_journal_add_conjunction.3: man/sd_journal_add_match.3
man/sd_journal_add_disjunction.3: man/sd_journal_add_match.3 man/sd_journal_add_disjunction.3: man/sd_journal_add_match.3
@ -252,6 +265,7 @@ man/sd_journal_get_events.3: man/sd_journal_get_fd.3
man/sd_journal_get_monotonic_usec.3: man/sd_journal_get_realtime_usec.3 man/sd_journal_get_monotonic_usec.3: man/sd_journal_get_realtime_usec.3
man/sd_journal_get_timeout.3: man/sd_journal_get_fd.3 man/sd_journal_get_timeout.3: man/sd_journal_get_fd.3
man/sd_journal_next_skip.3: man/sd_journal_next.3 man/sd_journal_next_skip.3: man/sd_journal_next.3
man/sd_journal_open_container.3: man/sd_journal_open.3
man/sd_journal_open_directory.3: man/sd_journal_open.3 man/sd_journal_open_directory.3: man/sd_journal_open.3
man/sd_journal_open_files.3: man/sd_journal_open.3 man/sd_journal_open_files.3: man/sd_journal_open.3
man/sd_journal_perror.3: man/sd_journal_print.3 man/sd_journal_perror.3: man/sd_journal_print.3
@ -410,6 +424,9 @@ man/sd_is_socket_inet.html: man/sd_is_fifo.html
man/sd_is_socket_unix.html: man/sd_is_fifo.html man/sd_is_socket_unix.html: man/sd_is_fifo.html
$(html-alias) $(html-alias)
man/sd_is_special.html: man/sd_is_fifo.html
$(html-alias)
man/sd_journal.html: man/sd_journal_open.html man/sd_journal.html: man/sd_journal_open.html
$(html-alias) $(html-alias)
@ -452,6 +469,9 @@ man/sd_journal_get_timeout.html: man/sd_journal_get_fd.html
man/sd_journal_next_skip.html: man/sd_journal_next.html man/sd_journal_next_skip.html: man/sd_journal_next.html
$(html-alias) $(html-alias)
man/sd_journal_open_container.html: man/sd_journal_open.html
$(html-alias)
man/sd_journal_open_directory.html: man/sd_journal_open.html man/sd_journal_open_directory.html: man/sd_journal_open.html
$(html-alias) $(html-alias)
@ -643,6 +663,15 @@ MANPAGES_ALIAS += \
# #
endif
if ENABLE_EFI
MANPAGES += \
man/bootctl.1
MANPAGES_ALIAS += \
#
endif endif
if ENABLE_HOSTNAMED if ENABLE_HOSTNAMED
@ -657,6 +686,345 @@ man/systemd-hostnamed.html: man/systemd-hostnamed.service.html
endif endif
if ENABLE_KDBUS
MANPAGES += \
man/sd_bus_creds_get_pid.3 \
man/sd_bus_creds_new_from_pid.3 \
man/sd_bus_error.3 \
man/sd_bus_message_append.3 \
man/sd_bus_message_append_array.3 \
man/sd_bus_message_append_basic.3 \
man/sd_bus_message_append_string_memfd.3 \
man/sd_bus_message_append_strv.3 \
man/sd_bus_message_get_cookie.3 \
man/sd_bus_message_get_monotonic_usec.3 \
man/sd_bus_negotiate_fds.3 \
man/sd_bus_new.3 \
man/sd_bus_open_user.3 \
man/sd_bus_path_encode.3 \
man/sd_bus_request_name.3 \
man/sd_event_add_time.3 \
man/sd_event_new.3 \
man/systemd-bus-proxyd.8 \
man/systemd-bus-proxyd@.service.8
MANPAGES_ALIAS += \
man/sd_bus_creds_get_audit_login_uid.3 \
man/sd_bus_creds_get_audit_session_id.3 \
man/sd_bus_creds_get_cgroup.3 \
man/sd_bus_creds_get_cmdline.3 \
man/sd_bus_creds_get_comm.3 \
man/sd_bus_creds_get_exe.3 \
man/sd_bus_creds_get_gid.3 \
man/sd_bus_creds_get_mask.3 \
man/sd_bus_creds_get_owner_uid.3 \
man/sd_bus_creds_get_pid_starttime.3 \
man/sd_bus_creds_get_selinux_context.3 \
man/sd_bus_creds_get_session.3 \
man/sd_bus_creds_get_slice.3 \
man/sd_bus_creds_get_tid.3 \
man/sd_bus_creds_get_tid_comm.3 \
man/sd_bus_creds_get_uid.3 \
man/sd_bus_creds_get_unique_name.3 \
man/sd_bus_creds_get_unit.3 \
man/sd_bus_creds_get_user_unit.3 \
man/sd_bus_creds_get_well_known_names.3 \
man/sd_bus_creds_has_bounding_cap.3 \
man/sd_bus_creds_has_effective_cap.3 \
man/sd_bus_creds_has_inheritable_cap.3 \
man/sd_bus_creds_has_permitted_cap.3 \
man/sd_bus_creds_ref.3 \
man/sd_bus_creds_unref.3 \
man/sd_bus_default_system.3 \
man/sd_bus_default_user.3 \
man/sd_bus_error_copy.3 \
man/sd_bus_error_free.3 \
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_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_message_append_array_iovec.3 \
man/sd_bus_message_append_array_memfd.3 \
man/sd_bus_message_append_array_space.3 \
man/sd_bus_message_append_string_iovec.3 \
man/sd_bus_message_append_string_space.3 \
man/sd_bus_message_get_realtime_usec.3 \
man/sd_bus_message_get_reply_cookie.3 \
man/sd_bus_message_get_seqnum.3 \
man/sd_bus_negotiate_creds.3 \
man/sd_bus_negotiate_timestamps.3 \
man/sd_bus_open_system.3 \
man/sd_bus_open_system_container.3 \
man/sd_bus_open_system_remote.3 \
man/sd_bus_path_decode.3 \
man/sd_bus_ref.3 \
man/sd_bus_release_name.3 \
man/sd_bus_unref.3 \
man/sd_event_default.3 \
man/sd_event_ref.3 \
man/sd_event_source_get_time.3 \
man/sd_event_source_get_time_accuracy.3 \
man/sd_event_source_get_time_clock.3 \
man/sd_event_source_set_time.3 \
man/sd_event_source_set_time_accuracy.3 \
man/sd_event_unref.3 \
man/systemd-bus-proxyd.socket.8
man/sd_bus_creds_get_audit_login_uid.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_audit_session_id.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_cgroup.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_cmdline.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_comm.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_exe.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_gid.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_mask.3: man/sd_bus_creds_new_from_pid.3
man/sd_bus_creds_get_owner_uid.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_pid_starttime.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_selinux_context.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_session.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_slice.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_tid.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_tid_comm.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_uid.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_unique_name.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_unit.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_user_unit.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_well_known_names.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_has_bounding_cap.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_has_effective_cap.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_has_inheritable_cap.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_has_permitted_cap.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_ref.3: man/sd_bus_creds_new_from_pid.3
man/sd_bus_creds_unref.3: man/sd_bus_creds_new_from_pid.3
man/sd_bus_default_system.3: man/sd_bus_open_user.3
man/sd_bus_default_user.3: man/sd_bus_open_user.3
man/sd_bus_error_copy.3: man/sd_bus_error.3
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_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_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
man/sd_bus_message_append_string_iovec.3: man/sd_bus_message_append_string_memfd.3
man/sd_bus_message_append_string_space.3: man/sd_bus_message_append_string_memfd.3
man/sd_bus_message_get_realtime_usec.3: man/sd_bus_message_get_monotonic_usec.3
man/sd_bus_message_get_reply_cookie.3: man/sd_bus_message_get_cookie.3
man/sd_bus_message_get_seqnum.3: man/sd_bus_message_get_monotonic_usec.3
man/sd_bus_negotiate_creds.3: man/sd_bus_negotiate_fds.3
man/sd_bus_negotiate_timestamps.3: man/sd_bus_negotiate_fds.3
man/sd_bus_open_system.3: man/sd_bus_open_user.3
man/sd_bus_open_system_container.3: man/sd_bus_open_user.3
man/sd_bus_open_system_remote.3: man/sd_bus_open_user.3
man/sd_bus_path_decode.3: man/sd_bus_path_encode.3
man/sd_bus_ref.3: man/sd_bus_new.3
man/sd_bus_release_name.3: man/sd_bus_request_name.3
man/sd_bus_unref.3: man/sd_bus_new.3
man/sd_event_default.3: man/sd_event_new.3
man/sd_event_ref.3: man/sd_event_new.3
man/sd_event_source_get_time.3: man/sd_event_add_time.3
man/sd_event_source_get_time_accuracy.3: man/sd_event_add_time.3
man/sd_event_source_get_time_clock.3: man/sd_event_add_time.3
man/sd_event_source_set_time.3: man/sd_event_add_time.3
man/sd_event_source_set_time_accuracy.3: man/sd_event_add_time.3
man/sd_event_unref.3: man/sd_event_new.3
man/systemd-bus-proxyd.socket.8: man/systemd-bus-proxyd@.service.8
man/sd_bus_creds_get_audit_login_uid.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_audit_session_id.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_cgroup.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_cmdline.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_comm.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_exe.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_gid.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_mask.html: man/sd_bus_creds_new_from_pid.html
$(html-alias)
man/sd_bus_creds_get_owner_uid.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_pid_starttime.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_selinux_context.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_session.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_slice.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_tid.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_tid_comm.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_uid.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_unique_name.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_unit.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_user_unit.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_get_well_known_names.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_has_bounding_cap.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_has_effective_cap.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_has_inheritable_cap.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_has_permitted_cap.html: man/sd_bus_creds_get_pid.html
$(html-alias)
man/sd_bus_creds_ref.html: man/sd_bus_creds_new_from_pid.html
$(html-alias)
man/sd_bus_creds_unref.html: man/sd_bus_creds_new_from_pid.html
$(html-alias)
man/sd_bus_default_system.html: man/sd_bus_open_user.html
$(html-alias)
man/sd_bus_default_user.html: man/sd_bus_open_user.html
$(html-alias)
man/sd_bus_error_copy.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_free.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_get_errno.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_has_name.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_is_set.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_set.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_set_const.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_set_errno.html: man/sd_bus_error.html
$(html-alias)
man/sd_bus_error_set_errnof.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)
man/sd_bus_message_append_array_memfd.html: man/sd_bus_message_append_array.html
$(html-alias)
man/sd_bus_message_append_array_space.html: man/sd_bus_message_append_array.html
$(html-alias)
man/sd_bus_message_append_string_iovec.html: man/sd_bus_message_append_string_memfd.html
$(html-alias)
man/sd_bus_message_append_string_space.html: man/sd_bus_message_append_string_memfd.html
$(html-alias)
man/sd_bus_message_get_realtime_usec.html: man/sd_bus_message_get_monotonic_usec.html
$(html-alias)
man/sd_bus_message_get_reply_cookie.html: man/sd_bus_message_get_cookie.html
$(html-alias)
man/sd_bus_message_get_seqnum.html: man/sd_bus_message_get_monotonic_usec.html
$(html-alias)
man/sd_bus_negotiate_creds.html: man/sd_bus_negotiate_fds.html
$(html-alias)
man/sd_bus_negotiate_timestamps.html: man/sd_bus_negotiate_fds.html
$(html-alias)
man/sd_bus_open_system.html: man/sd_bus_open_user.html
$(html-alias)
man/sd_bus_open_system_container.html: man/sd_bus_open_user.html
$(html-alias)
man/sd_bus_open_system_remote.html: man/sd_bus_open_user.html
$(html-alias)
man/sd_bus_path_decode.html: man/sd_bus_path_encode.html
$(html-alias)
man/sd_bus_ref.html: man/sd_bus_new.html
$(html-alias)
man/sd_bus_release_name.html: man/sd_bus_request_name.html
$(html-alias)
man/sd_bus_unref.html: man/sd_bus_new.html
$(html-alias)
man/sd_event_default.html: man/sd_event_new.html
$(html-alias)
man/sd_event_ref.html: man/sd_event_new.html
$(html-alias)
man/sd_event_source_get_time.html: man/sd_event_add_time.html
$(html-alias)
man/sd_event_source_get_time_accuracy.html: man/sd_event_add_time.html
$(html-alias)
man/sd_event_source_get_time_clock.html: man/sd_event_add_time.html
$(html-alias)
man/sd_event_source_set_time.html: man/sd_event_add_time.html
$(html-alias)
man/sd_event_source_set_time_accuracy.html: man/sd_event_add_time.html
$(html-alias)
man/sd_event_unref.html: man/sd_event_new.html
$(html-alias)
man/systemd-bus-proxyd.socket.html: man/systemd-bus-proxyd@.service.html
$(html-alias)
endif
if ENABLE_LOCALED if ENABLE_LOCALED
MANPAGES += \ MANPAGES += \
man/localectl.1 \ man/localectl.1 \
@ -694,6 +1062,25 @@ man/systemd-machined.html: man/systemd-machined.service.html
endif endif
if ENABLE_NETWORKD
MANPAGES += \
man/systemd-networkd-wait-online.service.8 \
man/systemd-networkd.service.8 \
man/systemd.netdev.5 \
man/systemd.network.5
MANPAGES_ALIAS += \
man/systemd-networkd-wait-online.8 \
man/systemd-networkd.8
man/systemd-networkd-wait-online.8: man/systemd-networkd-wait-online.service.8
man/systemd-networkd.8: man/systemd-networkd.service.8
man/systemd-networkd-wait-online.html: man/systemd-networkd-wait-online.service.html
$(html-alias)
man/systemd-networkd.html: man/systemd-networkd.service.html
$(html-alias)
endif
if ENABLE_QUOTACHECK if ENABLE_QUOTACHECK
MANPAGES += \ MANPAGES += \
man/systemd-quotacheck.service.8 man/systemd-quotacheck.service.8
@ -744,6 +1131,29 @@ man/systemd-readahead.html: man/systemd-readahead-replay.service.html
endif endif
if ENABLE_RESOLVED
MANPAGES += \
man/resolved.conf.5 \
man/systemd-resolved.service.8
MANPAGES_ALIAS += \
man/systemd-resolved.8
man/systemd-resolved.8: man/systemd-resolved.service.8
man/systemd-resolved.html: man/systemd-resolved.service.html
$(html-alias)
endif
if ENABLE_RFKILL
MANPAGES += \
man/systemd-rfkill@.service.8
MANPAGES_ALIAS += \
man/systemd-rfkill.8
man/systemd-rfkill.8: man/systemd-rfkill@.service.8
man/systemd-rfkill.html: man/systemd-rfkill@.service.html
$(html-alias)
endif
if ENABLE_TIMEDATED if ENABLE_TIMEDATED
MANPAGES += \ MANPAGES += \
man/systemd-timedated.service.8 \ man/systemd-timedated.service.8 \
@ -756,6 +1166,17 @@ man/systemd-timedated.html: man/systemd-timedated.service.html
endif endif
if ENABLE_TIMESYNCD
MANPAGES += \
man/systemd-timesyncd.service.8
MANPAGES_ALIAS += \
man/systemd-timesyncd.8
man/systemd-timesyncd.8: man/systemd-timesyncd.service.8
man/systemd-timesyncd.html: man/systemd-timesyncd.service.html
$(html-alias)
endif
if ENABLE_VCONSOLE if ENABLE_VCONSOLE
MANPAGES += \ MANPAGES += \
man/systemd-vconsole-setup.service.8 \ man/systemd-vconsole-setup.service.8 \
@ -795,7 +1216,8 @@ endif
if HAVE_MICROHTTPD if HAVE_MICROHTTPD
MANPAGES += \ MANPAGES += \
man/systemd-journal-gatewayd.service.8 man/systemd-journal-gatewayd.service.8 \
man/systemd-journal-remote.8
MANPAGES_ALIAS += \ MANPAGES_ALIAS += \
man/systemd-journal-gatewayd.8 \ man/systemd-journal-gatewayd.8 \
man/systemd-journal-gatewayd.socket.8 man/systemd-journal-gatewayd.socket.8
@ -839,15 +1261,25 @@ MANPAGES_ALIAS += \
man/sd_login_monitor_get_fd.3 \ man/sd_login_monitor_get_fd.3 \
man/sd_login_monitor_get_timeout.3 \ man/sd_login_monitor_get_timeout.3 \
man/sd_login_monitor_unref.3 \ man/sd_login_monitor_unref.3 \
man/sd_peer_get_machine_name.3 \
man/sd_peer_get_owner_uid.3 \
man/sd_peer_get_session.3 \
man/sd_peer_get_slice.3 \
man/sd_peer_get_unit.3 \
man/sd_peer_get_user_unit.3 \
man/sd_pid_get_machine_name.3 \ man/sd_pid_get_machine_name.3 \
man/sd_pid_get_owner_uid.3 \ man/sd_pid_get_owner_uid.3 \
man/sd_pid_get_slice.3 \ man/sd_pid_get_slice.3 \
man/sd_pid_get_unit.3 \ man/sd_pid_get_unit.3 \
man/sd_pid_get_user_unit.3 \ man/sd_pid_get_user_unit.3 \
man/sd_seat_can_graphical.3 \
man/sd_seat_can_multi_session.3 \ man/sd_seat_can_multi_session.3 \
man/sd_seat_can_tty.3 \
man/sd_seat_get_sessions.3 \ man/sd_seat_get_sessions.3 \
man/sd_session_get_class.3 \ man/sd_session_get_class.3 \
man/sd_session_get_display.3 \ man/sd_session_get_display.3 \
man/sd_session_get_remote_host.3 \
man/sd_session_get_remote_user.3 \
man/sd_session_get_seat.3 \ man/sd_session_get_seat.3 \
man/sd_session_get_service.3 \ man/sd_session_get_service.3 \
man/sd_session_get_state.3 \ man/sd_session_get_state.3 \
@ -855,6 +1287,8 @@ MANPAGES_ALIAS += \
man/sd_session_get_type.3 \ man/sd_session_get_type.3 \
man/sd_session_get_uid.3 \ man/sd_session_get_uid.3 \
man/sd_session_get_vt.3 \ man/sd_session_get_vt.3 \
man/sd_session_is_remote.3 \
man/sd_uid_get_display.3 \
man/sd_uid_get_seats.3 \ man/sd_uid_get_seats.3 \
man/sd_uid_get_sessions.3 \ man/sd_uid_get_sessions.3 \
man/sd_uid_is_on_seat.3 \ man/sd_uid_is_on_seat.3 \
@ -868,15 +1302,25 @@ man/sd_login_monitor_get_events.3: man/sd_login_monitor_new.3
man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3 man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
man/sd_login_monitor_get_timeout.3: man/sd_login_monitor_new.3 man/sd_login_monitor_get_timeout.3: man/sd_login_monitor_new.3
man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3 man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
man/sd_peer_get_machine_name.3: man/sd_pid_get_session.3
man/sd_peer_get_owner_uid.3: man/sd_pid_get_session.3
man/sd_peer_get_session.3: man/sd_pid_get_session.3
man/sd_peer_get_slice.3: man/sd_pid_get_session.3
man/sd_peer_get_unit.3: man/sd_pid_get_session.3
man/sd_peer_get_user_unit.3: man/sd_pid_get_session.3
man/sd_pid_get_machine_name.3: man/sd_pid_get_session.3 man/sd_pid_get_machine_name.3: man/sd_pid_get_session.3
man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3 man/sd_pid_get_owner_uid.3: man/sd_pid_get_session.3
man/sd_pid_get_slice.3: man/sd_pid_get_session.3 man/sd_pid_get_slice.3: man/sd_pid_get_session.3
man/sd_pid_get_unit.3: man/sd_pid_get_session.3 man/sd_pid_get_unit.3: man/sd_pid_get_session.3
man/sd_pid_get_user_unit.3: man/sd_pid_get_session.3 man/sd_pid_get_user_unit.3: man/sd_pid_get_session.3
man/sd_seat_can_graphical.3: man/sd_seat_get_active.3
man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3 man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3
man/sd_seat_can_tty.3: man/sd_seat_get_active.3
man/sd_seat_get_sessions.3: man/sd_seat_get_active.3 man/sd_seat_get_sessions.3: man/sd_seat_get_active.3
man/sd_session_get_class.3: man/sd_session_is_active.3 man/sd_session_get_class.3: man/sd_session_is_active.3
man/sd_session_get_display.3: man/sd_session_is_active.3 man/sd_session_get_display.3: man/sd_session_is_active.3
man/sd_session_get_remote_host.3: man/sd_session_is_active.3
man/sd_session_get_remote_user.3: man/sd_session_is_active.3
man/sd_session_get_seat.3: man/sd_session_is_active.3 man/sd_session_get_seat.3: man/sd_session_is_active.3
man/sd_session_get_service.3: man/sd_session_is_active.3 man/sd_session_get_service.3: man/sd_session_is_active.3
man/sd_session_get_state.3: man/sd_session_is_active.3 man/sd_session_get_state.3: man/sd_session_is_active.3
@ -884,6 +1328,8 @@ man/sd_session_get_tty.3: man/sd_session_is_active.3
man/sd_session_get_type.3: man/sd_session_is_active.3 man/sd_session_get_type.3: man/sd_session_is_active.3
man/sd_session_get_uid.3: man/sd_session_is_active.3 man/sd_session_get_uid.3: man/sd_session_is_active.3
man/sd_session_get_vt.3: man/sd_session_is_active.3 man/sd_session_get_vt.3: man/sd_session_is_active.3
man/sd_session_is_remote.3: man/sd_session_is_active.3
man/sd_uid_get_display.3: man/sd_uid_get_state.3
man/sd_uid_get_seats.3: man/sd_uid_get_state.3 man/sd_uid_get_seats.3: man/sd_uid_get_state.3
man/sd_uid_get_sessions.3: man/sd_uid_get_state.3 man/sd_uid_get_sessions.3: man/sd_uid_get_state.3
man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3 man/sd_uid_is_on_seat.3: man/sd_uid_get_state.3
@ -915,6 +1361,24 @@ man/sd_login_monitor_get_timeout.html: man/sd_login_monitor_new.html
man/sd_login_monitor_unref.html: man/sd_login_monitor_new.html man/sd_login_monitor_unref.html: man/sd_login_monitor_new.html
$(html-alias) $(html-alias)
man/sd_peer_get_machine_name.html: man/sd_pid_get_session.html
$(html-alias)
man/sd_peer_get_owner_uid.html: man/sd_pid_get_session.html
$(html-alias)
man/sd_peer_get_session.html: man/sd_pid_get_session.html
$(html-alias)
man/sd_peer_get_slice.html: man/sd_pid_get_session.html
$(html-alias)
man/sd_peer_get_unit.html: man/sd_pid_get_session.html
$(html-alias)
man/sd_peer_get_user_unit.html: man/sd_pid_get_session.html
$(html-alias)
man/sd_pid_get_machine_name.html: man/sd_pid_get_session.html man/sd_pid_get_machine_name.html: man/sd_pid_get_session.html
$(html-alias) $(html-alias)
@ -930,9 +1394,15 @@ man/sd_pid_get_unit.html: man/sd_pid_get_session.html
man/sd_pid_get_user_unit.html: man/sd_pid_get_session.html man/sd_pid_get_user_unit.html: man/sd_pid_get_session.html
$(html-alias) $(html-alias)
man/sd_seat_can_graphical.html: man/sd_seat_get_active.html
$(html-alias)
man/sd_seat_can_multi_session.html: man/sd_seat_get_active.html man/sd_seat_can_multi_session.html: man/sd_seat_get_active.html
$(html-alias) $(html-alias)
man/sd_seat_can_tty.html: man/sd_seat_get_active.html
$(html-alias)
man/sd_seat_get_sessions.html: man/sd_seat_get_active.html man/sd_seat_get_sessions.html: man/sd_seat_get_active.html
$(html-alias) $(html-alias)
@ -942,6 +1412,12 @@ man/sd_session_get_class.html: man/sd_session_is_active.html
man/sd_session_get_display.html: man/sd_session_is_active.html man/sd_session_get_display.html: man/sd_session_is_active.html
$(html-alias) $(html-alias)
man/sd_session_get_remote_host.html: man/sd_session_is_active.html
$(html-alias)
man/sd_session_get_remote_user.html: man/sd_session_is_active.html
$(html-alias)
man/sd_session_get_seat.html: man/sd_session_is_active.html man/sd_session_get_seat.html: man/sd_session_is_active.html
$(html-alias) $(html-alias)
@ -963,6 +1439,12 @@ man/sd_session_get_uid.html: man/sd_session_is_active.html
man/sd_session_get_vt.html: man/sd_session_is_active.html man/sd_session_get_vt.html: man/sd_session_is_active.html
$(html-alias) $(html-alias)
man/sd_session_is_remote.html: man/sd_session_is_active.html
$(html-alias)
man/sd_uid_get_display.html: man/sd_uid_get_state.html
$(html-alias)
man/sd_uid_get_seats.html: man/sd_uid_get_state.html man/sd_uid_get_seats.html: man/sd_uid_get_state.html
$(html-alias) $(html-alias)
@ -986,3 +1468,185 @@ MANPAGES_ALIAS += \
endif endif
# Really, do not edit this file.
EXTRA_DIST += \
man/binfmt.d.xml \
man/bootchart.conf.xml \
man/bootctl.xml \
man/bootup.xml \
man/busctl.xml \
man/crypttab.xml \
man/daemon.xml \
man/halt.xml \
man/hostname.xml \
man/hostnamectl.xml \
man/journalctl.xml \
man/journald.conf.xml \
man/kernel-command-line.xml \
man/kernel-install.xml \
man/less-variables.xml \
man/libsystemd-pkgconfig.xml \
man/locale.conf.xml \
man/localectl.xml \
man/localtime.xml \
man/loginctl.xml \
man/logind.conf.xml \
man/machine-id.xml \
man/machine-info.xml \
man/machinectl.xml \
man/modules-load.d.xml \
man/nss-myhostname.xml \
man/os-release.xml \
man/pam_systemd.xml \
man/resolved.conf.xml \
man/runlevel.xml \
man/sd-daemon.xml \
man/sd-id128.xml \
man/sd-journal.xml \
man/sd-login.xml \
man/sd-readahead.xml \
man/sd_booted.xml \
man/sd_bus_creds_get_pid.xml \
man/sd_bus_creds_new_from_pid.xml \
man/sd_bus_error.xml \
man/sd_bus_message_append.xml \
man/sd_bus_message_append_array.xml \
man/sd_bus_message_append_basic.xml \
man/sd_bus_message_append_string_memfd.xml \
man/sd_bus_message_append_strv.xml \
man/sd_bus_message_get_cookie.xml \
man/sd_bus_message_get_monotonic_usec.xml \
man/sd_bus_negotiate_fds.xml \
man/sd_bus_new.xml \
man/sd_bus_open_user.xml \
man/sd_bus_path_encode.xml \
man/sd_bus_request_name.xml \
man/sd_event_add_time.xml \
man/sd_event_new.xml \
man/sd_get_seats.xml \
man/sd_id128_get_machine.xml \
man/sd_id128_randomize.xml \
man/sd_id128_to_string.xml \
man/sd_is_fifo.xml \
man/sd_journal_add_match.xml \
man/sd_journal_get_catalog.xml \
man/sd_journal_get_cursor.xml \
man/sd_journal_get_cutoff_realtime_usec.xml \
man/sd_journal_get_data.xml \
man/sd_journal_get_fd.xml \
man/sd_journal_get_realtime_usec.xml \
man/sd_journal_get_usage.xml \
man/sd_journal_next.xml \
man/sd_journal_open.xml \
man/sd_journal_print.xml \
man/sd_journal_query_unique.xml \
man/sd_journal_seek_head.xml \
man/sd_journal_stream_fd.xml \
man/sd_listen_fds.xml \
man/sd_login_monitor_new.xml \
man/sd_notify.xml \
man/sd_pid_get_session.xml \
man/sd_readahead.xml \
man/sd_seat_get_active.xml \
man/sd_session_is_active.xml \
man/sd_uid_get_state.xml \
man/sd_watchdog_enabled.xml \
man/shutdown.xml \
man/standard-options.xml \
man/sysctl.d.xml \
man/systemctl.xml \
man/systemd-activate.xml \
man/systemd-analyze.xml \
man/systemd-ask-password-console.service.xml \
man/systemd-ask-password.xml \
man/systemd-backlight@.service.xml \
man/systemd-binfmt.service.xml \
man/systemd-bootchart.xml \
man/systemd-bus-proxyd.xml \
man/systemd-bus-proxyd@.service.xml \
man/systemd-cat.xml \
man/systemd-cgls.xml \
man/systemd-cgtop.xml \
man/systemd-coredumpctl.xml \
man/systemd-cryptsetup-generator.xml \
man/systemd-cryptsetup@.service.xml \
man/systemd-delta.xml \
man/systemd-detect-virt.xml \
man/systemd-efi-boot-generator.xml \
man/systemd-fsck@.service.xml \
man/systemd-fstab-generator.xml \
man/systemd-getty-generator.xml \
man/systemd-gpt-auto-generator.xml \
man/systemd-halt.service.xml \
man/systemd-hostnamed.service.xml \
man/systemd-inhibit.xml \
man/systemd-initctl.service.xml \
man/systemd-journal-gatewayd.service.xml \
man/systemd-journal-remote.xml \
man/systemd-journald.service.xml \
man/systemd-localed.service.xml \
man/systemd-logind.service.xml \
man/systemd-machine-id-setup.xml \
man/systemd-machined.service.xml \
man/systemd-modules-load.service.xml \
man/systemd-networkd-wait-online.service.xml \
man/systemd-networkd.service.xml \
man/systemd-notify.xml \
man/systemd-nspawn.xml \
man/systemd-quotacheck.service.xml \
man/systemd-random-seed.service.xml \
man/systemd-readahead-replay.service.xml \
man/systemd-remount-fs.service.xml \
man/systemd-resolved.service.xml \
man/systemd-rfkill@.service.xml \
man/systemd-run.xml \
man/systemd-shutdownd.service.xml \
man/systemd-sleep.conf.xml \
man/systemd-socket-proxyd.xml \
man/systemd-suspend.service.xml \
man/systemd-sysctl.service.xml \
man/systemd-system-update-generator.xml \
man/systemd-system.conf.xml \
man/systemd-timedated.service.xml \
man/systemd-timesyncd.service.xml \
man/systemd-tmpfiles.xml \
man/systemd-tty-ask-password-agent.xml \
man/systemd-udevd.service.xml \
man/systemd-update-utmp.service.xml \
man/systemd-user-sessions.service.xml \
man/systemd-vconsole-setup.service.xml \
man/systemd.automount.xml \
man/systemd.device.xml \
man/systemd.directives.xml \
man/systemd.exec.xml \
man/systemd.index.xml \
man/systemd.journal-fields.xml \
man/systemd.kill.xml \
man/systemd.link.xml \
man/systemd.mount.xml \
man/systemd.netdev.xml \
man/systemd.network.xml \
man/systemd.path.xml \
man/systemd.preset.xml \
man/systemd.resource-control.xml \
man/systemd.scope.xml \
man/systemd.service.xml \
man/systemd.slice.xml \
man/systemd.snapshot.xml \
man/systemd.socket.xml \
man/systemd.special.xml \
man/systemd.swap.xml \
man/systemd.target.xml \
man/systemd.time.xml \
man/systemd.timer.xml \
man/systemd.unit.xml \
man/systemd.xml \
man/telinit.xml \
man/timedatectl.xml \
man/tmpfiles.d.xml \
man/udev.xml \
man/udevadm.xml \
man/user-system-options.xml \
man/vconsole.conf.xml

File diff suppressed because it is too large Load Diff

10748
Makefile.in

File diff suppressed because it is too large Load Diff

1197
NEWS

File diff suppressed because it is too large Load Diff

99
README
View File

@ -30,23 +30,28 @@ AUTHOR:
LICENSE: LICENSE:
LGPLv2.1+ for all code LGPLv2.1+ for all code
- except sd-daemon.[ch] and sd-readahead.[ch] which are MIT - except sd-readahead.[ch] which is MIT
- except src/shared/MurmurHash3.c which is Public Domain - except src/shared/MurmurHash2.c which is Public Domain
- except src/shared/siphash24.c which is CC0 Public Domain
- except src/journal/lookup3.c which is Public Domain - except src/journal/lookup3.c which is Public Domain
- except src/udev/* which is (currently still) GPLv2, GPLv2+ - except src/udev/* which is (currently still) GPLv2, GPLv2+
REQUIREMENTS: REQUIREMENTS:
Linux kernel >= 3.0 Linux kernel >= 3.0
Linux kernel >= 3.3 for loop device partition support features with nspawn
Linux kernel >= 3.8 for Smack support
Kernel Config Options:
CONFIG_DEVTMPFS CONFIG_DEVTMPFS
CONFIG_CGROUPS (it's OK to disable all controllers) CONFIG_CGROUPS (it is OK to disable all controllers)
CONFIG_INOTIFY_USER CONFIG_INOTIFY_USER
CONFIG_SIGNALFD CONFIG_SIGNALFD
CONFIG_TIMERFD CONFIG_TIMERFD
CONFIG_EPOLL CONFIG_EPOLL
CONFIG_NET CONFIG_NET
CONFIG_SYSFS CONFIG_SYSFS
CONFIG_PROC_FS
Linux kernel >= 3.8 for Smack support CONFIG_FHANDLE (libudev, mount and bind mount handling)
Udev will fail to work with the legacy layout: Udev will fail to work with the legacy layout:
CONFIG_SYSFS_DEPRECATED=n CONFIG_SYSFS_DEPRECATED=n
@ -61,13 +66,13 @@ REQUIREMENTS:
Some udev rules and virtualization detection relies on it: Some udev rules and virtualization detection relies on it:
CONFIG_DMIID CONFIG_DMIID
Mount and bind mount handling might require it:
CONFIG_FHANDLE
Support for some SCSI devices serial number retrieval, to Support for some SCSI devices serial number retrieval, to
create additional symlinks in /dev/disk/ and /dev/tape: create additional symlinks in /dev/disk/ and /dev/tape:
CONFIG_BLK_DEV_BSG CONFIG_BLK_DEV_BSG
Required for PrivateNetwork in service units:
CONFIG_NET_NS
Optional but strongly recommended: Optional but strongly recommended:
CONFIG_IPV6 CONFIG_IPV6
CONFIG_AUTOFS4_FS CONFIG_AUTOFS4_FS
@ -75,27 +80,37 @@ REQUIREMENTS:
CONFIG_TMPFS_XATTR CONFIG_TMPFS_XATTR
CONFIG_SECCOMP CONFIG_SECCOMP
For systemd-bootchart a kernel with procfs support and several Required for CPUShares in resource control unit settings
proc output options enabled is required: CONFIG_CGROUP_SCHED
CONFIG_PROC_FS CONFIG_FAIR_GROUP_SCHED
For systemd-bootchart, several proc debug interfaces are required:
CONFIG_SCHEDSTATS CONFIG_SCHEDSTATS
CONFIG_SCHED_DEBUG CONFIG_SCHED_DEBUG
For UEFI systems: For UEFI systems:
CONFIG_EFI_VARS CONFIG_EFIVAR_FS
CONFIG_EFI_PARTITION CONFIG_EFI_PARTITION
Note that kernel auditing is broken when used with systemd's Note that kernel auditing is broken when used with systemd's
container code. When using systemd in conjunction with container code. When using systemd in conjunction with
containers please make sure to either turn off auditing at containers, please make sure to either turn off auditing at
runtime using the kernel command line option "audit=0", or runtime using the kernel command line option "audit=0", or
turn it off at kernel compile time using: turn it off at kernel compile time using:
CONFIG_AUDIT=n CONFIG_AUDIT=n
If systemd is compiled with libseccomp support on
architectures which do not use socketcall() and where seccomp
is supported (this effectively means x86-64 and ARM, but
excludes 32-bit x86!), then nspawn will now install a
work-around seccomp filter that makes containers boot even
with audit being enabled. This works correctly only on kernels
3.14 and newer though. TL;DR: turn audit off, still.
dbus >= 1.4.0 glibc >= 2.14
libcap libcap
libseccomp >= 1.0.0 (optional)
libblkid >= 2.20 (from util-linux) (optional) libblkid >= 2.20 (from util-linux) (optional)
libkmod >= 14 (optional) libkmod >= 15 (optional)
PAM >= 1.1.2 (optional) PAM >= 1.1.2 (optional)
libcryptsetup (optional) libcryptsetup (optional)
libaudit (optional) libaudit (optional)
@ -103,21 +118,25 @@ REQUIREMENTS:
libattr (optional) libattr (optional)
libselinux (optional) libselinux (optional)
liblzma (optional) liblzma (optional)
tcpwrappers (optional)
libgcrypt (optional) libgcrypt (optional)
libqrencode (optional) libqrencode (optional)
libmicrohttpd (optional) libmicrohttpd (optional)
libpython (optional) libpython (optional)
make, gcc, and similar tools make, gcc, and similar tools
During runtime you need the following additional dependencies: During runtime, you need the following additional
dependencies:
util-linux >= v2.19 (requires fsck -l, agetty -s) util-linux >= v2.19 (requires fsck -l, agetty -s),
sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended) v2.21 required for tests in test/
dbus >= 1.4.0 (strictly speaking optional, but recommended)
sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended,
required for tests in test/)
dracut (optional) dracut (optional)
PolicyKit (optional) PolicyKit (optional)
When building from git you need the following additional dependencies: When building from git, you need the following additional
dependencies:
docbook-xsl docbook-xsl
xsltproc xsltproc
@ -128,20 +147,15 @@ REQUIREMENTS:
gperf gperf
gtkdocize (optional) gtkdocize (optional)
python (optional) python (optional)
python-lxml (optional, but required to build the indices)
sphinx (optional) sphinx (optional)
python-lxml (entirely optional)
When systemd-hostnamed is used it is strongly recommended to When systemd-hostnamed is used, it is strongly recommended to
install nss-myhostname to ensure that in a world of install nss-myhostname to ensure that, in a world of
dynamically changing hostnames the hostname stays resolvable dynamically changing hostnames, the hostname stays resolvable
under all circumstances. In fact, systemd-hostnamed will warn under all circumstances. In fact, systemd-hostnamed will warn
if nss-myhostname is not installed. if nss-myhostname is not installed.
Note that D-Bus can link against libsystemd-login.so, which
results in a cyclic build dependency. To accommodate for this
please build D-Bus without systemd first, then build systemd,
then rebuild D-Bus with systemd support.
To build HTML documentation for python-systemd using sphinx, To build HTML documentation for python-systemd using sphinx,
please first install systemd (using 'make install'), and then please first install systemd (using 'make install'), and then
invoke sphinx-build with 'make sphinx-<target>', with <target> invoke sphinx-build with 'make sphinx-<target>', with <target>
@ -154,11 +168,11 @@ USERS AND GROUPS:
even in the very early boot stages, where no other databases even in the very early boot stages, where no other databases
and network are available: and network are available:
tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk tty, dialout, kmem, video, audio, lp, cdrom, tape, disk
During runtime the journal daemon requires the During runtime, the journal daemon requires the
"systemd-journal" system group to exist. New journal files will "systemd-journal" system group to exist. New journal files will
be readable by this group (but not writable) which may be used be readable by this group (but not writable), which may be used
to grant specific users read access. to grant specific users read access.
It is also recommended to grant read access to all journal It is also recommended to grant read access to all journal
@ -173,6 +187,18 @@ USERS AND GROUPS:
exist. During execution this network facing service will drop exist. During execution this network facing service will drop
privileges and assume this uid/gid for security reasons. privileges and assume this uid/gid for security reasons.
Similar, the NTP daemon requires the "systemd-timesync" system
user and group to exist.
Similar, the network management daemon requires the
"systemd-network" system user and group to exist.
Similar, the name resolution daemon requires the
"systemd-resolve" system user and group to exist.
Similar, the kdbus dbus1 proxy daemon requires the
"systemd-bus-proxy" system user and group to exist.
WARNINGS: WARNINGS:
systemd will warn you during boot if /etc/mtab is not a systemd will warn you during boot if /etc/mtab is not a
symlink to /proc/mounts. Please ensure that /etc/mtab is a symlink to /proc/mounts. Please ensure that /etc/mtab is a
@ -180,15 +206,18 @@ WARNINGS:
systemd will warn you during boot if /usr is on a different systemd will warn you during boot if /usr is on a different
file system than /. While in systemd itself very little will file system than /. While in systemd itself very little will
break if /usr is on a separate partition many of its break if /usr is on a separate partition, many of its
dependencies very likely will break sooner or later in one dependencies very likely will break sooner or later in one
form or another. For example udev rules tend to refer to form or another. For example, udev rules tend to refer to
binaries in /usr, binaries that link to libraries in /usr or binaries in /usr, binaries that link to libraries in /usr or
binaries that refer to data files in /usr. Since these binaries that refer to data files in /usr. Since these
breakages are not always directly visible systemd will warn breakages are not always directly visible, systemd will warn
about this, since this kind of file system setup is not really about this, since this kind of file system setup is not really
supported anymore by the basic set of Linux OS components. supported anymore by the basic set of Linux OS components.
systemd requires that the /run mount point exists. systemd also
requires that /var/run is a a symlink to /run.
For more information on this issue consult For more information on this issue consult
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken

584
TODO
View File

@ -1,218 +1,212 @@
Bugfixes: Bugfixes:
* Re-enable "fsck -l" when it is ready:
https://bugs.freedesktop.org/show_bug.cgi?id=79576#c5
* enabling an instance unit creates pointless link, and * Should systemctl status \* work on all unit types, not just .service?
* enabling an instance unit creates a pointless link, and
the unit will be started with getty@getty.service: the unit will be started with getty@getty.service:
$ systemctl enable getty@.service $ systemctl enable getty@.service
ln -s '/usr/lib/systemd/system/getty@.service' '/etc/systemd/system/getty.target.wants/getty@.service' ln -s '/usr/lib/systemd/system/getty@.service' '/etc/systemd/system/getty.target.wants/getty@.service'
* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
* swap units that are activated by one name but shown in the kernel under another are semi-broken
* Dangling symlinks of .automount unit files in .wants/ directories, set up * Dangling symlinks of .automount unit files in .wants/ directories, set up
automount points even when the original .automount file did not exist automount points even when the original .automount file did not exist
anymore. Only the .mount unit was still around. anymore. Only the .mount unit was still around.
* make polkit checks async
* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point. * properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
* ellipsize_mem must take into account multi-byte unicode characters, and
- make the resulting line the requested number of *characters*, not *bytes*,
- avoid truncuating multi-byte sequences in the middle.
* When we detect invalid UTF-8, we cant't use it in an error message:
log...("Path is not UTF-8 clean, ignoring assignment: %s", rvalue);
* shorten the message to sane length: * shorten the message to sane length:
Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details. Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details.
Fedora 20: * sd_bus_unref() is broken regarding self-references and "pseudo thread-safety".
See the comment in sd_bus_unref() for more..
* external: ps should gain colums for slice and machine External:
* Fedora: when installing fedora with yum --installroot /var/run is a directory, not a symlink
* localed:
- localectl: support new converted x11→console keymaps
* when installing fedora with yum --installroot /var/run is a directory, not a symlink
https://bugzilla.redhat.com/show_bug.cgi?id=975864 https://bugzilla.redhat.com/show_bug.cgi?id=975864
CGroup Rework Completion:
* introduce "mainpid" for scopes (or maybe not?)
* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
* implement per-slice CPUFairScheduling=1 switch
* handle jointly mounted controllers correctly
* introduce high-level settings for RT budget, swappiness
* wiki: guidelines how to make use of new cgroup apis
Features:
* set $SHELL where we set $HOME and $USER when User= is set of a service, drop its manual setting from user@.service
* we probably should replace the left-over uses of strv_append() and replace them by strv_push() or strv_extend()
* move config_parse_path_strv() out of conf-parser.c
* libdsystemd-bus should expose utf8 validation calls
* After coming back from hibernation reset hibernation swap partition
* If we try to find a unit via a dangling symlink generate a clean
error. Currently we just ignore it and read the unit from the search
path anyway.
* When a Type=forking service fails and needed another service that
service is not cleaned up again when it has StopWhenUnneeded=yes
http://lists.freedesktop.org/archives/systemd-devel/2013-July/012141.html
* backlight: properly handle multiple backlight devices for the same
hardware: at shutdown we should only save the backlight setting for
the "best" way to access the backlight. Strategy should be: at
shutdown, ignore all backlights that are connected to a non-eDP or
non-LVDS port, and then prefer the firmware device over platform
device over raw device per-PCI card. Delete all old data. At boot
simply apply whatever data we find. Also see
http://cgit.freedesktop.org/libbacklight/tree/libbacklight.c#n194
* rfkill: save/restore soft rfkill status across reboots
* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
* ensure scope units may be started only a single time
* document that in instead of FsckPassNo= people should just add a manual dep to systemd-fsck@.service to their mount units.
* better error message if you run systemctl without systemd running
* systemctl status output should should include list of triggering units and their status
* for transient units, instead of writing out drop-ins for all properties consider serializing them in the normal serialization stream
* logind: when logging out, remove user-owned sysv and posix IPC objects
* session scopes/user unit: add RequiresMountsFor for the home directory of the user
* add a man page containing packaging guidelines and recommending usage of things like Documentation=, PrivateTmp=, PrivateNetwork= and ReadOnlyDirectories=/etc /usr.
* journalctl: instead --after-cursor= maybe have a --cursor=XYZ+1 syntax?
* given that logind/machined now let PID 1 do all nasty work we can
probably reduce the capability set they retain substantially.
* btrfs raid assembly: some .device jobs stay stuck in the queue
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros. * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines * Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
* make sure gdm doesn't use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd Features:
* when parsing calendar timestamps support the UTC timezone (even if we won't support arbitrary timezone specs, support UTC itself certainly makes sense), also support syntaxes such as +0200 * generator that automatically discovers btrfs subvolumes, identifies their purpose based on some xattr on them.
* when a kernel driver logs in a tight loop we should ratelimit that too. * support setting empty environment variables with Environment= and EnvironmentFile=
* "systemctl disable" of a unit instance removes all symlinks, should * machined/machinectl: sort IP addresses we return by scope and protocol
only remove the instance symlink (systemctl disable of a template * machined: write NSS module for looking up IP addresses for machines
unit however should remove them all).
* journald: optionally, log debug messages to /run but everything else to /var * timer units: actually add extra delays to timer units with high AccuracySec values, don't start them already when we are awake...
* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so) * timesyncd:
- hookup with networkd: NTP servers from dhcp
* journald: when we drop syslog messages because the syslog socket is * a way for container managers to turn off getty starting via $container_headless= or so...
full, make sure to write how many messages are lost as first thing
to syslog when it works again. * figure out a nice way how we can let the admin know what child/sibling unit causes cgroup membership for a specific unit
* add a kernel command line option to enable the debug shell
* journalctl: add the ability to look for the most recent process of a binary. journalctl /usr/bin/X11 --pid=-1 or so...
* set NOTIFY_SOCKET also for control processes
* drop parsing of chkconfig header lines from service.c
* mount_cgroup_controllers(): symlinks need to get the label applied
* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services they run added to the initial transaction and thus confuse Type=idle.
* Add RPM macros for registering/unregistering binfmt drop-ins
* Add timeout to early-boot, and shut down the system if it is hit. Solves the laptop-in-bag problem and is useful for embedded cases
* Run most system services with cgroupfs read-only and procfs with a more secure mode (doesn't work, since the hidepid= option is per-pid-namespace, not per-mount)
* sd-event: generate a failure of a default event loop is executed out-of-thread
* expose "Locked" property on logind sesison objects
* add bus api to query unit file's X fields.
* consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup=
* sd-event: define more intervals where we will shift wakeup intervals around in, 1h, 6h, 24h, ...
* gpt-auto-generator:
- Support LUKS for root devices
- Define new partition type for encrypted swap? Support probed LUKS for encrypted swap?
- Make /home automount rather than mount?
* improve journalctl performance by loading journal files
lazily. Encode just enough information in the file name, so that we
do not have to open it to know that it is not interesting for us, for
the most common operations.
* support transient mount units
* add an "input" group to udev logic and add all input devices to it
* add generator that pulls in systemd-network from containers when
CAP_NET_ADMIN is set, more than the loopback device is defined, even
when it is otherwise off
* MessageQueueMessageSize= and RLimitFSIZE= (and suchlike) should use parse_iec_size().
* "busctl status" works only as root on dbus1, since we cannot read
/proc/$PID/exe
* implement Distribute= in socket units to allow running multiple
service instances processing the listening socket, and open this up
for ReusePort=
* socket units: support creating sockets in different namespace,
opening it up for JoinsNamespaceOf=. This would require to fork off
a tiny process that joins the namespace and creates/binds the socket
and passes this back to PID1 via SCM_RIGHTS. This also could be used
to allow Chown/chgrp on sockets without requiring NSS in PID 1.
* New service property: maximum CPU and wallclock runtime for a service
* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
$UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
should SIGSTOP all unit processes in a loop until all processes of
it are fully stopped. This can later be used for app management by
desktop UIs such as gnome-shell to freeze apps that are not visible
on screen, not unlike how job control works on the shell
* completions:
- manager property enumeration was broken when systemd moved to /usr/lib/
* cgroups:
- implement per-slice CPUFairScheduling=1 switch
- handle jointly mounted controllers correctly
- introduce high-level settings for RT budget, swappiness
- how to reset dynamically changed unit cgroup attributes sanely?
- when reloading configuration, apply new cgroup configuration
- when recursively showing the cgroup hierarchy, optionally also show
the hierarchies of child processes
* transient units:
- allow creating auxiliary units with the same call
- add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt
- ensure scope units may be started only a single time
* Automatically configure swap partition to use for hibernation by looking for largest swap partition on the root disk?
* when we detect low battery and no AC on boot, show pretty splash and refuse boot
* machined, localed: when we try to kill an empty cgroup, generate an ESRCH error over the bus
* libsystemd-journal, libsystemd-login, libudev: add calls to easily attach these objects to sd-event event loops
* be more careful what we export on the bus as (usec_t) 0 and (usec_t) -1
* unify dispatch table in systemctl_main() and friends
* Automatically configure swap partition to use for hibernation by looking for largest swap partition on the root disk?
* rfkill,backlight: we probably should run the load tools inside of the udev rules so that the state is properly initialized by the time other software sees it
* After coming back from hibernation reset hibernation swap partition using the /dev/snapshot ioctl APIs
* If we try to find a unit via a dangling symlink, generate a clean
error. Currently, we just ignore it and read the unit from the search
path anyway.
* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
* given that logind now lets PID 1 do all nasty work, we can
probably reduce the capability set it retains substantially.
(we need CAP_SYS_ADMIN for drmSetMaster(), so maybe not worth it)
* btrfs raid assembly: some .device jobs stay stuck in the queue
* make sure gdm does not use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd
* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted. * man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
* load .d/*.conf dropins for device units * load .d/*.conf dropins for device units
* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ...
* service_coldplug() appears to reinstall the wrong stop timeout watch?
* transient units: allow creating auxiliary units with the same call
* how to reset dynamically changed attributes sanely?
* when reloading configuration, apply new cgroup configuration
* journald: make sure ratelimit is actually really per-service with the new cgroup changes
* gparted needs to disable auto-activation of mount units somehow, or
maybe we should stop doing auto-activation of this after boot
entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
Maybe take a BSD lock at the disk device node and teach udev to
check for that and suppress event handling.
* when recursively showing the cgroup hierarchy, optionally also show
the hierarchies of child processes
* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
* we should properly escape ssh hostnames we add into dbus server strings
* something pulls in pcre as so dep into our daemons such as hostnamed.
* document systemd-journal-flush.service properly
* change systemd-journal-flush into a service that stays around during
boot, and causes the journal to be moved back to /run on shutdown,
so that we don't keep /var busy. This needs to happen synchronously,
hence doing this via signals is not going to work.
* allow implementation of InaccessibleDirectories=/ plus * allow implementation of InaccessibleDirectories=/ plus
ReadOnlyDirectories=... for whitelisting files for a service. ReadOnlyDirectories=... for whitelisting files for a service.
* libsystemd-bus: * sd-bus:
- default policy (allow uid == 0 and our own uid) - when kdbus does not take our message without memfds, try again with memfds
- enforce alignment of pointers passed in - systemd-bus-proxyd needs to enforce good old XML policy
- when kdbus doesn't take our message without memfds, try again with memfds - allow updating attach flags during runtime
- implement translator service - pid1: peek into activating message when activating a service
- port systemd to new library - introduce sd_bus_emit_object_added()/sd_bus_emit_object_removed() that automatically includes the build-in interfaces in the list
- implement busname unit type in systemd - port to sd-resolve for connecting to TCP dbus servers
- move to gvariant - see if we can drop more message validation on the sending side
- merge busctl into systemctl or so? - add API to clone sd_bus_message objects
- synthesize sd_bus_message objects from kernel messages - make AddMatch calls on dbus1 transports async?
- properly implement name registry ioctls for kdbus - kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
- get rid of object hash table, use decision tree everyhwere instead? - longer term: priority inheritance
- implement monitor logic - dbus spec updates:
- object vtable logic - kdbus mapping
- longer term: - NameLost/NameAcquired obsolete
* priority queues - GVariant
* priority inheritance - "const" properties (posted)
- path escaping
- update systemd.special(7) to mention that dbus.socket is only about the compatibility socket now
- test bloom filter generation indexes
* sd-event
- allow multiple signal handlers per signal?
* in the final killing spree, detect processes from the root directory, and * in the final killing spree, detect processes from the root directory, and
complain loudly if they have argv[0][0] == '@' set. complain loudly if they have argv[0][0] == '@' set.
https://bugzilla.redhat.com/show_bug.cgi?id=961044 https://bugzilla.redhat.com/show_bug.cgi?id=961044
* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
makes the audit userspace to think auditing is not available in the
kernel.
* Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
https://bugzilla.redhat.com/show_bug.cgi?id=952634
* maybe add a warning to the unit file parses where the access mode of unit files is nonsensical.
* investigate endianness issues of UUID vs. GUID * investigate endianness issues of UUID vs. GUID
* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we * dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
should be able to safely try another attempt when the bus call LoadUnit() is invoked. should be able to safely try another attempt when the bus call LoadUnit() is invoked.
* if pam_systemd is invoked by su from a process that is outside of a
any session we should probably just become a NOP, since that's
usually not a real user session but just some system code that just
needs setuid().
* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login. * add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
* add a pam module that on password changes updates any LUKS slot where the password matches * add a pam module that on password changes updates any LUKS slot where the password matches
@ -221,14 +215,13 @@ Features:
* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations... * timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly. * timedatectl: print a nicer message when enabling ntp fails because ntpd/chrony are not installed
* cgtop: make cgtop useful in a container * cgtop: make cgtop useful in a container
* test/: * test/:
- add 'set -e' to scripts in test/ - add 'set -e' to scripts in test/
- make stuff in test/ work with separate output dir - make stuff in test/ work with separate output dir
- remove all the duplicated code in test/
* systemctl delete x.snapshot leaves no trace in logs (at least at default level). * systemctl delete x.snapshot leaves no trace in logs (at least at default level).
@ -237,86 +230,49 @@ Features:
file. file.
* seems that when we follow symlinks to units we prefer the symlink * seems that when we follow symlinks to units we prefer the symlink
destination path over /etc and /usr. We shouldn't do that. Instead destination path over /etc and /usr. We should not do that. Instead
/etc should always override /run+/usr and also any symlink /etc should always override /run+/usr and also any symlink
destination. destination.
* when isolating, try to figure out a way how we implicitly can order * when isolating, try to figure out a way how we implicitly can order
all units we stop before the isolating unit... all units we stop before the isolating unit...
* add ConditionArchitecture= or so
* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off}) * teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
* Support SO_REUSEPORT with socket activation:
- Let systemd maintain a pool of servers.
- Use for seamless upgrades, by running the new server before stopping the
old.
* after all byte-wise realloc() is slow, even on glibc, so i guess we * after all byte-wise realloc() is slow, even on glibc, so i guess we
need manual exponential loops after all need manual exponential loops after all
* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the * BootLoaderSpec: Clarify that the kernel has to be in $BOOT. Clarify
kernel has to be in $BOOT. Clarify that the boot loader should be that the boot loader should be installed to the ESP. Define a way
installed to the ESP. Define a way how an installer can figure out how an installer can figure out whether a BLS compliant boot loader
whether a BLS compliant boot loader is installed. is installed.
* man: remove .include documentation, and instead push people to use .d/*.conf
* think about requeuing jobs when daemon-reload is issued? usecase: * think about requeuing jobs when daemon-reload is issued? usecase:
the initrd issues a reload after fstab from the host is accessible the initrd issues a reload after fstab from the host is accessible
and we might want to requeue the mounts local-fs acquired through and we might want to requeue the mounts local-fs acquired through
that automatically. that automatically.
* rework specifier logic so that we can distinguish OOM errors from other errors
* systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep() * systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
* journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8. * journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
* remove any syslog support from log.c -- we probably can't do this before split-off udev is gone for good * remove any syslog support from log.c -- we probably cannot do this before split-off udev is gone for good
* documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
* add a tool that lists active timer units plus their next elapse and the time the units ran last
* man: document the very specific env the shutdown drop-in tools live in
* shutdown logging: store to EFI var, and store to USB stick? * shutdown logging: store to EFI var, and store to USB stick?
* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
* systemctl: maybe add "systemctl add-wants" or so...
* man: add more examples to man pages
* man: maybe sort directives in man pages, and take sections from --help and apply them to man too
* write UI tool that pops up emergency messages from the journal as notification * write UI tool that pops up emergency messages from the journal as notification
* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service * think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
* msgcatalog determine default language of entries from the catalog
file name. i.e. foobar.de_DE.catalog would set the default entry
name for the entries to de_DE if they aren't explicitly suffixed
individually.
* use "log level" rather than "log priority" everywhere * use "log level" rather than "log priority" everywhere
* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to. * timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
* dev-setup.c: when running in a container, create a tiny stub udev
database with the systemd tag set for all network interfaces found,
so that libudev reports them as present, and systemd's .device units
will be activated.
* merge unit_kill_common() and unit_kill_context() * merge unit_kill_common() and unit_kill_context()
* introduce ExecCondition= in services * introduce ExecCondition= in services
* EFI: * EFI:
- fsck hookup for the ESP mount is missing
- write man page for efi boot generator
- honor language efi variables for default language selection (if there are any?) - honor language efi variables for default language selection (if there are any?)
- honor timezone efi variables for default timezone selection (if there are any?) - honor timezone efi variables for default timezone selection (if there are any?)
- change bootctl to be backed by systemd-bootd to control temporary and persistent default boot goal plus efi variables - change bootctl to be backed by systemd-bootd to control temporary and persistent default boot goal plus efi variables
@ -338,25 +294,24 @@ Features:
- logind: wakelock/opportunistic suspend support - logind: wakelock/opportunistic suspend support
- Add pretty name for seats in logind - Add pretty name for seats in logind
- logind: allow showing logout dialog from system? - logind: allow showing logout dialog from system?
- logind: non-local X11 server handling
- logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
- pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
- logind: GetSessionByPID() should accept 0 as PID value
- we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case
- session scopes/user unit: add RequiresMountsFor for the home directory of the user
- add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
- if pam_systemd is invoked by su from a process that is outside of a
any session we should probably just become a NOP, since that's
usually not a real user session but just some system code that just
needs setuid().
* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty. * exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
* service: watchdog logic: for testing purposes allow ping, but do not require pong * service: watchdog logic: for testing purposes allow ping, but do not require pong
* journal: * journal:
- do not use magic msync() in src/journal/journal-file.c, just call fsync()
<alxchk> poettering: looks like msync just calls vfs_fsync
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/mm/msync.c#n18
- import and delete pstore filesystem content at startup - import and delete pstore filesystem content at startup
- journald: also get thread ID from client, plus thread name - journald: also get thread ID from client, plus thread name
- journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
- add API to close/reopen/get fd for journal client fd in libsystemd-journal. - add API to close/reopen/get fd for journal client fd in libsystemd-journal.
- fallback to /dev/log based logging in libsystemd-journal, if we can't log natively? - fallback to /dev/log based logging in libsystemd-journal, if we cannot log natively?
- declare the local journal protocol stable in the wiki interface chart - declare the local journal protocol stable in the wiki interface chart
- journal: reuse XZ context - journal: reuse XZ context
- sd-journal: speed up sd_journal_get_data() with transparent hash table in bg - sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
@ -369,7 +324,6 @@ Features:
- journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access - journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
- journactl: support negative filtering, i.e. FOOBAR!="waldo", - journactl: support negative filtering, i.e. FOOBAR!="waldo",
and !FOOBAR for events without FOOBAR. and !FOOBAR for events without FOOBAR.
- journal: when rotating, copy over old acls/access mode
- journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs. - journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
- journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again. - journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
- journal: find a way to allow dropping history early, based on priority, other rules - journal: find a way to allow dropping history early, based on priority, other rules
@ -380,22 +334,36 @@ Features:
- refuse taking lower-case variable names in sd_journal_send() and friends. - refuse taking lower-case variable names in sd_journal_send() and friends.
- journald: we currently rotate only after MaxUse+MaxFilesize has been reached. - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
- journal: deal nicely with byte-by-byte copied files, especially regards header - journal: deal nicely with byte-by-byte copied files, especially regards header
- journalctl: expand tabs
- journal: store euid in journal if it differs from uid - journal: store euid in journal if it differs from uid
- journal: sanely deal with entries which are larger than the individual file size, but where the components would fit - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
- Replace utmp, wtmp, btmp, and lastlog completely with journal - Replace utmp, wtmp, btmp, and lastlog completely with journal
- Port upower to use the journal for historical power information used in future calculations - journalctl: instead --after-cursor= maybe have a --cursor=XYZ+1 syntax?
- tmpfiles: when applying ownership to /run/log/journal, also do this for the journal fails contained in it
- when a kernel driver logs in a tight loop, we should ratelimit that too.
- journald: optionally, log debug messages to /run but everything else to /var
- journald: when we drop syslog messages because the syslog socket is
full, make sure to write how many messages are lost as first thing
to syslog when it works again.
- journald: make sure ratelimit is actually really per-service with the new cgroup changes
- change systemd-journal-flush into a service that stays around during
boot, and causes the journal to be moved back to /run on shutdown,
so that we do not keep /var busy. This needs to happen synchronously,
hence doing this via signals is not going to work.
* document: * document:
- document unit_name_mangle() - document that deps in [Unit] sections ignore Alias= fields in
- document that deps in [Unit] sections ignore Alias= fileds in
[Install] units of other units, unless those units are disabled [Install] units of other units, unless those units are disabled
- man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets - man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
- Document word splitting syntax for ExecStart= and friends
- document that units from /etc override those from /usr and /run
- document the exit codes when services fail before they are exec()ed - document the exit codes when services fail before they are exec()ed
- document that service reload may be implemented as service reexec - document that service reload may be implemented as service reexec
- document in wiki how to map ical recurrence events to systemd timer unit calendar specifications - document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
- add a man page containing packaging guidelines and recommending usage of things like Documentation=, PrivateTmp=, PrivateNetwork= and ReadOnlyDirectories=/etc /usr.
- document systemd-journal-flush.service properly
- documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
- man: document the very specific env the shutdown drop-in tools live in
- man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
- man: add more examples to man pages
- man: maybe sort directives in man pages, and take sections from --help and apply them to man too
* systemctl: * systemctl:
- systemctl list-jobs - show dependencies - systemctl list-jobs - show dependencies
@ -407,22 +375,32 @@ Features:
- print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service - print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
- add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible - add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
- systemctl enable: improve the success messages (i.e. more human readable, less shell-like) - systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
- systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards? - systemctl enable: fail if target to alias into does not exist? maybe show how many units are enabled afterwards?
- systemctl: "Journal has been rotated since unit was started." message is misleading - systemctl: "Journal has been rotated since unit was started." message is misleading
- support "systemctl stop foobar@.service" to stop all units matching a certain template - support "systemctl stop foobar@.service" to stop all units matching a certain template
- Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files" - Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
- better error message if you run systemctl without systemd running
- systemctl status output should should include list of triggering units and their status
* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations * unit install:
- "systemctl mask" should find all names by which a unit is accessible
(i.e. by scanning for symlinks to it) and link them all to /dev/null
- "systemctl disable" of a unit instance removes all symlinks, but should
only remove the instance symlink (systemctl disable of a template
unit however should remove them all).
- systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
- systemctl: maybe add "systemctl add-wants" or so...
* deal with sendmail/postfix exclusivity * deal with sendmail/postfix exclusivity
* timer units: * timer units:
- configurable jitter for timer events
- timer events with system resume
- timer units should get the ability to trigger when: - timer units should get the ability to trigger when:
o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET) o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
o DST changes o DST changes
- Support 2012-02~4 as syntax for specifying the fourth to last day of the month. - Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
- calendarspec: support value ranges with ".." notation. Example: 2013-4..8-1
- when parsing calendar timestamps support the UTC timezone (even if we will not support arbitrary timezone specs, support UTC itself certainly makes sense), also support syntaxes such as +0200
- Modulate timer frequency based on battery state
* update the kernel's TZ (sys_tz) when DST changes * update the kernel's TZ (sys_tz) when DST changes
@ -433,10 +411,6 @@ Features:
mode, it will never touch the RTC if the no reliable time source is active or the mode, it will never touch the RTC if the no reliable time source is active or the
user did not request anything like it. user did not request anything like it.
* if booted in "quiet" mode, and an error happens, turn on status
output again, so that the emergency mode isn't totally
surprising. Also, terminate plymouth.
* libunwind support for coredump pattern hook, and includes this in * libunwind support for coredump pattern hook, and includes this in
the message for coredumps. After all, libunwind is now capable to the message for coredumps. After all, libunwind is now capable to
unwind coredumps since a few weeks ago. This probably requires that unwind coredumps since a few weeks ago. This probably requires that
@ -444,26 +418,21 @@ Features:
logs-show.c. Alternatively: use libelfutil, which seems to be the logs-show.c. Alternatively: use libelfutil, which seems to be the
better supported alternative. better supported alternative.
* figure out relation of --all and --full in the various tools
* add libsystemd-password or so to query passwords during boot using the password agent logic * add libsystemd-password or so to query passwords during boot using the password agent logic
* If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle(). * If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
* fedup: add --unit to systemctl switch-root somehow * fedup: add --unit to systemctl switch-root somehow
* fedup: don't delete initrd on switch-root * fedup: do not delete initrd on switch-root
* fedup: generator * fedup: generator
* timedated: * timedated: refuse time changes when NTP is on
- timedated: refuse time changes when NTP is on
* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed * clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel * on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
* add "provisioning" instructions to setup an empty /etc + /var * add "factory" instructions to setup an empty /etc + /var
- used to setup a new container from a shared /usr - used to setup a new container from a shared /usr
- superset of tmpfiles model - superset of tmpfiles model
- instructions shipped by packages and stored in /usr/lib/ - instructions shipped by packages and stored in /usr/lib/
@ -473,26 +442,14 @@ Features:
* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without * make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
waiting for the timeout waiting for the timeout
* high level net_prio setting in execution context
* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ... * hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't * currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
* refuse boot if /etc/machine-id is not useful (or set taint?)
* nspawn: * nspawn:
- nspawn: consider changing users for -u with su, so that NSS resolving works correctly
- nspawn: implement personality changes a la linux32(8)
- nspawn: --read-only is not applied recursively to submounts
- nspawn: make use of device cgroup controller by default
- bind mount read-only the cgroup tree higher than nspawn - bind mount read-only the cgroup tree higher than nspawn
- nspawn: investigate whether we can support the same as LXC's - refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK).
lxc.network.type=phys mode, and pass through entire network - support taking a btrfs snapshot at startup and dropping it afterwards
interfaces to the container
- nspawn: maybe add a way to drop additional caps, in addition to add additional caps
- nspawn: maybe explicitly reset loginuid?
- nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context
* cryptsetup: * cryptsetup:
- cryptsetup-generator: allow specification of passwords in crypttab itself - cryptsetup-generator: allow specification of passwords in crypttab itself
@ -500,8 +457,6 @@ Features:
https://bugs.freedesktop.org/show_bug.cgi?id=54982 https://bugs.freedesktop.org/show_bug.cgi?id=54982
- support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator - support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it * hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
https://bugs.freedesktop.org/show_bug.cgi?id=54712 https://bugs.freedesktop.org/show_bug.cgi?id=54712
@ -524,21 +479,15 @@ Features:
* explore multiple service instances per listening socket idea * explore multiple service instances per listening socket idea
* shutdown: don't read-only mount anything when running in container
* MountFlags=shared acts as MountFlags=slave right now. * MountFlags=shared acts as MountFlags=slave right now.
* ReadOnlyDirectories= is not applied recursively to submounts
* drop PID 1 reloading, only do reexecing (difficult: Reload() * drop PID 1 reloading, only do reexecing (difficult: Reload()
currently is properly synchronous, Reexec() is weird, because we currently is properly synchronous, Reexec() is weird, because we
can't delay the response properly until we are back, so instead of cannot delay the response properly until we are back, so instead of
being properly synchronous we just keep open the fd and close it being properly synchronous we just keep open the fd and close it
when done. That means clients don't get a successful method reply, when done. That means clients do not get a successful method reply,
but much rather a disconnect on success. but much rather a disconnect on success.
* use opterr = 0 for all getopt tools
* properly handle loop back mounts via fstab, especially regards to fsck/passno * properly handle loop back mounts via fstab, especially regards to fsck/passno
* allow services with no ExecStart= but with an ExecStop= * allow services with no ExecStart= but with an ExecStop=
@ -549,17 +498,8 @@ Features:
* rename "userspace" to "core-os" * rename "userspace" to "core-os"
* syscall filter:
- syscall filter: add knowledge about compat syscalls
- syscall filter: don't enforce no new privs?
- syscall filter: option to return EPERM rather than SIGSYS?
- syscall filter: port to libseccomp
- system-wide seccomp filter
* .device aliases need to be implemented with the "following" logic, probably.
* load-fragment: when loading a unit file via a chain of symlinks * load-fragment: when loading a unit file via a chain of symlinks
verify that it isn't masked via any of the names traversed. verify that it is not masked via any of the names traversed.
* introduce Type=pid-file * introduce Type=pid-file
@ -567,8 +507,6 @@ Features:
* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr * when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
* move passno parsing to fstab generator
* automount: implement expire: * automount: implement expire:
- set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
- periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
@ -580,8 +518,6 @@ Features:
- answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD - answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD
- AUTOFS_DEV_IOCTL_EXPIRE_CMD returns - AUTOFS_DEV_IOCTL_EXPIRE_CMD returns
* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
* ExecOnFailure=/usr/bin/foo * ExecOnFailure=/usr/bin/foo
* udev: * udev:
@ -589,17 +525,12 @@ Features:
- move to LGPL - move to LGPL
- kill scsi_id - kill scsi_id
- add trigger --subsystem-match=usb/usb_device device - add trigger --subsystem-match=usb/usb_device device
- reimport udev db after MOVE events for devices without dev_t
* cleanup syslog 'priority' vs. 'level' wording
* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting * when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
* support container_ttys=
* introduce mix of BindTo and Requisite * introduce mix of BindTo and Requisite
* add DeleteSocketsOnStop=yes|no option to socket units
* There's currently no way to cancel fsck (used to be possible via C-c or c on the console) * There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/ * add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
@ -610,18 +541,20 @@ Features:
* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting) * support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max * default to actual 32-bit PIDs, via /proc/sys/kernel/pid_max
* be able to specify a forced restart of service A where service B depends on, in case B * be able to specify a forced restart of service A where service B depends on, in case B
needs to be auto-respawned? needs to be auto-respawned?
* when a bus name of a service disappears from the bus make sure to queue further activation requests * when a bus name of a service disappears from the bus make sure to queue further activation requests
* tmpfiles: apply "x" on "D" too (see patch from William Douglas) * tmpfiles:
- check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
- apply "x" on "D" too (see patch from William Douglas)
* for services: don't set $HOME in services unless requested * for services: do not set $HOME in services unless requested
* hide PAM/TCPWrap options in fragment parser when compile time disabled * hide PAM options in fragment parser when compile time disabled
* when we automatically restart a service, ensure we restart its rdeps, too. * when we automatically restart a service, ensure we restart its rdeps, too.
@ -643,8 +576,6 @@ Features:
when we start a service in order to avoid confusion when a user when we start a service in order to avoid confusion when a user
assumes starting a service is enough to make it accessible assumes starting a service is enough to make it accessible
* support User= and Group= attributes for AF_UNIX sockets.
* Make it possible to set the keymap independently from the font on * Make it possible to set the keymap independently from the font on
the kernel cmdline. Right now setting one resets also the other. the kernel cmdline. Right now setting one resets also the other.
@ -696,19 +627,8 @@ Features:
* dot output for --test showing the 'initial transaction' * dot output for --test showing the 'initial transaction'
* port over to LISTEN_FDS/LISTEN_PID:
- rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
- cups HAVEPATCH
- postfix, saslauthd
- apache/samba
- libvirtd (/var/run/libvirt/libvirt-sock-ro)
- bluetoothd (/var/run/sdp! @/org/bluez/audio!)
- distccd
* fingerprint.target, wireless.target, gps.target, netdevice.target * fingerprint.target, wireless.target, gps.target, netdevice.target
* io priority during initialization
* drop cap bounding set in readahead and other services * drop cap bounding set in readahead and other services
* systemd-python: * systemd-python:
@ -722,17 +642,43 @@ Features:
- document initcall_debug - document initcall_debug
- kernel cmdline "bootchart" option for simplicity? - kernel cmdline "bootchart" option for simplicity?
* systemd-run is missing zsh completion scripts * udev-link-config:
- Make sure ID_PATH is always exported and complete for
network devices where possible, so we can safely rely
on Path= matching
- check MTUBytes parsing (expecting size_t but we are using unsigned)
* sd-rtnl:
- add support for more attribute types
- inbuilt piping support (essentially degenerate async)? see loopback-setup.c and other places
* networkd:
- add more keys to [Route] and [Address] sections
- add support for more DHCPv4 options (and, longer term, other kinds of dynamic config)
- send hostname to DHCP server
- add proper initrd support (in particular generate .network/.link files based on /proc/cmdline)
- add reduced [Link] support to .network files
- add Scope= parsing option for [Network]
- properly handle routerless dhcp leases
- set lifetime on the address acquired from dhcp
- patch kernel to support module alias for tunnel device (ipip/sit/gre),
then remove remove libkmod dependency and CAP_SYS_MODULE
- add veth netdev support (c.f. http://shorewall.net/bridge-Shorewall-perl.html#veth)
- add tun/tap netdev support
- add more attribute support for SIT tunnel
* networkd-wait-online:
- make operstates to wait for configurable?
* dhcp:
- figure out how much we can increase Maximum Message Size
- export timezone information
- FORCERENEW
External: External:
* dbus: * dbus:
- dbus --user
- natively watch for dbus-*.service symlinks (PENDING) - natively watch for dbus-*.service symlinks (PENDING)
- allow specification of socket mode/umask when allocating DBusServer
- allow disabling of fd passing when connecting a AF_UNIX connection
- allow disabling of UID passing for AUTH EXTERNAL
- always pass cred data along each message
- teach dbus to activate all services it finds in /etc/systemd/services/org-*.service - teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
* fix alsa mixer restore to not print error when no config is stored * fix alsa mixer restore to not print error when no config is stored
@ -741,17 +687,11 @@ External:
* patch kernel for xattr support in /dev, /proc/, /sys? * patch kernel for xattr support in /dev, /proc/, /sys?
* NTP: the kernel's 11-minutes-mode syncs the system time to the RTC, but only
in an ~30 minutes window. It does not adjust larger differences. Find a way
to tell the kernel, to always do a full time sync when the RTC is in UTC and
we are in 11-minutes-mode. When we trust the system time to NTP we also want
the RTC to sync up.
* kernel: add device_type = "fb", "fbcon" to class "graphics" * kernel: add device_type = "fb", "fbcon" to class "graphics"
* drop accountsservice's StandardOutput=syslog and Type=dbus fields * drop accountsservice's StandardOutput=syslog and Type=dbus fields
* dbus upstream still refers to dbus.target and shouldn't * dbus upstream still refers to dbus.target and should not
* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id * dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
@ -767,6 +707,8 @@ External:
* fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it * fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it
* register catalog database signature as file magic
Regularly: Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail() * look for close() vs. close_nointr() vs. close_nointr_nofail()
@ -775,11 +717,9 @@ Regularly:
* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
* %m in printf() instead of strerror(errno);
* pahole * pahole
* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()! * set_put(), hashmap_put() return values check. i.e. == 0 does not free()!
* use secure_getenv() instead of getenv() where appropriate * use secure_getenv() instead of getenv() where appropriate

84
aclocal.m4 vendored
View File

@ -474,6 +474,21 @@ m4_popdef([pkg_default])
m4_popdef([pkg_description]) m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR ]) dnl PKG_NOARCH_INSTALLDIR
# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# -------------------------------------------
# Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])# PKG_CHECK_VAR
# Copyright (C) 2002-2013 Free Software Foundation, Inc. # Copyright (C) 2002-2013 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
@ -1050,6 +1065,42 @@ fi
rmdir .tst 2>/dev/null rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])]) AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_MAINTAINER_MODE([DEFAULT-MODE])
# ----------------------------------
# Control maintainer-specific portions of Makefiles.
# Default is to disable them, unless 'enable' is passed literally.
# For symmetry, 'disable' may be passed as well. Anyway, the user
# can override the default with the --enable/--disable switch.
AC_DEFUN([AM_MAINTAINER_MODE],
[m4_case(m4_default([$1], [disable]),
[enable], [m4_define([am_maintainer_other], [disable])],
[disable], [m4_define([am_maintainer_other], [enable])],
[m4_define([am_maintainer_other], [enable])
m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode's default is 'disable' unless 'enable' is passed
AC_ARG_ENABLE([maintainer-mode],
[AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
am_maintainer_other[ make rules and dependencies not useful
(and sometimes confusing) to the casual installer])],
[USE_MAINTAINER_MODE=$enableval],
[USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
MAINT=$MAINTAINER_MODE_TRUE
AC_SUBST([MAINT])dnl
]
)
# Check to see how 'make' treats includes. -*- Autoconf -*- # Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2013 Free Software Foundation, Inc. # Copyright (C) 2001-2013 Free Software Foundation, Inc.
@ -1100,38 +1151,6 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf rm -f confinc confmf
]) ])
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_CC_C_O
# --------------
# Like AC_PROG_CC_C_O, but changed for automake.
AC_DEFUN([AM_PROG_CC_C_O],
[AC_REQUIRE([AC_PROG_CC_C_O])dnl
AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([compile])dnl
# FIXME: we rely on the cache variable name because
# there is no other way.
set dummy $CC
am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
if test "$am_t" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
dnl Make sure AC_PROG_CC is never called again, or it will override our
dnl setting of CC.
m4_define([AC_PROG_CC],
[m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2013 Free Software Foundation, Inc. # Copyright (C) 1997-2013 Free Software Foundation, Inc.
@ -1775,7 +1794,6 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
m4_include([m4/acx_libwrap.m4])
m4_include([m4/attributes.m4]) m4_include([m4/attributes.m4])
m4_include([m4/gtk-doc.m4]) m4_include([m4/gtk-doc.m4])
m4_include([m4/intltool.m4]) m4_include([m4/intltool.m4])

135
build-aux/config.guess vendored
View File

@ -1,8 +1,10 @@
#! /bin/sh #! /bin/sh
# Attempt to guess a canonical system name. # Attempt to guess a canonical system name.
# Copyright 1992-2013 Free Software Foundation, Inc. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012, 2013 Free Software Foundation, Inc.
timestamp='2013-06-10' timestamp='2012-12-29'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -50,7 +52,9 @@ version="\
GNU config.guess ($timestamp) GNU config.guess ($timestamp)
Originally written by Per Bothner. Originally written by Per Bothner.
Copyright 1992-2013 Free Software Foundation, Inc. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -132,27 +136,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_SYSTEM}" in
Linux|GNU|GNU/*)
# If the system lacks a compiler, then just pick glibc.
# We could probably try harder.
LIBC=gnu
eval $set_cc_for_build
cat <<-EOF > $dummy.c
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
#elif defined(__dietlibc__)
LIBC=dietlibc
#else
LIBC=gnu
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
;;
esac
# Note: order is significant - the case branches are not exclusive. # Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@ -874,21 +857,21 @@ EOF
exit ;; exit ;;
*:GNU:*:*) *:GNU:*:*)
# the GNU system # the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;; exit ;;
*:GNU/*:*:*) *:GNU/*:*:*)
# other systems with GNU libc and userland # other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
exit ;; exit ;;
i*86:Minix:*:*) i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix echo ${UNAME_MACHINE}-pc-minix
exit ;; exit ;;
aarch64:Linux:*:*) aarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
aarch64_be:Linux:*:*) aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
alpha:Linux:*:*) alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@ -901,54 +884,59 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;; EV68*) UNAME_MACHINE=alphaev68 ;;
esac esac
objdump --private-headers /bin/sh | grep -q ld.so.1 objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;; exit ;;
arm*:Linux:*:*) arm*:Linux:*:*)
eval $set_cc_for_build eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__ | grep -q __ARM_EABI__
then then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
else else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP | grep -q __ARM_PCS_VFP
then then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi echo ${UNAME_MACHINE}-unknown-linux-gnueabi
else else
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
fi fi
fi fi
exit ;; exit ;;
avr32*:Linux:*:*) avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
cris:Linux:*:*) cris:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC} echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;; exit ;;
crisv32:Linux:*:*) crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC} echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;; exit ;;
frv:Linux:*:*) frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
hexagon:Linux:*:*) hexagon:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
i*86:Linux:*:*) i*86:Linux:*:*)
echo ${UNAME_MACHINE}-pc-linux-${LIBC} LIBC=gnu
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit ;; exit ;;
ia64:Linux:*:*) ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
m32r*:Linux:*:*) m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
m68*:Linux:*:*) m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
mips:Linux:*:* | mips64:Linux:*:*) mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build eval $set_cc_for_build
@ -967,63 +955,54 @@ EOF
#endif #endif
EOF EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;; ;;
or1k:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
or32:Linux:*:*) or32:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
padre:Linux:*:*) padre:Linux:*:*)
echo sparc-unknown-linux-${LIBC} echo sparc-unknown-linux-gnu
exit ;; exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*) parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-${LIBC} echo hppa64-unknown-linux-gnu
exit ;; exit ;;
parisc:Linux:*:* | hppa:Linux:*:*) parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level # Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-gnu ;;
esac esac
exit ;; exit ;;
ppc64:Linux:*:*) ppc64:Linux:*:*)
echo powerpc64-unknown-linux-${LIBC} echo powerpc64-unknown-linux-gnu
exit ;; exit ;;
ppc:Linux:*:*) ppc:Linux:*:*)
echo powerpc-unknown-linux-${LIBC} echo powerpc-unknown-linux-gnu
exit ;;
ppc64le:Linux:*:*)
echo powerpc64le-unknown-linux-${LIBC}
exit ;;
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;; exit ;;
s390:Linux:*:* | s390x:Linux:*:*) s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC} echo ${UNAME_MACHINE}-ibm-linux
exit ;; exit ;;
sh64*:Linux:*:*) sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
sh*:Linux:*:*) sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*) sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
tile*:Linux:*:*) tile*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
vax:Linux:*:*) vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-${LIBC} echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;; exit ;;
x86_64:Linux:*:*) x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
xtensa*:Linux:*:*) xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC} echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
i*86:DYNIX/ptx:4*:*) i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@ -1256,21 +1235,19 @@ EOF
exit ;; exit ;;
*:Darwin:*:*) *:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
i386)
eval $set_cc_for_build eval $set_cc_for_build
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null grep IS_64BIT_ARCH >/dev/null
then then
case $UNAME_PROCESSOR in UNAME_PROCESSOR="x86_64"
i386) UNAME_PROCESSOR=x86_64 ;; fi
powerpc) UNAME_PROCESSOR=powerpc64 ;; fi ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac esac
fi
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;; exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*) *:procnto*:*:* | *:QNX:[0123456789]*:*)

30
build-aux/config.sub vendored
View File

@ -1,8 +1,10 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright 1992-2013 Free Software Foundation, Inc. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012, 2013 Free Software Foundation, Inc.
timestamp='2013-04-24' timestamp='2012-12-29'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -68,7 +70,9 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright 1992-2013 Free Software Foundation, Inc. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -252,7 +256,7 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \ | am33_2.0 \
| arc | arceb \ | arc \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \ | avr | avr32 \
| be32 | be64 \ | be32 | be64 \
@ -286,17 +290,16 @@ case $basic_machine in
| mipsisa64r2 | mipsisa64r2el \ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \ | mipstx39 | mipstx39el \
| mn10200 | mn10300 \ | mn10200 | mn10300 \
| moxie \ | moxie \
| mt \ | mt \
| msp430 \ | msp430 \
| nds32 | nds32le | nds32be \ | nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \ | nios | nios2 \
| ns16k | ns32k \ | ns16k | ns32k \
| open8 \ | open8 \
| or1k | or32 \ | or32 \
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \ | pyramid \
@ -366,7 +369,7 @@ case $basic_machine in
| aarch64-* | aarch64_be-* \ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \ | avr-* | avr32-* \
| be32-* | be64-* \ | be32-* | be64-* \
@ -404,13 +407,12 @@ case $basic_machine in
| mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \ | mipstx39-* | mipstx39el-* \
| mmix-* \ | mmix-* \
| mt-* \ | mt-* \
| msp430-* \ | msp430-* \
| nds32-* | nds32le-* | nds32be-* \ | nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \ | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \ | none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \ | open8-* \
| orion-* \ | orion-* \
@ -1352,7 +1354,7 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \ | -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
@ -1498,6 +1500,9 @@ case $os in
-aros*) -aros*)
os=-aros os=-aros
;; ;;
-kaos*)
os=-kaos
;;
-zvmoe) -zvmoe)
os=-zvmoe os=-zvmoe
;; ;;
@ -1589,9 +1594,6 @@ case $basic_machine in
mips*-*) mips*-*)
os=-elf os=-elf
;; ;;
or1k-*)
os=-elf
;;
or32-*) or32-*)
os=-coff os=-coff
;; ;;

View File

@ -204,7 +204,6 @@ Unit @UNIT@ has begun shutting down.
Subject: Unit @UNIT@ has finished shutting down Subject: Unit @UNIT@ has finished shutting down
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has finished shutting down. Unit @UNIT@ has finished shutting down.
@ -212,7 +211,6 @@ Unit @UNIT@ has finished shutting down.
Subject: Unit @UNIT@ has failed Subject: Unit @UNIT@ has failed
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has failed. Unit @UNIT@ has failed.
@ -222,7 +220,6 @@ The result is @RESULT@.
Subject: Unit @UNIT@ has begun with reloading its configuration Subject: Unit @UNIT@ has begun with reloading its configuration
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has begun with reloading its configuration Unit @UNIT@ has begun with reloading its configuration
@ -230,7 +227,6 @@ Unit @UNIT@ has begun with reloading its configuration
Subject: Unit @UNIT@ has finished reloading its configuration Subject: Unit @UNIT@ has finished reloading its configuration
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has finished reloading its configuration Unit @UNIT@ has finished reloading its configuration
@ -240,7 +236,6 @@ The result is @RESULT@.
Subject: Process @EXECUTABLE@ could not be executed Subject: Process @EXECUTABLE@ could not be executed
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The process @EXECUTABLE@ could not be executed and failed. The process @EXECUTABLE@ could not be executed and failed.
@ -250,7 +245,6 @@ The error number returned while executing this process is @ERRNO@.
Subject: One or more messages could not be forwarded to syslog Subject: One or more messages could not be forwarded to syslog
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
One or more messages could not be forwarded to the syslog service One or more messages could not be forwarded to the syslog service
running side-by-side with journald. This usually indicates that the running side-by-side with journald. This usually indicates that the
@ -261,7 +255,6 @@ messages queued.
Subject: Mount point is not empty Subject: Mount point is not empty
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The directory @WHERE@ is specified as the mount point (second field in The directory @WHERE@ is specified as the mount point (second field in
/etc/fstab or Where= field in systemd unit file) and is not empty. /etc/fstab or Where= field in systemd unit file) and is not empty.
@ -274,7 +267,6 @@ location.
Subject: A virtual machine or container has been started Subject: A virtual machine or container has been started
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The virtual machine @NAME@ with its leader PID @LEADER@ has been The virtual machine @NAME@ with its leader PID @LEADER@ has been
started is now ready to use. started is now ready to use.
@ -283,7 +275,6 @@ started is now ready to use.
Subject: A virtual machine or container has been terminated Subject: A virtual machine or container has been terminated
Defined-By: systemd Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
The virtual machine @NAME@ with its leader PID @LEADER@ has been The virtual machine @NAME@ with its leader PID @LEADER@ has been
shut down. shut down.

260
catalog/systemd.fr.catalog Normal file
View File

@ -0,0 +1,260 @@
# This file is part of systemd.
#
# Copyright 2012 Lennart Poettering
# Copyright 2013 Sylvain Plantefève
#
# 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/>.
# Message catalog for systemd's own messages
# French translation
# Le format du catalogue de messages est décrit (en anglais) içi :
# http://www.freedesktop.org/wiki/Software/systemd/catalog
-- f77379a8490b408bbe5f6940505a777b
Subject: Le Journal a été démarré
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le processus du journal système a démarré, ouvert ses fichiers en écriture
et est prêt à traiter les requêtes.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Le Journal a été arrêté
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le processus du journal système a été arrêté et tous ses fichiers actifs
ont été fermés.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Des messages d'un service ont été supprimés
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:journald.conf(5)
Un service a essayé d'enregistrer un trop grand nombre de messages sur un
intervalle de temps donné. Des messages de ce service ont été évincés.
Notez que seuls des messages de ce service ont été évincés, les messages des
autres services ne sont pas affectés.
Les limites définissant ce comportement peuvent être configurées avec les
paramètres RateLimitInterval= et RateLimitBurst= dans le fichier
/etc/systemd/journald.conf. Voir journald.conf(5) pour plus de détails.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Des messages du Journal ont été manqués
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Des messages du noyau ont été manqués car le journal système n'a pas été
capable de les traiter suffisament vite.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Le processus @COREDUMP_PID@ (@COREDUMP_COMM@) a généré un fichier « core »
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:core(5)
Le processus @COREDUMP_PID@ (@COREDUMP_COMM@) a planté et généré un fichier « core ».
Cela indique généralement une erreur de programmation dans le programme
incriminé, et cela devrait être notifié à son concepteur comme un défaut (bug).
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Une nouvelle session @SESSION_ID@ a été créée pour l'utilisateur @USER_ID@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Une nouvelle session a été créée pour l'utilisateur @USER_ID@ avec
l'identifiant (ID) @SESSION_ID@.
Le processus maître de la session est @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: La session @SESSION_ID@ s'est terminée
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
La session d'identifiant (ID) @SESSION_ID@ s'est terminée.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Un nouveau poste (seat) @SEAT_ID@ est disponible
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Un nouveau poste (seat) @SEAT_ID@ a été configuré et est maintenant disponible.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Le poste (seat) @SEAT_ID@ a été retiré
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Le poste (seat) @SEAT_ID@ a été retiré et n'est plus disponible.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Changement d'heure
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'horloge système a été modifiée et positionnée à @REALTIME@ microsecondes
après le 1er janvier 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Fuseau horaire modifié en @TIMEZONE@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le fuseau horaire du système a été modifié et positionné à @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Le démarrage du système est terminé
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Tous les services nécessaires au démarrage du système ont été lancés avec
succès. Notez que cela ne signifie pas que le système est maintenant au
repos, car des services peuvent encore être en train de terminer leur
démarrage.
Le chargement du noyau a nécessité @KERNEL_USEC@ microsecondes.
Le chargement du « RAM disk » initial a nécessité @INITRD_USEC@ microsecondes.
Le chargement de l'espace utilisateur a nécessité @USERSPACE_USEC@ microsecondes.
-- 6bbd95ee977941e497c48be27c254128
Subject: Le système entre dans l'état de repos (sleep state) @SLEEP@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le système est maintenant à l'état de repos (sleep state) @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Le système sorti de l'état de repos (sleep state) @SLEEP@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le système est maintenant sorti de l'état de repos (sleep state) @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Arrêt du système amorcé
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'arrêt du système a été amorcé. L'arrêt a maintenant commencé, tous les
services du système sont terminés et tous les systèmes de fichiers sont
démontés.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: L'unité (unit) @UNIT@ a commencé à démarrer
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a commencé à démarrer.
-- 39f53479d3a045ac8e11786248231fbf
Subject: L'unité (unit) @UNIT@ a terminé son démarrage
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a terminé son démarrage, avec le résultat @RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: L'unité (unit) @UNIT@ a commencé à s'arrêter
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a commencé à s'arrêter.
-- 9d1aaa27d60140bd96365438aad20286
Subject: L'unité (unit) @UNIT@ a terminé son arrêt
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a terminé son arrêt.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: L'unité (unit) @UNIT@ a échoué
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a échoué, avec le résultat @RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: L'unité (unit) @UNIT@ a commencé à recharger sa configuration
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a commencé à recharger sa configuration.
-- 7b05ebc668384222baa8881179cfda54
Subject: L'unité (unit) @UNIT@ a terminé de recharger configuration
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unité (unit) @UNIT@ a terminé de recharger configuration,
avec le résultat @RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Le processus @EXECUTABLE@ n'a pas pu être exécuté
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le processus @EXECUTABLE@ n'a pas pu être exécuté, et a donc echoué.
Le code d'erreur renvoyé est @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Un ou plusieurs messages n'ont pas pu être transmis à syslog
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Un ou plusieurs messages n'ont pas pu être transmis au service syslog
s'exécutant conjointement avec journald. Cela indique généralement que
l'implémentation de syslog utilisée n'a pas été capable de suivre la cadence
du flux de messages.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Le point de montage n'est pas vide
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Le répertoire @WHERE@ est spécifié comme point de montage (second champ du
fichier /etc/fstab, ou champ Where= dans une unité (unit) systemd) et n'est pas
vide.
Cela ne perturbe pas le montage du système de fichiers, mais les fichiers
préalablement présents dans ce répertoire sont devenus inaccessibles.
Pour atteindre ces fichiers, veuillez monter manuellement le système de
fichiers sous-jacent à un autre emplacement.
-- 24d8d4452573402496068381a6312df2
Subject: Une machine virtuelle ou un conteneur (container) a été démarré
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
La machine virtuelle @NAME@ a été démarrée avec le PID maître @LEADER@,
et est maintenant prête à l'emploi.
-- 58432bd3bace477cb514b56381b8a758
Subject: Une machine virtuelle ou un conteneur (container) a été arrêté
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
La machine virtuelle @NAME@ avec le PID maître @LEADER@ a été arrêtée.

254
catalog/systemd.it.catalog Normal file
View File

@ -0,0 +1,254 @@
# This file is part of systemd.
#
# Copyright 2013 Daniele Medri
#
# 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/>.
# Message catalog for systemd's own messages
-- f77379a8490b408bbe5f6940505a777b
Subject: Il registro è stato avviato
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Il processo relativo al registro di sistema è stato avviato, ha aperto i
file in scrittura ed è ora pronto a gestire richieste.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Il registro è stato terminato
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Il processo relativo al registro di sistema è stato terminato e ha chiuso
tutti i file attivi.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: I messaggi di un servizio sono stati soppressi
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:journald.conf(5)
Un servizio ha registrato troppi messaggi in un dato periodo di tempo.
I messaggi del servizio sono stati eliminati.
Solo i messaggi del servizio indicato sono stati
eliminati, i messaggi degli altri servizi rimangono invariati.
I limiti oltre i quali i messaggi si eliminano si configurano
con RateLimitInterval= e RateLimitBurst= in
/etc/systemd/journald.conf. Vedi journald.conf(5) per maggiori informazioni.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: I messaggi di un servizio sono stati perduti
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
I messaggi del kernel sono stati perduti perché, il registro di sistema
non è stato in grado di gestirli abbastanza velocemente.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Il processo @COREDUMP_PID@ (@COREDUMP_COMM@) ha generato un dump.
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:core(5)
Il processo @COREDUMP_PID@ (@COREDUMP_COMM@) si è bloccato generando un dump.
Questo di solito capita per un errore di programmazione nell'applicazione e
dovrebbe essere segnalato al vendor come un bug.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: La nuova sessione @SESSION_ID@ è stata creata per l'utente @USER_ID@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Una nuova sessione con ID @SESSION_ID@ è stata creata per l'utente @USER_ID@.
Il processo primario della sessione è @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: La sessione @SESSION_ID@ è terminata
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
La sessione con ID @SESSION_ID@ è terminata.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: La nuova postazione @SEAT_ID@ è ora disponibile
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
La nuova postazione @SEAT_ID@ è stata configurata ed è ora disponibile.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: La postazione @SEAT_ID@ è stata rimossa
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
La postazione @SEAT_ID@ è stata rimossa e non è più disponibile.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Cambio d'orario
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'orologio di sistema è cambiato in @REALTIME@ microsecondi dal 1 gennaio, 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Il fuso orario è cambiato in @TIMEZONE@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Il fuso orario di sistema è cambiato in @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Avvio del sistema completato.
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Tutti i servizi di sistema richiesti per la fase di avvio sono stati eseguiti
con successo. Nota che la macchina potrebbe non essere ancora pronta in quanto
i servizi attivati sono in fase di completamento.
L'avvio del kernel ha richiesto @KERNEL_USEC@ microsecondi.
L'avvio del disco RAM ha richiesto @INITRD_USEC@ microsecondi.
L'avvio dello userspace ha richiesto @USERSPACE_USEC@ microsecondi.
-- 6bbd95ee977941e497c48be27c254128
Subject: Il sistema è entrato in fase di pausa @SLEEP@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Il sistema è entrato nello stato di pausa @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Il sistema è uscito dalla fase di pausa @SLEEP@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Il sistema è uscito dallo stato di pausa @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Il sistema è in fase di spegnimento
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Systemd è in fase di spegnimento. Tutti i servizi di sistema
saranno terminati e tutti i file systems smontati.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: L'unità @UNIT@ inizia la fase di avvio
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ ha iniziato la fase di avvio.
-- 39f53479d3a045ac8e11786248231fbf
Subject: L'unità @UNIT@ termina la fase di avvio
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ ha terminato la fase di avvio.
La fase di avvio è @RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: L'unità @UNIT@ inizia la fase di spegnimento
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ ha iniziato la fase di spegnimento.
-- 9d1aaa27d60140bd96365438aad20286
Subject: L'unità @UNIT@ termina la fase di spegnimento
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ ha terminato la fase di spegnimento.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: L'unità @UNIT@ è fallita
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ è fallita.
Il risultato è @RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: L'unità @UNIT@ inizia a caricare la propria configurazione
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ è iniziata ricaricando la propria configurazione
-- 7b05ebc668384222baa8881179cfda54
Subject: L'unità @UNIT@ termina il caricamento della propria configurazione
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
L'unità @UNIT@ è terminata ricaricando la propria configurazione
Il risultato è @RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Il processo @EXECUTABLE@ non può essere eseguito
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Il processo @EXECUTABLE@ non può essere eseguito e termina.
Il numero di errore restituito durante l'esecuzione del processo è @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Uno o più messaggi non possono essere inoltrati a syslog
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Uno o più messaggi non possono essere inviati al servizio syslog
eseguito in parallelo a journald. Questo di solito capita perché,
l'implementazione di syslog non sta al passo con la
velocità dei messaggi accodati.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Il punto di montaggio non è vuoto
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
La directory @WHERE@ è specificata come punto di montaggio (secondo campo
in /etc/fstab o nel campo Where= del file unità di systemd) e non è vuoto.
Questo non interferisce con il montaggio, ma i file pre-esistenti in questa
directory diventano inaccessibili. Per visualizzare i file, si suggerisce
di montare manualmente il file system indicato in una posizione secondaria.
-- 24d8d4452573402496068381a6312df2
Subject: Avviata macchina virtuale o container
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
La macchina virtuale @NAME@ con PID primario @LEADER@ è stata
avviata ed è pronta all'uso.
-- 58432bd3bace477cb514b56381b8a758
Subject: Terminata macchina virtuale o container
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
La macchina virtuale @NAME@ con PID primario @LEADER@ è stata spenta.

294
catalog/systemd.ru.catalog Normal file
View File

@ -0,0 +1,294 @@
# This file is part of systemd.
#
# Copyright 2012 Lennart Poettering
# Copyright 2013 Sergey Ptashnick
#
# 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/>.
# Message catalog for systemd's own messages
# Russian translation
# Формат каталога сообщений описан по ссылке
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# Перед каждым элементом в комментарии указан Subject исходного
# сообщения (на английском).
# Subject: The Journal has been started
-- f77379a8490b408bbe5f6940505a777b
Subject: Запущена служба журналирования
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Процесс, отвечающий за журналирование системных событий, успешно запустился,
открыл для записи файлы журнала, и готов обрабатывать запросы.
# Subject: The Journal has been stopped
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Служба журналирования остановлена
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Процесс, отвечающий за журналирование системных событий, завершил работу и
закрыл все свои файлы.
# Subject: Messages from a service have been suppressed
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Часть сообщений от службы пропущена
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:journald.conf(5)
Служба отправила слишком много сообщений за короткий промежуток времени.
Часть сообщений была пропущена.
Обратите внимание, что были пропущены сообщения только от этой службы,
сообщения других служб не затронуты.
Предел, после которого служба журнала начинает игнорировать сообщения,
настраивается параметрами RateLimitInterval= и RateLimitBurst= в файле
/etc/systemd/journald.conf. Подробности смотрите на странице руководства
journald.conf(5).
# Subject: Journal messages have been missed
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Часть сообщений ядра пропущена
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Часть сообщений, поступивших от ядра, была потеряна, так как служба
журналирования не успела их обработать.
# Subject: Process @COREDUMP_PID@ (@COREDUMP_COMM@) dumped core
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Процесс @COREDUMP_PID@ (@COREDUMP_COMM@) сбросил дамп памяти
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: man:core(5)
Процесс @COREDUMP_PID@ (@COREDUMP_COMM@) завершился из-за критической ошибки.
Записан дамп памяти.
Вероятно, это произошло из-за ошибки, допущенной в коде программы.
Рекомендуется сообщить ее разработчикам о возникшей проблеме.
# Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Для пользователя @USER_ID@ создан новый сеанс @SESSION_ID@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Для пользователя @USER_ID@ создан новый сеанс с идентификатором @SESSION_ID@.
Главный процесс нового сеанса имеет индентификатор @LEADER@.
# Subject: A session @SESSION_ID@ has been terminated
-- 3354939424b4456d9802ca8333ed424a
Subject: Сеанс @SESSION_ID@ завершен
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Сеанс с идентификатором @SESSION_ID@ завершился.
# Subject: A new seat @SEAT_ID@ is now available
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Добавлено новое рабочее место @SEAT_ID@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Новое рабочее место (seat) @SEAT_ID@ полностью настроено и готово к
использованию.
# Subject: A seat @SEAT_ID@ has now been removed
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Рабочее место @SEAT_ID@ отключено
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Рабочее место (seat) @SEAT_ID@ было отключено.
# Subject: Time change
-- c7a787079b354eaaa9e77b371893cd27
Subject: Переведены системные часы
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Системные часы были переведены. Сейчас они показывают @REALTIME@ микросекунд
с момента 00:00:00 1 января 1970 года.
# Subject: Time zone change to @TIMEZONE@
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Часовой пояс изменен на @TIMEZONE@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Системный часовой пояс был изменен. Новое значение: @TIMEZONE@.
# Subject: System start-up is now complete
-- b07a249cd024414a82dd00cd181378ff
Subject: Запуск системы завершен
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Все системные службы, запуск которых предписан настройками, были запущены.
Впрочем, это еще не означает, что система в данный момент ничем не занята,
так как некоторые службы могут продолжать инициализацию даже после того, как
отчитались о своем запуске.
Запуск ядра занял @KERNEL_USEC@ микросекунд.
Процессы начального RAM-диска (initrd) отработали за @INITRD_USEC@ микросекунд.
Запуск системных служб занял @USERSPACE_USEC@ микросекунд.
# Subject: System sleep state @SLEEP@ entered
-- 6bbd95ee977941e497c48be27c254128
Subject: Система перешла в состояние сна (@SLEEP@)
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Система была переведена в состояние сна (@SLEEP@).
# Subject: System sleep state @SLEEP@ left
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Система вышла из состояния сна (@SLEEP@)
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Система была выведена из состояния сна (@SLEEP@).
# Subject: System shutdown initiated
-- 98268866d1d54a499c4e98921d93bc40
Subject: Подготовка системы к выключению
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Начат процесс подготовки к выключению компьютера. Останавливаются все системные
службы, отмонтируются все файловые системы.
# Subject: Unit @UNIT@ has begun with start-up
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Начинается запуск юнита @UNIT@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Начат процесс запуска юнита @UNIT@.
# Subject: Unit @UNIT@ has finished start-up
-- 39f53479d3a045ac8e11786248231fbf
Subject: Запуск юнита @UNIT@ завершен
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Процесс запуска юнита @UNIT@ был завершен.
Результат: @RESULT@.
# Subject: Unit @UNIT@ has begun shutting down
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Начинается остановка юнита @UNIT@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Начат процесс остановки юнита @UNIT@.
# Subject: Unit @UNIT@ has finished shutting down
-- 9d1aaa27d60140bd96365438aad20286
Subject: Завершена остановка юнита @UNIT@.
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Процесс остановки юнита @UNIT@ был завершен.
# Subject: Unit @UNIT@ has failed
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Ошибка юнита @UNIT@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Произошел сбой юнита @UNIT@.
Результат: @RESULT@.
# Subject: Unit @UNIT@ has begun with reloading its configuration
-- d34d037fff1847e6ae669a370e694725
Subject: Юнит @UNIT@ начал перечитывать свои настройки
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Юнит @UNIT@ начал процесс перечитывания своей конфигурации.
# Subject: Unit @UNIT@ has finished reloading its configuration
-- 7b05ebc668384222baa8881179cfda54
Subject: Юнит @UNIT@ завершил перечитывание своих настроек
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Юнит @UNIT@ завершил процесс перечитывания своей конфигурации.
Результат: @RESULT@.
# Subject: Process @EXECUTABLE@ could not be executed
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Не удалось запустить процесс @EXECUTABLE@
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Сбой: не удалось запустить процесс @EXECUTABLE@.
Код ошибки: @ERRNO@.
# Subject: One or more messages could not be forwarded to syslog
-- 0027229ca0644181a76c4e92458afa2e
Subject: Часть сообщений не удалось передать процессу syslog
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Не удалось передать некоторые сообщения демону системного лога (syslog),
дублирующему работу службы системного журнала. Скорее всего, причина в том, что
используемая реализация syslog не успевает обрабатывать сообщения с достаточной
скоростью.
# Subject: Mount point is not empty
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Каталог, являющийся точкой монтирования, не пуст
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Каталог @WHERE@, который был указан в качестве точки монтирования (во втором
столбце файла /etc/fstab, либо в параметре Where= файла конфигурации юнита),
не является пустым. Это никак не мешает монтированию, однако ранее находившиеся
в нем файлы будут недоступны. Чтобы получить к ним доступ, вы можете вручную
перемонтировать нижележащую файловую систему в другую точку.
# Subject: A virtual machine or container has been started
-- 24d8d4452573402496068381a6312df2
Subject: Запущена виртуальная машина/контейнер
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Виртуальная машина @NAME@ (идентификатор главного процесса: @LEADER@) запущена и
готова к работе.
# Subject: A virtual machine or container has been terminated
-- 58432bd3bace477cb514b56381b8a758
Subject: Остановлена виртуальная машина/контейнер
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Виртуальная машина @NAME@ (идентификатор главного процесса: @LEADER@) выключена.

View File

@ -6,9 +6,18 @@
/* Canonical host string. */ /* Canonical host string. */
#undef CANONICAL_HOST #undef CANONICAL_HOST
/* Default DNS Servers */
#undef DNS_SERVERS
/* Define if EFI support is to be enabled */ /* Define if EFI support is to be enabled */
#undef ENABLE_EFI #undef ENABLE_EFI
/* Define if kdbus support is to be enabled */
#undef ENABLE_KDBUS
/* Define if networkd support is to be enabled */
#undef ENABLE_NETWORKD
/* Define if PolicyKit support is to be enabled */ /* Define if PolicyKit support is to be enabled */
#undef ENABLE_POLKIT #undef ENABLE_POLKIT
@ -18,12 +27,12 @@
/* Define to 1 if you have the <acl/libacl.h> header file. */ /* Define to 1 if you have the <acl/libacl.h> header file. */
#undef HAVE_ACL_LIBACL_H #undef HAVE_ACL_LIBACL_H
/* Define if AppArmor is available */
#undef HAVE_APPARMOR
/* Define to 1 if you have the <arpa/inet.h> header file. */ /* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H #undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <attr/xattr.h> header file. */
#undef HAVE_ATTR_XATTR_H
/* AUDIT available */ /* AUDIT available */
#undef HAVE_AUDIT #undef HAVE_AUDIT
@ -33,10 +42,17 @@
/* Define if CHKCONFIG is available */ /* Define if CHKCONFIG is available */
#undef HAVE_CHKCONFIG #undef HAVE_CHKCONFIG
/* Define if dbus-1 library is available */
#undef HAVE_DBUS
/* Define to 1 if you have the declaration of `gettid', and to 0 if you don't. /* Define to 1 if you have the declaration of `gettid', and to 0 if you don't.
*/ */
#undef HAVE_DECL_GETTID #undef HAVE_DECL_GETTID
/* Define to 1 if you have the declaration of `LO_FLAGS_PARTSCAN', and to 0 if
you don't. */
#undef HAVE_DECL_LO_FLAGS_PARTSCAN
/* Define to 1 if you have the declaration of `name_to_handle_at', and to 0 if /* Define to 1 if you have the declaration of `name_to_handle_at', and to 0 if
you don't. */ you don't. */
#undef HAVE_DECL_NAME_TO_HANDLE_AT #undef HAVE_DECL_NAME_TO_HANDLE_AT
@ -45,6 +61,10 @@
don't. */ don't. */
#undef HAVE_DECL_PIVOT_ROOT #undef HAVE_DECL_PIVOT_ROOT
/* Define to 1 if you have the declaration of `setns', and to 0 if you don't.
*/
#undef HAVE_DECL_SETNS
/* Define to 1 if you have the <dlfcn.h> header file. */ /* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H #undef HAVE_DLFCN_H
@ -75,6 +95,9 @@
/* Define if glib is available */ /* Define if glib is available */
#undef HAVE_GLIB #undef HAVE_GLIB
/* Define if gnutls is available */
#undef HAVE_GNUTLS
/* Define if IMA is available */ /* Define if IMA is available */
#undef HAVE_IMA #undef HAVE_IMA
@ -93,9 +116,6 @@
/* Define if libcryptsetup is available */ /* Define if libcryptsetup is available */
#undef HAVE_LIBCRYPTSETUP #undef HAVE_LIBCRYPTSETUP
/* Have tcpwrap? */
#undef HAVE_LIBWRAP
/* Define to 1 if you have the <linux/btrfs.h> header file. */ /* Define to 1 if you have the <linux/btrfs.h> header file. */
#undef HAVE_LINUX_BTRFS_H #undef HAVE_LINUX_BTRFS_H
@ -133,6 +153,9 @@
/* Define if qrencode is available */ /* Define if qrencode is available */
#undef HAVE_QRENCODE #undef HAVE_QRENCODE
/* Define if seccomp is available */
#undef HAVE_SECCOMP
/* Define to 1 if you have the `secure_getenv' function. */ /* Define to 1 if you have the `secure_getenv' function. */
#undef HAVE_SECURE_GETENV #undef HAVE_SECURE_GETENV
@ -226,8 +249,8 @@
/* Define to 1 if you have the <valgrind/memcheck.h> header file. */ /* Define to 1 if you have the <valgrind/memcheck.h> header file. */
#undef HAVE_VALGRIND_MEMCHECK_H #undef HAVE_VALGRIND_MEMCHECK_H
/* XATTR available */ /* Define to 1 if you have the <valgrind/valgrind.h> header file. */
#undef HAVE_XATTR #undef HAVE_VALGRIND_VALGRIND_H
/* Define if XZ is available */ /* Define if XZ is available */
#undef HAVE_XZ #undef HAVE_XZ
@ -245,8 +268,8 @@
*/ */
#undef LT_OBJDIR #undef LT_OBJDIR
/* Define to 1 if your C compiler doesn't accept -c and -o together. */ /* Default NTP Servers */
#undef NO_MINUS_C_MINUS_O #undef NTP_SERVERS
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE
@ -284,12 +307,39 @@
/* Define to the type of arg 5 for `select'. */ /* Define to the type of arg 5 for `select'. */
#undef SELECT_TYPE_ARG5 #undef SELECT_TYPE_ARG5
/* The size of `gid_t', as computed by sizeof. */
#undef SIZEOF_GID_T
/* The size of `pid_t', as computed by sizeof. */
#undef SIZEOF_PID_T
/* The size of `rlim_t', as computed by sizeof. */
#undef SIZEOF_RLIM_T
/* The size of `time_t', as computed by sizeof. */
#undef SIZEOF_TIME_T
/* The size of `uid_t', as computed by sizeof. */
#undef SIZEOF_UID_T
/* Run with a smack label */
#undef SMACK_RUN_LABEL
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS #undef STDC_HEADERS
/* Maximum System GID */
#undef SYSTEM_GID_MAX
/* Maximum System UID */
#undef SYSTEM_UID_MAX
/* Path to telinit */ /* Path to telinit */
#undef TELINIT #undef TELINIT
/* Time Epoch */
#undef TIME_EPOCH
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME #undef TIME_WITH_SYS_TIME

2414
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@
AC_PREREQ([2.64]) AC_PREREQ([2.64])
AC_INIT([systemd], AC_INIT([systemd],
[208], [214],
[http://bugs.freedesktop.org/enter_bug.cgi?product=systemd], [http://bugs.freedesktop.org/enter_bug.cgi?product=systemd],
[systemd], [systemd],
[http://www.freedesktop.org/wiki/Software/systemd]) [http://www.freedesktop.org/wiki/Software/systemd])
@ -33,7 +33,8 @@ AC_CONFIG_AUX_DIR([build-aux])
AC_USE_SYSTEM_EXTENSIONS AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE AC_SYS_LARGEFILE
AC_PREFIX_DEFAULT([/usr]) AC_PREFIX_DEFAULT([/usr])
AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects check-news]) AM_MAINTAINER_MODE([enable])
AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects])
AM_SILENT_RULES([yes]) AM_SILENT_RULES([yes])
AC_CANONICAL_HOST AC_CANONICAL_HOST
AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
@ -59,24 +60,23 @@ AC_PROG_SED
AC_PROG_GREP AC_PROG_GREP
AC_PROG_AWK AC_PROG_AWK
AC_PROG_CC
AC_PROG_CC_C99 AC_PROG_CC_C99
AM_PROG_CC_C_O
AC_PROG_GCC_TRADITIONAL
AC_PATH_PROG([M4], [m4]) AC_PATH_PROG([M4], [m4])
AC_PATH_PROG([XSLTPROC], [xsltproc]) AC_PATH_PROG([XSLTPROC], [xsltproc])
AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon]) AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck]) AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap]) AC_PATH_PROG([KILL], [kill], [/usr/bin/kill], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([KILL], [kill], [/usr/bin/kill]) AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod]) AC_PATH_PROG([KEXEC], [kexec], [/usr/sbin/kexec], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([KEXEC], [kexec], [/usr/sbin/kexec]) AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
M4_DEFINES=
# gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line # gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line
m4_ifdef([GTK_DOC_CHECK], [ m4_ifdef([GTK_DOC_CHECK], [
@ -94,7 +94,6 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
AM_CONDITIONAL([HAVE_INTROSPECTION], [false]) AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
enable_introspection=no]) enable_introspection=no])
AC_CHECK_TOOL(OBJCOPY, objcopy)
AC_CHECK_TOOL(STRINGS, strings) AC_CHECK_TOOL(STRINGS, strings)
AC_CHECK_TOOL(GPERF, gperf) AC_CHECK_TOOL(GPERF, gperf)
if test -z "$GPERF" ; then if test -z "$GPERF" ; then
@ -115,6 +114,23 @@ AS_IF([test "x$enable_address_sanitizer" = "xyes"], [
address_sanitizer_ldflags="-Wc,-fsanitize=address" address_sanitizer_ldflags="-Wc,-fsanitize=address"
]) ])
undefined_sanitizer_cflags=
undefined_sanitizer_cppflags=
undefined_sanitizer_ldflags=
AC_ARG_ENABLE(undefined-sanitizer, AS_HELP_STRING([--enable-undefined-sanitizer], [enable -fsanitize=undefined]))
AS_IF([test "x$enable_undefined_sanitizer" = "xyes"], [
CC_CHECK_FLAG_APPEND([with_us_cflags], [CFLAGS], [-fsanitize=undefined])
AS_IF([test -z "$with_us_cflags"],
[AC_MSG_ERROR([*** -fsanitize=undefined is not supported])])
undefined_sanitizer_cflags="$with_us_cflags -fno-omit-frame-pointer -DVALGRIND=1"
undefined_sanitizer_cppflags="-DVALGRIND=1"
undefined_sanitizer_ldflags="-Wc,-fsanitize=undefined"
])
sanitizer_cflags="$address_sanitizer_cflags $undefined_sanitizer_cflags"
sanitizer_cppflags="$address_sanitizer_cppflags $undefined_sanitizer_cppflags"
sanitizer_ldflags="$address_sanitizer_ldflags $undefined_sanitizer_ldflags"
CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-pipe \ -pipe \
-Wall \ -Wall \
@ -130,6 +146,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Winit-self \ -Winit-self \
-Wdeclaration-after-statement \ -Wdeclaration-after-statement \
-Wfloat-equal \ -Wfloat-equal \
-Wsuggest-attribute=noreturn \
-Wmissing-prototypes \ -Wmissing-prototypes \
-Wstrict-prototypes \ -Wstrict-prototypes \
-Wredundant-decls \ -Wredundant-decls \
@ -137,7 +154,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Wmissing-noreturn \ -Wmissing-noreturn \
-Wshadow \ -Wshadow \
-Wendif-labels \ -Wendif-labels \
-Wcast-align \
-Wstrict-aliasing=2 \ -Wstrict-aliasing=2 \
-Wwrite-strings \ -Wwrite-strings \
-Wno-long-long \ -Wno-long-long \
@ -146,6 +162,8 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Wno-missing-field-initializers \ -Wno-missing-field-initializers \
-Wno-unused-result \ -Wno-unused-result \
-Werror=overflow \ -Werror=overflow \
-Wdate-time \
-Wnested-externs \
-ffast-math \ -ffast-math \
-fno-common \ -fno-common \
-fdiagnostics-show-option \ -fdiagnostics-show-option \
@ -155,22 +173,39 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-ffunction-sections \ -ffunction-sections \
-fdata-sections \ -fdata-sections \
-fstack-protector \ -fstack-protector \
-fstack-protector-strong \
-fPIE \
--param=ssp-buffer-size=4]) --param=ssp-buffer-size=4])
AC_SUBST([OUR_CFLAGS], "$with_cflags $address_sanitizer_cflags") AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
[CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-flto -ffat-lto-objects])],
[AC_MSG_RESULT([skipping -flto, optimization not enabled])])
AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags")
AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*], AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
[CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
-Wp,-D_FORTIFY_SOURCE=2])], -Wp,-D_FORTIFY_SOURCE=2])],
[AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])]) [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $address_sanitizer_cppflags") AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $sanitizer_cppflags")
CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
-Wl,--as-needed \ -Wl,--as-needed \
-Wl,--no-undefined \ -Wl,--no-undefined \
-Wl,--gc-sections \ -Wl,--gc-sections \
-Wl,-z,relro \ -Wl,-z,relro \
-Wl,-z,now]) -Wl,-z,now \
AC_SUBST([OUR_LDFLAGS], "$with_ldflags $address_sanitizer_ldflags") -pie \
-Wl,-fuse-ld=gold])
AC_SUBST([OUR_LDFLAGS], "$with_ldflags $sanitizer_ldflags")
AC_CHECK_SIZEOF(pid_t)
AC_CHECK_SIZEOF(uid_t)
AC_CHECK_SIZEOF(gid_t)
AC_CHECK_SIZEOF(time_t)
AC_CHECK_SIZEOF(rlim_t,,[
#include <sys/time.h>
#include <sys/resource.h>
])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# we use python to build the man page index, and for systemd-python # we use python to build the man page index, and for systemd-python
@ -178,9 +213,11 @@ have_python=no
AC_ARG_WITH([python], AC_ARG_WITH([python],
[AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])]) [AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
have_lxml=no
AS_IF([test "x$with_python" != "xno"], [ AS_IF([test "x$with_python" != "xno"], [
AM_PATH_PYTHON(,, [:]) AM_PATH_PYTHON(,, [:])
AS_IF([test "$PYTHON" != :], [have_python=yes]) AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes], [have_lxml=no])
AS_IF([test "$PYTHON" != : -a $have_lxml = yes], [have_python=yes])
]) ])
AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"]) AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
AS_IF([test "x$PYTHON_BINARY" = "x"], AS_IF([test "x$PYTHON_BINARY" = "x"],
@ -229,16 +266,37 @@ LIBS="$save_LIBS"
AC_CHECK_FUNCS([fanotify_init fanotify_mark]) AC_CHECK_FUNCS([fanotify_init fanotify_mark])
AC_CHECK_FUNCS([__secure_getenv secure_getenv]) AC_CHECK_FUNCS([__secure_getenv secure_getenv])
AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include <sys/types.h> AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, setns, LO_FLAGS_PARTSCAN], [], [], [[#include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include <sys/mount.h> #include <sys/mount.h>
#include <fcntl.h>]]) #include <fcntl.h>
#include <sched.h>
#include <linux/loop.h>]])
# This makes sure pkg.m4 is available. # This makes sure pkg.m4 is available.
m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2]) # ------------------------------------------------------------------------------
have_dbus=no
AC_ARG_ENABLE(dbus, AS_HELP_STRING([--disable-dbus], [disable usage of dbus-1 in tests]))
AS_IF([test "x$enable_dbus" != "xno"], [
PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2],
[AC_DEFINE(HAVE_DBUS, 1, [Define if dbus-1 library is available]) have_dbus=yes],
[have_dbus=no])
AS_IF([test "x$have_dbus" = "xno" -a "x$enable_dbus" = "xyes"],
[AC_MSG_ERROR([*** dbus-1 support requested but libraries not found])])])
AM_CONDITIONAL(HAVE_DBUS, [test "$have_dbus" = "yes"])
# ------------------------------------------------------------------------------
have_compat_libs=no
AC_ARG_ENABLE([compat_libs], AS_HELP_STRING([--enable-compat-libs],[Enable creation of compatibility libraries]),
[case "${enableval}" in
yes) have_compat_libs=yes ;;
no) have_compat_libs=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-compat-libs) ;;
esac],
[have_compat_libs=no])
AM_CONDITIONAL([ENABLE_COMPAT_LIBS], [test "$have_compat_libs" = "yes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_coverage=no have_coverage=no
@ -269,9 +327,9 @@ AC_ARG_ENABLE(kmod, AS_HELP_STRING([--disable-kmod], [disable loadable modules s
if test "x$enable_kmod" != "xno"; then if test "x$enable_kmod" != "xno"; then
PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no) PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no)
if test "x$have_kmod" = "xyes"; then if test "x$have_kmod" = "xyes"; then
PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ], PKG_CHECK_MODULES(KMOD, [ libkmod >= 15 ],
[AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])], [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])],
AC_MSG_ERROR([*** kmod version >= 14 not found])) AC_MSG_ERROR([*** kmod version >= 15 not found]))
fi fi
if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then
AC_MSG_ERROR([*** kmod support requested, but libraries not found]) AC_MSG_ERROR([*** kmod support requested, but libraries not found])
@ -291,6 +349,21 @@ if test "x$enable_blkid" != "xno"; then
fi fi
AM_CONDITIONAL(HAVE_BLKID, [test "$have_blkid" = "yes"]) AM_CONDITIONAL(HAVE_BLKID, [test "$have_blkid" = "yes"])
# ------------------------------------------------------------------------------
have_seccomp=no
AC_ARG_ENABLE(seccomp, AS_HELP_STRING([--disable-seccomp], [Disable optional SECCOMP support]))
if test "x$enable_seccomp" != "xno"; then
PKG_CHECK_MODULES(SECCOMP, [libseccomp >= 1.0.0],
[AC_DEFINE(HAVE_SECCOMP, 1, [Define if seccomp is available])
have_seccomp=yes
M4_DEFINES="$M4_DEFINES -DHAVE_SECCOMP"],
[have_seccomp=no])
if test "x$have_seccomp" = "xno" -a "x$enable_seccomp" = "xyes"; then
AC_MSG_ERROR([*** seccomp support requested but libraries not found])
fi
fi
AM_CONDITIONAL(HAVE_SECCOMP, [test "$have_seccomp" = "yes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_ima=yes have_ima=yes
AC_ARG_ENABLE([ima], AS_HELP_STRING([--disable-ima],[Disable optional IMA support]), AC_ARG_ENABLE([ima], AS_HELP_STRING([--disable-ima],[Disable optional IMA support]),
@ -329,13 +402,31 @@ have_selinux=no
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support])) AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
if test "x$enable_selinux" != "xno"; then if test "x$enable_selinux" != "xno"; then
PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9], PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9],
[AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available]) have_selinux=yes], have_selinux=no) [AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available])
have_selinux=yes
M4_DEFINES="$M4_DEFINES -DHAVE_SELINUX"],
[have_selinux=no])
if test "x$have_selinux" = xno -a "x$enable_selinux" = xyes; then if test "x$have_selinux" = xno -a "x$enable_selinux" = xyes; then
AC_MSG_ERROR([*** SELinux support requested but libraries not found]) AC_MSG_ERROR([*** SELinux support requested but libraries not found])
fi fi
fi fi
AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"]) AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"])
have_apparmor=no
AC_ARG_ENABLE(apparmor, AS_HELP_STRING([--disable-apparmor], [Disable optional AppArmor support]))
if test "x$enable_apparmor" != "xno"; then
PKG_CHECK_MODULES([APPARMOR], [libapparmor],
[AC_DEFINE(HAVE_APPARMOR, 1, [Define if AppArmor is available])
have_apparmor=yes
M4_DEFINES="$M4_DEFINES -DHAVE_APPARMOR"],
[have_apparmor=no])
if test "x$have_apparmor" = xno -a "x$enable_apparmor" = xyes; then
AC_MSG_ERROR([*** AppArmor support requested but libraries not found])
fi
fi
AM_CONDITIONAL(HAVE_APPARMOR, [test "$have_apparmor" = "yes"])
AC_ARG_WITH(debug-shell, AC_ARG_WITH(debug-shell,
AS_HELP_STRING([--with-debug-shell=PATH], AS_HELP_STRING([--with-debug-shell=PATH],
[Path to debug shell binary]), [Path to debug shell binary]),
@ -364,31 +455,6 @@ if test "x$enable_xz" != "xno"; then
fi fi
AM_CONDITIONAL(HAVE_XZ, [test "$have_xz" = "yes"]) AM_CONDITIONAL(HAVE_XZ, [test "$have_xz" = "yes"])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([tcpwrap],
AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
[case "${enableval}" in
yes) have_tcpwrap=yes ;;
no) have_tcpwrap=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
esac],
[have_tcpwrap=auto])
if test "x${have_tcpwrap}" != xno ; then
ACX_LIBWRAP
if test "x${LIBWRAP_LIBS}" = x ; then
if test "x$have_tcpwrap" = xyes ; then
AC_MSG_ERROR([*** TCP wrappers support not found.])
fi
have_tcpwrap=no
else
have_tcpwrap=yes
fi
else
LIBWRAP_LIBS=
fi
AC_SUBST(LIBWRAP_LIBS)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
AC_ARG_ENABLE([pam], AC_ARG_ENABLE([pam],
AS_HELP_STRING([--disable-pam],[Disable optional PAM support]), AS_HELP_STRING([--disable-pam],[Disable optional PAM support]),
@ -418,6 +484,7 @@ if test "x${have_pam}" != xno ; then
if test "x$have_pam" = xyes ; then if test "x$have_pam" = xyes ; then
PAM_LIBS="-lpam -lpam_misc" PAM_LIBS="-lpam -lpam_misc"
AC_DEFINE(HAVE_PAM, 1, [PAM available]) AC_DEFINE(HAVE_PAM, 1, [PAM available])
M4_DEFINES="$M4_DEFINES -DHAVE_PAM"
else else
have_pam=no have_pam=no
fi fi
@ -465,44 +532,6 @@ fi
AC_SUBST(ACL_LIBS) AC_SUBST(ACL_LIBS)
AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([xattr],
AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]),
[case "${enableval}" in
yes) have_xattr=yes ;;
no) have_xattr=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;;
esac],
[have_xattr=auto])
if test "x${have_xattr}" != xno ; then
AC_CHECK_HEADERS(
[attr/xattr.h],
[have_xattr=yes],
[if test "x$have_xattr" = xyes ; then
AC_MSG_ERROR([*** XATTR headers not found.])
fi])
AC_CHECK_LIB(
[attr],
[fsetxattr],
[have_xattr=yes],
[if test "x$have_xattr" = xyes ; then
AC_MSG_ERROR([*** libattr not found.])
fi])
if test "x$have_xattr" = xyes ; then
XATTR_LIBS="-lattr"
AC_DEFINE(HAVE_XATTR, 1, [XATTR available])
else
have_xattr=no
fi
else
XATTR_LIBS=
fi
AC_SUBST(XATTR_LIBS)
AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]), AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]),
[case "${enableval}" in [case "${enableval}" in
@ -512,18 +541,17 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK
esac], esac],
[have_smack=auto]) [have_smack=auto])
if test "x${have_xattr}" = xno; then if test "x${have_smack}" = xauto; then
if test "x${have_smack}" = xyes; then M4_DEFINES="$M4_DEFINES -DHAVE_SMACK"
AC_MSG_ERROR(SMACK requires xattr support)
else
have_smack=no
fi
else
if test "x${have_smack}" = xauto; then
have_smack=yes have_smack=yes
fi
fi fi
AC_ARG_WITH(smack-run-label,
AS_HELP_STRING([--with-smack-run-label=STRING],
[run systemd --system with a specific SMACK label]),
[AC_DEFINE_UNQUOTED(SMACK_RUN_LABEL, ["$withval"], [Run with a smack label])],
[])
if test "x${have_smack}" = xyes ; then if test "x${have_smack}" = xyes ; then
AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available]) AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available])
fi fi
@ -626,7 +654,7 @@ AM_CONDITIONAL(HAVE_QRENCODE, [test "$have_qrencode" = "yes"])
have_microhttpd=no have_microhttpd=no
AC_ARG_ENABLE(microhttpd, AS_HELP_STRING([--disable-microhttpd], [disable microhttpd support])) AC_ARG_ENABLE(microhttpd, AS_HELP_STRING([--disable-microhttpd], [disable microhttpd support]))
if test "x$enable_microhttpd" != "xno"; then if test "x$enable_microhttpd" != "xno"; then
PKG_CHECK_MODULES(MICROHTTPD, [libmicrohttpd >= 0.9.5], PKG_CHECK_MODULES(MICROHTTPD, [libmicrohttpd >= 0.9.33],
[AC_DEFINE(HAVE_MICROHTTPD, 1, [Define if microhttpd is available]) have_microhttpd=yes], have_microhttpd=no) [AC_DEFINE(HAVE_MICROHTTPD, 1, [Define if microhttpd is available]) have_microhttpd=yes], have_microhttpd=no)
if test "x$have_microhttpd" = xno -a "x$enable_microhttpd" = xyes; then if test "x$have_microhttpd" = xno -a "x$enable_microhttpd" = xyes; then
AC_MSG_ERROR([*** microhttpd support requested but libraries not found]) AC_MSG_ERROR([*** microhttpd support requested but libraries not found])
@ -634,6 +662,18 @@ if test "x$enable_microhttpd" != "xno"; then
fi fi
AM_CONDITIONAL(HAVE_MICROHTTPD, [test "$have_microhttpd" = "yes"]) AM_CONDITIONAL(HAVE_MICROHTTPD, [test "$have_microhttpd" = "yes"])
# ------------------------------------------------------------------------------
have_gnutls=no
AC_ARG_ENABLE(gnutls, AS_HELP_STRING([--disable-gnutls], [disable gnutls support]))
if test "x$enable_gnutls" != "xno"; then
PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.1.4],
[AC_DEFINE(HAVE_GNUTLS, 1, [Define if gnutls is available]) have_gnutls=yes], have_gnutls=no)
if test "x$have_gnutls" = xno -a "x$enable_gnutls" = xyes; then
AC_MSG_ERROR([*** gnutls support requested but libraries not found])
fi
fi
AM_CONDITIONAL(HAVE_GNUTLS, [test "$have_gnutls" = "yes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_binfmt=no have_binfmt=no
AC_ARG_ENABLE(binfmt, AS_HELP_STRING([--disable-binfmt], [disable binfmt tool])) AC_ARG_ENABLE(binfmt, AS_HELP_STRING([--disable-binfmt], [disable binfmt tool]))
@ -698,6 +738,14 @@ if test "x$enable_backlight" != "xno"; then
fi fi
AM_CONDITIONAL(ENABLE_BACKLIGHT, [test "$have_backlight" = "yes"]) AM_CONDITIONAL(ENABLE_BACKLIGHT, [test "$have_backlight" = "yes"])
# ------------------------------------------------------------------------------
have_rfkill=no
AC_ARG_ENABLE(rfkill, AS_HELP_STRING([--disable-rfkill], [disable rfkill tools]))
if test "x$enable_rfkill" != "xno"; then
have_rfkill=yes
fi
AM_CONDITIONAL(ENABLE_RFKILL, [test "$have_rfkill" = "yes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_logind=no have_logind=no
AC_ARG_ENABLE(logind, AS_HELP_STRING([--disable-logind], [disable login daemon])) AC_ARG_ENABLE(logind, AS_HELP_STRING([--disable-logind], [disable login daemon]))
@ -732,6 +780,51 @@ if test "x$enable_timedated" != "xno"; then
fi fi
AM_CONDITIONAL(ENABLE_TIMEDATED, [test "$have_timedated" = "yes"]) AM_CONDITIONAL(ENABLE_TIMEDATED, [test "$have_timedated" = "yes"])
# ------------------------------------------------------------------------------
have_timesyncd=no
AC_ARG_ENABLE(timesyncd, AS_HELP_STRING([--disable-timesyncd], [disable timesync daemon]))
if test "x$enable_timesyncd" != "xno"; then
have_timesyncd=yes
fi
AM_CONDITIONAL(ENABLE_TIMESYNCD, [test "$have_timesyncd" = "yes"])
AC_ARG_WITH(ntp-servers,
AS_HELP_STRING([--with-ntp-servers=NTPSERVERS],
[Space-separated list of default NTP servers]),
[NTP_SERVERS="$withval"],
[NTP_SERVERS="time1.google.com time2.google.com time3.google.com time4.google.com"])
AC_DEFINE_UNQUOTED(NTP_SERVERS, ["$NTP_SERVERS"], [Default NTP Servers])
AC_SUBST(NTP_SERVERS)
AC_ARG_WITH(time-epoch,
AS_HELP_STRING([--with-time-epoch=SECONDS],
[Time epoch for time clients]),
[TIME_EPOCH="$withval"],
[TIME_EPOCH="`stat -c %Y ${srcdir}/NEWS 2>/dev/null || echo 0`"])
AC_DEFINE_UNQUOTED(TIME_EPOCH, [$TIME_EPOCH], [Time Epoch])
# ------------------------------------------------------------------------------
AC_ARG_WITH(system-uid-max,
AS_HELP_STRING([--with-system-uid-max=UID]
[Maximum UID for system users]),
[SYSTEM_UID_MAX="$withval"],
[SYSTEM_UID_MAX="`awk 'BEGIN { uid=999 } /^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }' /etc/login.defs 2>/dev/null || echo 999`"])
AC_DEFINE_UNQUOTED(SYSTEM_UID_MAX, [$SYSTEM_UID_MAX], [Maximum System UID])
AC_SUBST(SYSTEM_UID_MAX)
# ------------------------------------------------------------------------------
AC_ARG_WITH(system-gid-max,
AS_HELP_STRING([--with-system-gid-max=GID]
[Maximum GID for system groups]),
[SYSTEM_GID_MAX="$withval"],
[SYSTEM_GID_MAX="`awk 'BEGIN { gid=999 } /^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }' /etc/login.defs 2>/dev/null || echo 999`"])
AC_DEFINE_UNQUOTED(SYSTEM_GID_MAX, [$SYSTEM_GID_MAX], [Maximum System GID])
AC_SUBST(SYSTEM_GID_MAX)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_localed=no have_localed=no
AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon])) AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon]))
@ -757,6 +850,32 @@ if test "x$enable_polkit" != "xno"; then
fi fi
AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"]) AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"])
# ------------------------------------------------------------------------------
have_resolved=no
AC_ARG_ENABLE(resolved, AS_HELP_STRING([--disable-resolved], [disable resolve daemon]))
if test "x$enable_resolved" != "xno"; then
have_resolved=yes
fi
AM_CONDITIONAL(ENABLE_RESOLVED, [test "$have_resolved" = "yes"])
AC_ARG_WITH(dns-servers,
AS_HELP_STRING([--with-dns-servers=DNSSERVERS],
[Space-separated list of default DNS servers]),
[DNS_SERVERS="$withval"],
[DNS_SERVERS="8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844"])
AC_DEFINE_UNQUOTED(DNS_SERVERS, ["$DNS_SERVERS"], [Default DNS Servers])
AC_SUBST(DNS_SERVERS)
# ------------------------------------------------------------------------------
have_networkd=no
AC_ARG_ENABLE(networkd, AS_HELP_STRING([--disable-networkd], [disable networkd]))
if test "x$enable_networkd" != "xno"; then
AC_DEFINE(ENABLE_NETWORKD, 1, [Define if networkd support is to be enabled])
have_networkd=yes
fi
AM_CONDITIONAL(ENABLE_NETWORKD, [test "x$have_networkd" = "xyes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_efi=no have_efi=no
AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support])) AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support]))
@ -766,6 +885,24 @@ if test "x$enable_efi" != "xno"; then
fi fi
AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"]) AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"])
# ------------------------------------------------------------------------------
have_multi_seat_x=no
AC_ARG_ENABLE(multi_seat_x, AS_HELP_STRING([--disable-multi-seat-x], [do not build multi-seat-x]))
if test "x$enable_multi_seat_x" != "xno"; then
have_multi_seat_x=yes
fi
AM_CONDITIONAL(ENABLE_MULTI_SEAT_X, [test "$have_multi_seat_x" = "yes"])
# ------------------------------------------------------------------------------
have_kdbus=no
AC_ARG_ENABLE(kdbus, AS_HELP_STRING([--enable-kdbus], [do connect to kdbus by default]))
if test "x$enable_kdbus" = "xyes"; then
AC_DEFINE(ENABLE_KDBUS, 1, [Define if kdbus support is to be enabled])
have_kdbus=yes
M4_DEFINES="$M4_DEFINES -DENABLE_KDBUS"
fi
AM_CONDITIONAL(ENABLE_KDBUS, [test "$have_kdbus" = "yes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
AC_ARG_WITH(rc-local-script-path-start, AC_ARG_WITH(rc-local-script-path-start,
AS_HELP_STRING([--with-rc-local-script-path-start=PATH], AS_HELP_STRING([--with-rc-local-script-path-start=PATH],
@ -814,7 +951,7 @@ AC_DEFINE_UNQUOTED(TELINIT, ["$TELINIT"], [Path to telinit])
AC_SUBST(TELINIT) AC_SUBST(TELINIT)
AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h]) AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h valgrind/valgrind.h])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_myhostname=no have_myhostname=no
@ -865,12 +1002,7 @@ AS_IF([test "x$enable_gudev" = "xyes"], [ AC_DEFINE(HAVE_GLIB, 1, [Define if gli
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
have_manpages=no have_manpages=no
AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages])) AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages]))
AS_IF([test "x$enable_manpages" != xno], [ AS_IF([test "x$enable_manpages" != xno], [have_manpages=yes])
AS_IF([test "x$enable_manpages" = xyes -a "x$XSLTPROC" = x], [
AC_MSG_ERROR([*** Manpages requested but xsltproc not found])
])
AS_IF([test "x$XSLTPROC" != x], [have_manpages=yes])
])
AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"]) AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
@ -878,7 +1010,6 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
# Location of the init scripts as mandated by LSB # Location of the init scripts as mandated by LSB
SYSTEM_SYSVINIT_PATH=/etc/init.d SYSTEM_SYSVINIT_PATH=/etc/init.d
SYSTEM_SYSVRCND_PATH=/etc/rc.d SYSTEM_SYSVRCND_PATH=/etc/rc.d
M4_DEFINES=
AC_ARG_WITH([sysvinit-path], AC_ARG_WITH([sysvinit-path],
[AS_HELP_STRING([--with-sysvinit-path=PATH], [AS_HELP_STRING([--with-sysvinit-path=PATH],
@ -1015,19 +1146,20 @@ AC_MSG_RESULT([
$PACKAGE_NAME $VERSION $PACKAGE_NAME $VERSION
libcryptsetup: ${have_libcryptsetup} libcryptsetup: ${have_libcryptsetup}
tcpwrap: ${have_tcpwrap}
PAM: ${have_pam} PAM: ${have_pam}
AUDIT: ${have_audit} AUDIT: ${have_audit}
IMA: ${have_ima} IMA: ${have_ima}
AppArmor: ${have_apparmor}
SELinux: ${have_selinux} SELinux: ${have_selinux}
SECCOMP: ${have_seccomp}
SMACK: ${have_smack} SMACK: ${have_smack}
XZ: ${have_xz} XZ: ${have_xz}
ACL: ${have_acl} ACL: ${have_acl}
XATTR: ${have_xattr}
GCRYPT: ${have_gcrypt} GCRYPT: ${have_gcrypt}
QRENCODE: ${have_qrencode} QRENCODE: ${have_qrencode}
MICROHTTPD: ${have_microhttpd} MICROHTTPD: ${have_microhttpd}
CHKCONFIG: ${have_chkconfig} CHKCONFIG: ${have_chkconfig}
GNUTLS: ${have_gnutls}
binfmt: ${have_binfmt} binfmt: ${have_binfmt}
vconsole: ${have_vconsole} vconsole: ${have_vconsole}
readahead: ${have_readahead} readahead: ${have_readahead}
@ -1036,19 +1168,29 @@ AC_MSG_RESULT([
tmpfiles: ${have_tmpfiles} tmpfiles: ${have_tmpfiles}
randomseed: ${have_randomseed} randomseed: ${have_randomseed}
backlight: ${have_backlight} backlight: ${have_backlight}
rfkill: ${have_rfkill}
logind: ${have_logind} logind: ${have_logind}
machined: ${have_machined} machined: ${have_machined}
hostnamed: ${have_hostnamed} hostnamed: ${have_hostnamed}
timedated: ${have_timedated} timedated: ${have_timedated}
timesyncd: ${have_timesyncd}
default NTP servers: ${NTP_SERVERS}
time epoch: ${TIME_EPOCH}
localed: ${have_localed} localed: ${have_localed}
networkd: ${have_networkd}
resolved: ${have_resolved}
default DNS servers: ${DNS_SERVERS}
coredump: ${have_coredump} coredump: ${have_coredump}
polkit: ${have_polkit} polkit: ${have_polkit}
efi: ${have_efi} efi: ${have_efi}
kmod: ${have_kmod} kmod: ${have_kmod}
blkid: ${have_blkid} blkid: ${have_blkid}
dbus: ${have_dbus}
nss-myhostname: ${have_myhostname} nss-myhostname: ${have_myhostname}
gudev: ${enable_gudev} gudev: ${enable_gudev}
gintrospection: ${enable_introspection} gintrospection: ${enable_introspection}
multi-seat-x: ${have_multi_seat_x}
kdbus: ${have_kdbus}
Python: ${have_python} Python: ${have_python}
Python Headers: ${have_python_devel} Python Headers: ${have_python_devel}
man pages: ${have_manpages} man pages: ${have_manpages}
@ -1056,6 +1198,7 @@ AC_MSG_RESULT([
test coverage: ${have_coverage} test coverage: ${have_coverage}
Split /usr: ${enable_split_usr} Split /usr: ${enable_split_usr}
SysV compatibility: ${SYSTEM_SYSV_COMPAT} SysV compatibility: ${SYSTEM_SYSV_COMPAT}
compatibility libraries: ${have_compat_libs}
prefix: ${prefix} prefix: ${prefix}
rootprefix: ${with_rootprefix} rootprefix: ${with_rootprefix}
@ -1082,6 +1225,8 @@ AC_MSG_RESULT([
Extra start script: ${RC_LOCAL_SCRIPT_PATH_START} Extra start script: ${RC_LOCAL_SCRIPT_PATH_START}
Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP} Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP}
Debug shell: ${SUSHELL} @ ${DEBUGTTY} Debug shell: ${SUSHELL} @ ${DEBUGTTY}
Maximum System UID: ${SYSTEM_UID_MAX}
Maximum System GID: ${SYSTEM_GID_MAX}
CFLAGS: ${OUR_CFLAGS} ${CFLAGS} CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS} CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}

View File

@ -87,12 +87,11 @@ DIST_COMMON = $(top_srcdir)/docs/gtk-doc.make $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(srcdir)/version.xml.in $(srcdir)/Makefile.am $(srcdir)/version.xml.in
subdir = docs/gudev subdir = docs/gudev
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_libwrap.m4 \ am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \
$(top_srcdir)/m4/attributes.m4 $(top_srcdir)/m4/gtk-doc.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
@ -125,6 +124,8 @@ ACL_LIBS = @ACL_LIBS@
ALL_LINGUAS = @ALL_LINGUAS@ ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPARMOR_CFLAGS = @APPARMOR_CFLAGS@
APPARMOR_LIBS = @APPARMOR_LIBS@
AR = @AR@ AR = @AR@
AUDIT_LIBS = @AUDIT_LIBS@ AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
@ -148,6 +149,7 @@ DEBUGTTY = @DEBUGTTY@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@ DLLTOOL = @DLLTOOL@
DNS_SERVERS = @DNS_SERVERS@
DSYMUTIL = @DSYMUTIL@ DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@ DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
@ -163,6 +165,8 @@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@ GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
GNUTLS_LIBS = @GNUTLS_LIBS@
GPERF = @GPERF@ GPERF = @GPERF@
GREP = @GREP@ GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_CHECK = @GTKDOC_CHECK@
@ -209,12 +213,12 @@ LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIBWRAP_LIBS = @LIBWRAP_LIBS@
LIPO = @LIPO@ LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@ M4 = @M4@
M4_DEFINES = @M4_DEFINES@ M4_DEFINES = @M4_DEFINES@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@ MANIFEST_TOOL = @MANIFEST_TOOL@
MICROHTTPD_CFLAGS = @MICROHTTPD_CFLAGS@ MICROHTTPD_CFLAGS = @MICROHTTPD_CFLAGS@
@ -224,7 +228,7 @@ MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@ MSGMERGE = @MSGMERGE@
NM = @NM@ NM = @NM@
NMEDIT = @NMEDIT@ NMEDIT = @NMEDIT@
OBJCOPY = @OBJCOPY@ NTP_SERVERS = @NTP_SERVERS@
OBJDUMP = @OBJDUMP@ OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@ OTOOL = @OTOOL@
@ -260,22 +264,24 @@ RANLIB = @RANLIB@
RC_LOCAL_SCRIPT_PATH_START = @RC_LOCAL_SCRIPT_PATH_START@ RC_LOCAL_SCRIPT_PATH_START = @RC_LOCAL_SCRIPT_PATH_START@
RC_LOCAL_SCRIPT_PATH_STOP = @RC_LOCAL_SCRIPT_PATH_STOP@ RC_LOCAL_SCRIPT_PATH_STOP = @RC_LOCAL_SCRIPT_PATH_STOP@
RT_LIBS = @RT_LIBS@ RT_LIBS = @RT_LIBS@
SECCOMP_CFLAGS = @SECCOMP_CFLAGS@
SECCOMP_LIBS = @SECCOMP_LIBS@
SED = @SED@ SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@ SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@ SELINUX_LIBS = @SELINUX_LIBS@
SETCAP = @SETCAP@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
SPHINX_BUILD = @SPHINX_BUILD@ SPHINX_BUILD = @SPHINX_BUILD@
STRINGS = @STRINGS@ STRINGS = @STRINGS@
STRIP = @STRIP@ STRIP = @STRIP@
SUSHELL = @SUSHELL@ SUSHELL = @SUSHELL@
SYSTEM_GID_MAX = @SYSTEM_GID_MAX@
SYSTEM_SYSVINIT_PATH = @SYSTEM_SYSVINIT_PATH@ SYSTEM_SYSVINIT_PATH = @SYSTEM_SYSVINIT_PATH@
SYSTEM_SYSVRCND_PATH = @SYSTEM_SYSVRCND_PATH@ SYSTEM_SYSVRCND_PATH = @SYSTEM_SYSVRCND_PATH@
SYSTEM_UID_MAX = @SYSTEM_UID_MAX@
TELINIT = @TELINIT@ TELINIT = @TELINIT@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XATTR_LIBS = @XATTR_LIBS@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XSLTPROC = @XSLTPROC@ XSLTPROC = @XSLTPROC@
XZ_CFLAGS = @XZ_CFLAGS@ XZ_CFLAGS = @XZ_CFLAGS@
@ -517,7 +523,7 @@ GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/docs/gtk-doc.make $(am__configure_deps) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/gtk-doc.make $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
@ -543,9 +549,9 @@ $(top_srcdir)/docs/gtk-doc.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps) $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps): $(am__aclocal_m4_deps):
version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in

View File

@ -53,6 +53,8 @@ g_udev_device_get_property_as_uint64
g_udev_device_get_property_as_double g_udev_device_get_property_as_double
g_udev_device_get_property_as_boolean g_udev_device_get_property_as_boolean
g_udev_device_get_property_as_strv g_udev_device_get_property_as_strv
g_udev_device_get_sysfs_attr_keys
g_udev_device_has_sysfs_attr
g_udev_device_get_sysfs_attr g_udev_device_get_sysfs_attr
g_udev_device_get_sysfs_attr_as_int g_udev_device_get_sysfs_attr_as_int
g_udev_device_get_sysfs_attr_as_uint64 g_udev_device_get_sysfs_attr_as_uint64

View File

@ -257,7 +257,10 @@ Gets all devices belonging to <em class="parameter"><code>subsystem</code></em>.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A list of <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> objects. The caller should free the result by using <code class="function">g_object_unref()</code> on each element in the list and then <code class="function">g_list_free()</code> on the list. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUdevDevice][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A
list of <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> objects. The caller should free the result by
using <code class="function">g_object_unref()</code> on each element in the list and then
<code class="function">g_list_free()</code> on the list. <span class="annotation">[nullable][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUdevDevice][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -293,7 +296,8 @@ Looks up a device for a type and device number.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code>
if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[nullable][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -323,7 +327,8 @@ Looks up a device for a device file.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code>
if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[nullable][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -353,7 +358,8 @@ Looks up a device for a sysfs path.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code>
if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[nullable][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -389,7 +395,8 @@ Looks up a device for a subsystem and name.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code>
if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[nullable][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -82,6 +82,9 @@ const <span class="returnvalue">gchar</span> * <a class="link" href="GUdev
const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-strv" title="g_udev_device_get_property_as_strv ()">g_udev_device_get_property_as_strv</a> const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-strv" title="g_udev_device_get_property_as_strv ()">g_udev_device_get_property_as_strv</a>
(<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>, (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>); <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-keys" title="g_udev_device_get_sysfs_attr_keys ()">g_udev_device_get_sysfs_attr_keys</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
<span class="returnvalue">gboolean</span> <a class="link" href="GUdevDevice.html#g-udev-device-has-sysfs-attr" title="g_udev_device_has_sysfs_attr ()">g_udev_device_has_sysfs_attr</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()">g_udev_device_get_sysfs_attr</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>, const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()">g_udev_device_get_sysfs_attr</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>); <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
<span class="returnvalue">gint</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()">g_udev_device_get_sysfs_attr_as_int</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>, <span class="returnvalue">gint</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()">g_udev_device_get_sysfs_attr_as_int</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
@ -142,6 +145,8 @@ To access udev properties for the device, use
</p> </p>
<p> <p>
To access sysfs attributes for the device, use To access sysfs attributes for the device, use
<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-keys" title="g_udev_device_get_sysfs_attr_keys ()"><code class="function">g_udev_device_get_sysfs_attr_keys()</code></a>,
<a class="link" href="GUdevDevice.html#g-udev-device-has-sysfs-attr" title="g_udev_device_has_sysfs_attr ()"><code class="function">g_udev_device_has_sysfs_attr()</code></a>,
<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()"><code class="function">g_udev_device_get_sysfs_attr()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()"><code class="function">g_udev_device_get_sysfs_attr()</code></a>,
<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()"><code class="function">g_udev_device_get_sysfs_attr_as_int()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()"><code class="function">g_udev_device_get_sysfs_attr_as_int()</code></a>,
<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64" title="g_udev_device_get_sysfs_attr_as_uint64 ()"><code class="function">g_udev_device_get_sysfs_attr_as_uint64()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64" title="g_udev_device_get_sysfs_attr_as_uint64 ()"><code class="function">g_udev_device_get_sysfs_attr_as_uint64()</code></a>,
@ -331,7 +336,9 @@ Gets the name of the driver used for <em class="parameter"><code>device</code></
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The name of the driver for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if unknown.</td> <td>The name of the driver for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if
unknown. <span class="annotation">[nullable]</span>
</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -451,8 +458,9 @@ Gets the device file for <em class="parameter"><code>device</code></em>.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The device file for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if no device file <td>The device file for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if no
exists.</td> device file exists. <span class="annotation">[nullable]</span>
</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -503,7 +511,8 @@ Gets the immediate parent of <em class="parameter"><code>device</code></em>, if
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> or <code class="literal">NULL</code> if <em class="parameter"><code>device</code></em> has no parent. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> or <code class="literal">NULL</code> if
<em class="parameter"><code>device</code></em> has no parent. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[nullable][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -541,7 +550,9 @@ device encountered where <em class="parameter"><code>subsystem</code></em> and <
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> or <code class="literal">NULL</code> if <em class="parameter"><code>device</code></em> has no parent with <em class="parameter"><code>subsystem</code></em> and <em class="parameter"><code>devtype</code></em>. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> <td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> or <code class="literal">NULL</code> if
<em class="parameter"><code>device</code></em> has no parent with <em class="parameter"><code>subsystem</code></em> and <em class="parameter"><code>devtype</code></em>. Free with
<code class="function">g_object_unref()</code>. <span class="annotation">[nullable][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -707,7 +718,9 @@ Look up the value for <em class="parameter"><code>key</code></em> on <em class="
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The value for <em class="parameter"><code>key</code></em> or <code class="literal">NULL</code> if <em class="parameter"><code>key</code></em> doesn't exist on <em class="parameter"><code>device</code></em>. Do not free this string, it is owned by <em class="parameter"><code>device</code></em>.</td> <td>The value for <em class="parameter"><code>key</code></em> or <code class="literal">NULL</code> if <em class="parameter"><code>key</code></em> doesn't
exist on <em class="parameter"><code>device</code></em>. Do not free this string, it is owned by <em class="parameter"><code>device</code></em>. <span class="annotation">[nullable]</span>
</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -869,7 +882,9 @@ locale is not taken into account).
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The value of <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> split into tokens or <code class="literal">NULL</code> if <em class="parameter"><code>key</code></em> doesn't exist. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span> <td>The value of <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> split into tokens or <code class="literal">NULL</code> if <em class="parameter"><code>key</code></em>
doesn't exist. This array is owned by <em class="parameter"><code>device</code></em> and should not be
freed by the caller. <span class="annotation">[nullable][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -877,6 +892,17 @@ locale is not taken into account).
</div> </div>
<hr> <hr>
<div class="refsect2"> <div class="refsect2">
<a name="g-udev-device-get-sysfs-attr-keys"></a><h3>g_udev_device_get_sysfs_attr_keys ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> * const * g_udev_device_get_sysfs_attr_keys (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="g-udev-device-has-sysfs-attr"></a><h3>g_udev_device_has_sysfs_attr ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span> g_udev_device_has_sysfs_attr (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="g-udev-device-get-sysfs-attr"></a><h3>g_udev_device_get_sysfs_attr ()</h3> <a name="g-udev-device-get-sysfs-attr"></a><h3>g_udev_device_get_sysfs_attr ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_sysfs_attr (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>, <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_sysfs_attr (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre> <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
@ -899,8 +925,10 @@ Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The value of the sysfs attribute or <code class="literal">NULL</code> if there is no <td>The value of the sysfs attribute or <code class="literal">NULL</code> if
such attribute. Do not free this string, it is owned by <em class="parameter"><code>device</code></em>.</td> there is no such attribute. Do not free this string, it is owned by
<em class="parameter"><code>device</code></em>. <span class="annotation">[nullable]</span>
</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -1062,7 +1090,9 @@ not taken into account).
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The value of the sysfs attribute split into tokens or <code class="literal">NULL</code> if there is no such attribute. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span> <td>The value of the sysfs attribute split into tokens or <code class="literal">NULL</code> if
there is no such attribute. This array is owned by <em class="parameter"><code>device</code></em> and
should not be freed by the caller. <span class="annotation">[nullable][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -31,10 +31,10 @@
<div class="titlepage"><div><div><h1 class="title"> <div class="titlepage"><div><div><h1 class="title">
<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div> <a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
<a name="glsA"></a><h3 class="title">A</h3> <a name="glsA"></a><h3 class="title">A</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt> <dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
<dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd> <dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd>
<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
<a name="glsE"></a><h3 class="title">E</h3> <a name="glsE"></a><h3 class="title">E</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt> <dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd> <dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>

View File

@ -168,6 +168,10 @@
</dt> </dt>
<dd></dd> <dd></dd>
<dt> <dt>
<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-keys" title="g_udev_device_get_sysfs_attr_keys ()">g_udev_device_get_sysfs_attr_keys</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
</dt>
<dd></dd>
<dt>
<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-path" title="g_udev_device_get_sysfs_path ()">g_udev_device_get_sysfs_path</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-path" title="g_udev_device_get_sysfs_path ()">g_udev_device_get_sysfs_path</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
</dt> </dt>
<dd></dd> <dd></dd>
@ -183,6 +187,10 @@
<a class="link" href="GUdevDevice.html#g-udev-device-has-property" title="g_udev_device_has_property ()">g_udev_device_has_property</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a> <a class="link" href="GUdevDevice.html#g-udev-device-has-property" title="g_udev_device_has_property ()">g_udev_device_has_property</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
</dt> </dt>
<dd></dd> <dd></dd>
<dt>
<a class="link" href="GUdevDevice.html#g-udev-device-has-sysfs-attr" title="g_udev_device_has_sysfs_attr ()">g_udev_device_has_sysfs_attr</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
</dt>
<dd></dd>
<a name="idxE"></a><h3 class="title">E</h3> <a name="idxE"></a><h3 class="title">E</h3>
<dt> <dt>
<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized" title="g_udev_enumerator_add_match_is_initialized ()">g_udev_enumerator_add_match_is_initialized</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a> <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized" title="g_udev_enumerator_add_match_is_initialized ()">g_udev_enumerator_add_match_is_initialized</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>

View File

@ -53,6 +53,8 @@
<keyword type="function" name="g_udev_device_get_property_as_double ()" link="GUdevDevice.html#g-udev-device-get-property-as-double"/> <keyword type="function" name="g_udev_device_get_property_as_double ()" link="GUdevDevice.html#g-udev-device-get-property-as-double"/>
<keyword type="function" name="g_udev_device_get_property_as_boolean ()" link="GUdevDevice.html#g-udev-device-get-property-as-boolean"/> <keyword type="function" name="g_udev_device_get_property_as_boolean ()" link="GUdevDevice.html#g-udev-device-get-property-as-boolean"/>
<keyword type="function" name="g_udev_device_get_property_as_strv ()" link="GUdevDevice.html#g-udev-device-get-property-as-strv"/> <keyword type="function" name="g_udev_device_get_property_as_strv ()" link="GUdevDevice.html#g-udev-device-get-property-as-strv"/>
<keyword type="function" name="g_udev_device_get_sysfs_attr_keys ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-keys"/>
<keyword type="function" name="g_udev_device_has_sysfs_attr ()" link="GUdevDevice.html#g-udev-device-has-sysfs-attr"/>
<keyword type="function" name="g_udev_device_get_sysfs_attr ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr"/> <keyword type="function" name="g_udev_device_get_sysfs_attr ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr"/>
<keyword type="function" name="g_udev_device_get_sysfs_attr_as_int ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int"/> <keyword type="function" name="g_udev_device_get_sysfs_attr_as_int ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int"/>
<keyword type="function" name="g_udev_device_get_sysfs_attr_as_uint64 ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64"/> <keyword type="function" name="g_udev_device_get_sysfs_attr_as_uint64 ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64"/>

View File

@ -15,7 +15,7 @@
<div> <div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GUdev Reference Manual</p></th></tr></table></div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GUdev Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo"> <div><p class="releaseinfo">
For version 208 For version 214
— the latest version of this — the latest version of this
documentation can be found at documentation can be found at
<a class="ulink" href="http://www.freedesktop.org/software/systemd/gudev/" target="_top"> <a class="ulink" href="http://www.freedesktop.org/software/systemd/gudev/" target="_top">

View File

@ -56,6 +56,8 @@
<ANCHOR id="g-udev-device-get-property-as-double" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-double"> <ANCHOR id="g-udev-device-get-property-as-double" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-double">
<ANCHOR id="g-udev-device-get-property-as-boolean" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-boolean"> <ANCHOR id="g-udev-device-get-property-as-boolean" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-boolean">
<ANCHOR id="g-udev-device-get-property-as-strv" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-strv"> <ANCHOR id="g-udev-device-get-property-as-strv" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-strv">
<ANCHOR id="g-udev-device-get-sysfs-attr-keys" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-keys">
<ANCHOR id="g-udev-device-has-sysfs-attr" href="gudev/GUdevDevice.html#g-udev-device-has-sysfs-attr">
<ANCHOR id="g-udev-device-get-sysfs-attr" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr"> <ANCHOR id="g-udev-device-get-sysfs-attr" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr">
<ANCHOR id="g-udev-device-get-sysfs-attr-as-int" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int"> <ANCHOR id="g-udev-device-get-sysfs-attr-as-int" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int">
<ANCHOR id="g-udev-device-get-sysfs-attr-as-uint64" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64"> <ANCHOR id="g-udev-device-get-sysfs-attr-as-uint64" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64">
@ -83,8 +85,8 @@
<ANCHOR id="g-udev-enumerator-execute" href="gudev/GUdevEnumerator.html#g-udev-enumerator-execute"> <ANCHOR id="g-udev-enumerator-execute" href="gudev/GUdevEnumerator.html#g-udev-enumerator-execute">
<ANCHOR id="GUdevEnumerator.property-details" href="gudev/GUdevEnumerator.html#GUdevEnumerator.property-details"> <ANCHOR id="GUdevEnumerator.property-details" href="gudev/GUdevEnumerator.html#GUdevEnumerator.property-details">
<ANCHOR id="GUdevEnumerator--client" href="gudev/GUdevEnumerator.html#GUdevEnumerator--client"> <ANCHOR id="GUdevEnumerator--client" href="gudev/GUdevEnumerator.html#GUdevEnumerator--client">
<ANCHOR id="annotation-glossterm-array" href="gudev/annotation-glossary.html#annotation-glossterm-array">
<ANCHOR id="annotation-glossterm-allow-none" href="gudev/annotation-glossary.html#annotation-glossterm-allow-none"> <ANCHOR id="annotation-glossterm-allow-none" href="gudev/annotation-glossary.html#annotation-glossterm-allow-none">
<ANCHOR id="annotation-glossterm-array" href="gudev/annotation-glossary.html#annotation-glossterm-array">
<ANCHOR id="annotation-glossterm-element-type" href="gudev/annotation-glossary.html#annotation-glossterm-element-type"> <ANCHOR id="annotation-glossterm-element-type" href="gudev/annotation-glossary.html#annotation-glossterm-element-type">
<ANCHOR id="annotation-glossterm-transfer full" href="gudev/annotation-glossary.html#annotation-glossterm-transfer full"> <ANCHOR id="annotation-glossterm-transfer full" href="gudev/annotation-glossary.html#annotation-glossterm-transfer full">
<ANCHOR id="annotation-glossterm-transfer none" href="gudev/annotation-glossary.html#annotation-glossterm-transfer none"> <ANCHOR id="annotation-glossterm-transfer none" href="gudev/annotation-glossary.html#annotation-glossterm-transfer none">

View File

@ -1 +1 @@
208 214

View File

@ -87,12 +87,11 @@ DIST_COMMON = $(top_srcdir)/docs/gtk-doc.make $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(srcdir)/version.xml.in $(srcdir)/Makefile.am $(srcdir)/version.xml.in
subdir = docs/libudev subdir = docs/libudev
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_libwrap.m4 \ am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \
$(top_srcdir)/m4/attributes.m4 $(top_srcdir)/m4/gtk-doc.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
@ -125,6 +124,8 @@ ACL_LIBS = @ACL_LIBS@
ALL_LINGUAS = @ALL_LINGUAS@ ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPARMOR_CFLAGS = @APPARMOR_CFLAGS@
APPARMOR_LIBS = @APPARMOR_LIBS@
AR = @AR@ AR = @AR@
AUDIT_LIBS = @AUDIT_LIBS@ AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
@ -148,6 +149,7 @@ DEBUGTTY = @DEBUGTTY@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@ DLLTOOL = @DLLTOOL@
DNS_SERVERS = @DNS_SERVERS@
DSYMUTIL = @DSYMUTIL@ DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@ DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
@ -163,6 +165,8 @@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@ GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
GNUTLS_LIBS = @GNUTLS_LIBS@
GPERF = @GPERF@ GPERF = @GPERF@
GREP = @GREP@ GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_CHECK = @GTKDOC_CHECK@
@ -209,12 +213,12 @@ LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIBWRAP_LIBS = @LIBWRAP_LIBS@
LIPO = @LIPO@ LIPO = @LIPO@
LN_S = @LN_S@ LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@ M4 = @M4@
M4_DEFINES = @M4_DEFINES@ M4_DEFINES = @M4_DEFINES@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@ MANIFEST_TOOL = @MANIFEST_TOOL@
MICROHTTPD_CFLAGS = @MICROHTTPD_CFLAGS@ MICROHTTPD_CFLAGS = @MICROHTTPD_CFLAGS@
@ -224,7 +228,7 @@ MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@ MSGMERGE = @MSGMERGE@
NM = @NM@ NM = @NM@
NMEDIT = @NMEDIT@ NMEDIT = @NMEDIT@
OBJCOPY = @OBJCOPY@ NTP_SERVERS = @NTP_SERVERS@
OBJDUMP = @OBJDUMP@ OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@ OTOOL = @OTOOL@
@ -260,22 +264,24 @@ RANLIB = @RANLIB@
RC_LOCAL_SCRIPT_PATH_START = @RC_LOCAL_SCRIPT_PATH_START@ RC_LOCAL_SCRIPT_PATH_START = @RC_LOCAL_SCRIPT_PATH_START@
RC_LOCAL_SCRIPT_PATH_STOP = @RC_LOCAL_SCRIPT_PATH_STOP@ RC_LOCAL_SCRIPT_PATH_STOP = @RC_LOCAL_SCRIPT_PATH_STOP@
RT_LIBS = @RT_LIBS@ RT_LIBS = @RT_LIBS@
SECCOMP_CFLAGS = @SECCOMP_CFLAGS@
SECCOMP_LIBS = @SECCOMP_LIBS@
SED = @SED@ SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@ SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@ SELINUX_LIBS = @SELINUX_LIBS@
SETCAP = @SETCAP@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
SPHINX_BUILD = @SPHINX_BUILD@ SPHINX_BUILD = @SPHINX_BUILD@
STRINGS = @STRINGS@ STRINGS = @STRINGS@
STRIP = @STRIP@ STRIP = @STRIP@
SUSHELL = @SUSHELL@ SUSHELL = @SUSHELL@
SYSTEM_GID_MAX = @SYSTEM_GID_MAX@
SYSTEM_SYSVINIT_PATH = @SYSTEM_SYSVINIT_PATH@ SYSTEM_SYSVINIT_PATH = @SYSTEM_SYSVINIT_PATH@
SYSTEM_SYSVRCND_PATH = @SYSTEM_SYSVRCND_PATH@ SYSTEM_SYSVRCND_PATH = @SYSTEM_SYSVRCND_PATH@
SYSTEM_UID_MAX = @SYSTEM_UID_MAX@
TELINIT = @TELINIT@ TELINIT = @TELINIT@
USE_NLS = @USE_NLS@ USE_NLS = @USE_NLS@
VERSION = @VERSION@ VERSION = @VERSION@
XATTR_LIBS = @XATTR_LIBS@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
XSLTPROC = @XSLTPROC@ XSLTPROC = @XSLTPROC@
XZ_CFLAGS = @XZ_CFLAGS@ XZ_CFLAGS = @XZ_CFLAGS@
@ -510,7 +516,7 @@ GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/docs/gtk-doc.make $(am__configure_deps) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/docs/gtk-doc.make $(am__configure_deps)
@for dep in $?; do \ @for dep in $?; do \
case '$(am__configure_deps)' in \ case '$(am__configure_deps)' in \
*$$dep*) \ *$$dep*) \
@ -536,9 +542,9 @@ $(top_srcdir)/docs/gtk-doc.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps) $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps): $(am__aclocal_m4_deps):
version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in

View File

@ -15,7 +15,7 @@
<div> <div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libudev Reference Manual</p></th></tr></table></div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libudev Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo"> <div><p class="releaseinfo">
For version 208 For version 214
— the latest version of this — the latest version of this
documentation can be found at documentation can be found at
<a class="ulink" href="http://www.freedesktop.org/software/systemd/libudev/" target="_top"> <a class="ulink" href="http://www.freedesktop.org/software/systemd/libudev/" target="_top">

View File

@ -153,7 +153,7 @@ the resources of the device will be released.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the passed udev device if it has still an active reference, or <span class="type">NULL</span> otherwise.</td> <td><span class="type">NULL</span></td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -378,9 +378,8 @@ Find the next parent device, and fill in information from the sys
device and the udev database entry. device and the udev database entry.
</p> </p>
<p> <p>
The returned the device is not referenced. It is attached to the Returned device is not referenced. It is attached to the child
child device, and will be cleaned up when the child device device, and will be cleaned up when the child device is cleaned up.
is cleaned up.
</p> </p>
<p> <p>
It is not necessarily just the upper level directory, empty or not It is not necessarily just the upper level directory, empty or not
@ -424,9 +423,8 @@ If devtype is <span class="type">NULL</span>, only subsystem is checked, and any
match. match.
</p> </p>
<p> <p>
The returned the device is not referenced. It is attached to the Returned device is not referenced. It is attached to the child
child device, and will be cleaned up when the child device device, and will be cleaned up when the child device is cleaned up.
is cleaned up.
</p> </p>
<p> <p>
It can be called as many times as needed, without caring about It can be called as many times as needed, without caring about

View File

@ -131,7 +131,7 @@ all resources of the enumeration context will be released.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the passed enumeration context if it has still an active reference, or <span class="type">NULL</span> otherwise.</td> <td><span class="type">NULL</span></td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View File

@ -106,7 +106,7 @@ all resources of the hwdb context will be released.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the passed hwdb context if it has still an active reference, or <span class="type">NULL</span> otherwise.</td> <td><span class="type">NULL</span></td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View File

@ -119,7 +119,7 @@ will be released.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the passed udev monitor if it has still an active reference, or <span class="type">NULL</span> otherwise.</td> <td><span class="type">NULL</span></td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View File

@ -59,10 +59,7 @@ unsigned long long <span class="returnvalue">int</span> <a class="link" href="li
<div class="refsect1"> <div class="refsect1">
<a name="libudev-udev-queue.description"></a><h2>Description</h2> <a name="libudev-udev-queue.description"></a><h2>Description</h2>
<p> <p>
The udev daemon processes events asynchronously. All events which do not have This exports the current state of the udev processing queue.
interdependencies run in parallel. This exports the current state of the
event processing queue, and the current event sequence numbers from the kernel
and the udev daemon.
</p> </p>
</div> </div>
<div class="refsect1"> <div class="refsect1">
@ -118,7 +115,7 @@ the resources of the queue context will be released.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the passed queue context if it has still an active reference, or <span class="type">NULL</span> otherwise.</td> <td><span class="type">NULL</span></td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -226,7 +223,8 @@ Check if udev is currently processing any events.
<pre class="programlisting"><span class="returnvalue">int</span> udev_queue_get_seqnum_is_finished (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>, <pre class="programlisting"><span class="returnvalue">int</span> udev_queue_get_seqnum_is_finished (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>,
<em class="parameter"><code>unsigned long long <span class="type">int</span> seqnum</code></em>);</pre> <em class="parameter"><code>unsigned long long <span class="type">int</span> seqnum</code></em>);</pre>
<p> <p>
Check if udev is currently processing a given sequence number. This function is deprecated, it just returns the result of
<a class="link" href="libudev-udev-queue.html#udev-queue-get-queue-is-empty" title="udev_queue_get_queue_is_empty ()"><code class="function">udev_queue_get_queue_is_empty()</code></a>.
</p> </p>
<div class="variablelist"><table border="0" class="variablelist"> <div class="variablelist"><table border="0" class="variablelist">
<colgroup> <colgroup>
@ -244,7 +242,7 @@ Check if udev is currently processing a given sequence number.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a flag indicating if the given sequence number is currently active.</td> <td>a flag indicating if udev is currently handling events.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -257,7 +255,8 @@ Check if udev is currently processing a given sequence number.
<em class="parameter"><code>unsigned long long <span class="type">int</span> start</code></em>, <em class="parameter"><code>unsigned long long <span class="type">int</span> start</code></em>,
<em class="parameter"><code>unsigned long long <span class="type">int</span> end</code></em>);</pre> <em class="parameter"><code>unsigned long long <span class="type">int</span> end</code></em>);</pre>
<p> <p>
Check if udev is currently processing any events in a given sequence number range. This function is deprecated, it just returns the result of
<a class="link" href="libudev-udev-queue.html#udev-queue-get-queue-is-empty" title="udev_queue_get_queue_is_empty ()"><code class="function">udev_queue_get_queue_is_empty()</code></a>.
</p> </p>
<div class="variablelist"><table border="0" class="variablelist"> <div class="variablelist"><table border="0" class="variablelist">
<colgroup> <colgroup>
@ -279,7 +278,7 @@ Check if udev is currently processing any events in a given sequence number rang
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a flag indicating if any of the sequence numbers in the given range is currently active.</td> <td>a flag indicating if udev is currently handling events.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -290,7 +289,7 @@ Check if udev is currently processing any events in a given sequence number rang
<pre class="programlisting">struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * udev_queue_get_queued_list_entry <pre class="programlisting">struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * udev_queue_get_queued_list_entry
(<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre> (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre>
<p> <p>
Get the first entry of the list of queued events. This function is deprecated.
</p> </p>
<div class="variablelist"><table border="0" class="variablelist"> <div class="variablelist"><table border="0" class="variablelist">
<colgroup> <colgroup>
@ -304,7 +303,7 @@ Get the first entry of the list of queued events.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a udev_list_entry.</td> <td>NULL.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -314,7 +313,7 @@ Get the first entry of the list of queued events.
<a name="udev-queue-get-kernel-seqnum"></a><h3>udev_queue_get_kernel_seqnum ()</h3> <a name="udev-queue-get-kernel-seqnum"></a><h3>udev_queue_get_kernel_seqnum ()</h3>
<pre class="programlisting">unsigned long long <span class="returnvalue">int</span> udev_queue_get_kernel_seqnum (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre> <pre class="programlisting">unsigned long long <span class="returnvalue">int</span> udev_queue_get_kernel_seqnum (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre>
<p> <p>
Get the current kernel event sequence number. This function is deprecated.
</p> </p>
<div class="variablelist"><table border="0" class="variablelist"> <div class="variablelist"><table border="0" class="variablelist">
<colgroup> <colgroup>
@ -328,7 +327,7 @@ Get the current kernel event sequence number.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the sequence number.</td> <td>0.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>
@ -338,7 +337,7 @@ Get the current kernel event sequence number.
<a name="udev-queue-get-udev-seqnum"></a><h3>udev_queue_get_udev_seqnum ()</h3> <a name="udev-queue-get-udev-seqnum"></a><h3>udev_queue_get_udev_seqnum ()</h3>
<pre class="programlisting">unsigned long long <span class="returnvalue">int</span> udev_queue_get_udev_seqnum (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre> <pre class="programlisting">unsigned long long <span class="returnvalue">int</span> udev_queue_get_udev_seqnum (<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre>
<p> <p>
Get the last known udev event sequence number. This function is deprecated.
</p> </p>
<div class="variablelist"><table border="0" class="variablelist"> <div class="variablelist"><table border="0" class="variablelist">
<colgroup> <colgroup>
@ -352,7 +351,7 @@ Get the last known udev event sequence number.
</tr> </tr>
<tr> <tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the sequence number.</td> <td>0.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View File

@ -1 +1 @@
208 214

File diff suppressed because it is too large Load Diff

View File

@ -46,7 +46,7 @@ bluetooth:v000D*
ID_VENDOR_FROM_DATABASE=Texas Instruments Inc. ID_VENDOR_FROM_DATABASE=Texas Instruments Inc.
bluetooth:v000E* bluetooth:v000E*
ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies Inc.) ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies, Inc.)
bluetooth:v000F* bluetooth:v000F*
ID_VENDOR_FROM_DATABASE=Broadcom Corporation ID_VENDOR_FROM_DATABASE=Broadcom Corporation
@ -55,7 +55,7 @@ bluetooth:v0010*
ID_VENDOR_FROM_DATABASE=Mitel Semiconductor ID_VENDOR_FROM_DATABASE=Mitel Semiconductor
bluetooth:v0011* bluetooth:v0011*
ID_VENDOR_FROM_DATABASE=Widcomm, Inc. ID_VENDOR_FROM_DATABASE=Widcomm, Inc
bluetooth:v0012* bluetooth:v0012*
ID_VENDOR_FROM_DATABASE=Zeevo, Inc. ID_VENDOR_FROM_DATABASE=Zeevo, Inc.
@ -73,13 +73,13 @@ bluetooth:v0016*
ID_VENDOR_FROM_DATABASE=KC Technology Inc. ID_VENDOR_FROM_DATABASE=KC Technology Inc.
bluetooth:v0017* bluetooth:v0017*
ID_VENDOR_FROM_DATABASE=Newlogic ID_VENDOR_FROM_DATABASE=NewLogic
bluetooth:v0018* bluetooth:v0018*
ID_VENDOR_FROM_DATABASE=Transilica, Inc. ID_VENDOR_FROM_DATABASE=Transilica, Inc.
bluetooth:v0019* bluetooth:v0019*
ID_VENDOR_FROM_DATABASE=Rohde & Schwartz GmbH & Co. KG ID_VENDOR_FROM_DATABASE=Rohde & Schwarz GmbH & Co. KG
bluetooth:v001A* bluetooth:v001A*
ID_VENDOR_FROM_DATABASE=TTPCom Limited ID_VENDOR_FROM_DATABASE=TTPCom Limited
@ -151,7 +151,7 @@ bluetooth:v0030*
ID_VENDOR_FROM_DATABASE=ST Microelectronics ID_VENDOR_FROM_DATABASE=ST Microelectronics
bluetooth:v0031* bluetooth:v0031*
ID_VENDOR_FROM_DATABASE=Synopsys ID_VENDOR_FROM_DATABASE=Synopsis
bluetooth:v0032* bluetooth:v0032*
ID_VENDOR_FROM_DATABASE=Red-M (Communications) Ltd ID_VENDOR_FROM_DATABASE=Red-M (Communications) Ltd
@ -190,16 +190,16 @@ bluetooth:v003D*
ID_VENDOR_FROM_DATABASE=IPextreme, Inc. ID_VENDOR_FROM_DATABASE=IPextreme, Inc.
bluetooth:v003E* bluetooth:v003E*
ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc.
bluetooth:v003F* bluetooth:v003F*
ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc.
bluetooth:v0040* bluetooth:v0040*
ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation
bluetooth:v0041* bluetooth:v0041*
ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwain, Inc. ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwan, Inc.
bluetooth:v0042* bluetooth:v0042*
ID_VENDOR_FROM_DATABASE=CONWISE Technology Corporation Ltd ID_VENDOR_FROM_DATABASE=CONWISE Technology Corporation Ltd
@ -244,7 +244,7 @@ bluetooth:v004F*
ID_VENDOR_FROM_DATABASE=APT Licensing Ltd. ID_VENDOR_FROM_DATABASE=APT Licensing Ltd.
bluetooth:v0050* bluetooth:v0050*
ID_VENDOR_FROM_DATABASE=SiRF Technology, Inc. ID_VENDOR_FROM_DATABASE=SiRF Technology
bluetooth:v0051* bluetooth:v0051*
ID_VENDOR_FROM_DATABASE=Tzero Technologies, Inc. ID_VENDOR_FROM_DATABASE=Tzero Technologies, Inc.
@ -366,6 +366,9 @@ bluetooth:v0077*
bluetooth:v0078* bluetooth:v0078*
ID_VENDOR_FROM_DATABASE=Nike, Inc. ID_VENDOR_FROM_DATABASE=Nike, Inc.
bluetooth:v0078p0001*
ID_PRODUCT_FROM_DATABASE=Nike+ FuelBand
bluetooth:v0079* bluetooth:v0079*
ID_VENDOR_FROM_DATABASE=lesswire AG ID_VENDOR_FROM_DATABASE=lesswire AG
@ -379,7 +382,7 @@ bluetooth:v007C*
ID_VENDOR_FROM_DATABASE=A & R Cambridge ID_VENDOR_FROM_DATABASE=A & R Cambridge
bluetooth:v007D* bluetooth:v007D*
ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd. ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd
bluetooth:v007E* bluetooth:v007E*
ID_VENDOR_FROM_DATABASE=Sports Tracking Technologies Ltd. ID_VENDOR_FROM_DATABASE=Sports Tracking Technologies Ltd.
@ -406,7 +409,7 @@ bluetooth:v0085*
ID_VENDOR_FROM_DATABASE=BlueRadios, Inc. ID_VENDOR_FROM_DATABASE=BlueRadios, Inc.
bluetooth:v0086* bluetooth:v0086*
ID_VENDOR_FROM_DATABASE=equinux AG ID_VENDOR_FROM_DATABASE=equinox AG
bluetooth:v0087* bluetooth:v0087*
ID_VENDOR_FROM_DATABASE=Garmin International, Inc. ID_VENDOR_FROM_DATABASE=Garmin International, Inc.
@ -421,10 +424,10 @@ bluetooth:v008A*
ID_VENDOR_FROM_DATABASE=Jawbone ID_VENDOR_FROM_DATABASE=Jawbone
bluetooth:v008B* bluetooth:v008B*
ID_VENDOR_FROM_DATABASE=Topcon Positioning Systems, LLC ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC
bluetooth:v008C* bluetooth:v008C*
ID_VENDOR_FROM_DATABASE=Qualcomm Labs, Inc. ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.)
bluetooth:v008D* bluetooth:v008D*
ID_VENDOR_FROM_DATABASE=Zscan Software ID_VENDOR_FROM_DATABASE=Zscan Software
@ -433,13 +436,13 @@ bluetooth:v008E*
ID_VENDOR_FROM_DATABASE=Quintic Corp. ID_VENDOR_FROM_DATABASE=Quintic Corp.
bluetooth:v008F* bluetooth:v008F*
ID_VENDOR_FROM_DATABASE=Stollmann E+V GmbH ID_VENDOR_FROM_DATABASE=Stollman E+V GmbH
bluetooth:v0090* bluetooth:v0090*
ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd. ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd.
bluetooth:v0091* bluetooth:v0091*
ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL systems GmbH & Co. KG ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL Systems GmbH & Co. KG
bluetooth:v0092* bluetooth:v0092*
ID_VENDOR_FROM_DATABASE=ThinkOptics, Inc. ID_VENDOR_FROM_DATABASE=ThinkOptics, Inc.
@ -457,10 +460,10 @@ bluetooth:v0096*
ID_VENDOR_FROM_DATABASE=ODM Technology, Inc. ID_VENDOR_FROM_DATABASE=ODM Technology, Inc.
bluetooth:v0097* bluetooth:v0097*
ID_VENDOR_FROM_DATABASE=Bluetrek Technologies Limited ID_VENDOR_FROM_DATABASE=ConnecteDevice Ltd.
bluetooth:v0098* bluetooth:v0098*
ID_VENDOR_FROM_DATABASE=zero1.tv GmbH ID_VENDOR_FROM_DATABASE=zer01.tv GmbH
bluetooth:v0099* bluetooth:v0099*
ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Global Distribution Ltd. ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Global Distribution Ltd.
@ -511,7 +514,7 @@ bluetooth:v00A8*
ID_VENDOR_FROM_DATABASE=ARP Devices Limited ID_VENDOR_FROM_DATABASE=ARP Devices Limited
bluetooth:v00A9* bluetooth:v00A9*
ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A. ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A
bluetooth:v00AA* bluetooth:v00AA*
ID_VENDOR_FROM_DATABASE=CAEN RFID srl ID_VENDOR_FROM_DATABASE=CAEN RFID srl
@ -539,3 +542,474 @@ bluetooth:v00B1*
bluetooth:v00B2* bluetooth:v00B2*
ID_VENDOR_FROM_DATABASE=Bekey A/S ID_VENDOR_FROM_DATABASE=Bekey A/S
bluetooth:v00B3*
ID_VENDOR_FROM_DATABASE=Clarinox Technologies Pty. Ltd.
bluetooth:v00B4*
ID_VENDOR_FROM_DATABASE=BDE Technology Co., Ltd.
bluetooth:v00B5*
ID_VENDOR_FROM_DATABASE=Swirl Networks
bluetooth:v00B6*
ID_VENDOR_FROM_DATABASE=Meso international
bluetooth:v00B7*
ID_VENDOR_FROM_DATABASE=TreLab Ltd
bluetooth:v00B8*
ID_VENDOR_FROM_DATABASE=Qualcomm Innovation Center, Inc. (QuIC)
bluetooth:v00B9*
ID_VENDOR_FROM_DATABASE=Johnson Controls, Inc.
bluetooth:v00BA*
ID_VENDOR_FROM_DATABASE=Starkey Laboratories Inc.
bluetooth:v00BB*
ID_VENDOR_FROM_DATABASE=S-Power Electronics Limited
bluetooth:v00BC*
ID_VENDOR_FROM_DATABASE=Ace Sensor Inc
bluetooth:v00BD*
ID_VENDOR_FROM_DATABASE=Aplix Corporation
bluetooth:v00BE*
ID_VENDOR_FROM_DATABASE=AAMP of America
bluetooth:v00BF*
ID_VENDOR_FROM_DATABASE=Stalmart Technology Limited
bluetooth:v00C0*
ID_VENDOR_FROM_DATABASE=AMICCOM Electronics Corporation
bluetooth:v00C1*
ID_VENDOR_FROM_DATABASE=Shenzhen Excelsecu Data Technology Co.,Ltd
bluetooth:v00C2*
ID_VENDOR_FROM_DATABASE=Geneq Inc.
bluetooth:v00C3*
ID_VENDOR_FROM_DATABASE=adidas AG
bluetooth:v00C4*
ID_VENDOR_FROM_DATABASE=LG Electronics
bluetooth:v00C5*
ID_VENDOR_FROM_DATABASE=Onset Computer Corporation
bluetooth:v00C6*
ID_VENDOR_FROM_DATABASE=Selfly BV
bluetooth:v00C7*
ID_VENDOR_FROM_DATABASE=Quuppa Oy.
bluetooth:v00C8*
ID_VENDOR_FROM_DATABASE=GeLo Inc
bluetooth:v00C9*
ID_VENDOR_FROM_DATABASE=Evluma
bluetooth:v00CA*
ID_VENDOR_FROM_DATABASE=MC10
bluetooth:v00CB*
ID_VENDOR_FROM_DATABASE=Binauric SE
bluetooth:v00CC*
ID_VENDOR_FROM_DATABASE=Beats Electronics
bluetooth:v00CD*
ID_VENDOR_FROM_DATABASE=Microchip Technology Inc.
bluetooth:v00CE*
ID_VENDOR_FROM_DATABASE=Elgato Systems GmbH
bluetooth:v00CF*
ID_VENDOR_FROM_DATABASE=ARCHOS SA
bluetooth:v00D0*
ID_VENDOR_FROM_DATABASE=Dexcom, Inc.
bluetooth:v00D1*
ID_VENDOR_FROM_DATABASE=Polar Electro Europe B.V.
bluetooth:v00D2*
ID_VENDOR_FROM_DATABASE=Dialog Semiconductor B.V.
bluetooth:v00D3*
ID_VENDOR_FROM_DATABASE=Taixingbang Technology (HK) Co,. LTD.
bluetooth:v00D4*
ID_VENDOR_FROM_DATABASE=Kawantech
bluetooth:v00D5*
ID_VENDOR_FROM_DATABASE=Austco Communication Systems
bluetooth:v00D6*
ID_VENDOR_FROM_DATABASE=Timex Group USA, Inc.
bluetooth:v00D7*
ID_VENDOR_FROM_DATABASE=Qualcomm Technologies, Inc.
bluetooth:v00D8*
ID_VENDOR_FROM_DATABASE=Qualcomm Connected Experiences, Inc.
bluetooth:v00D9*
ID_VENDOR_FROM_DATABASE=Voyetra Turtle Beach
bluetooth:v00DA*
ID_VENDOR_FROM_DATABASE=txtr GmbH
bluetooth:v00DB*
ID_VENDOR_FROM_DATABASE=Biosentronics
bluetooth:v00DC*
ID_VENDOR_FROM_DATABASE=Procter & Gamble
bluetooth:v00DD*
ID_VENDOR_FROM_DATABASE=Hosiden Corporation
bluetooth:v00DE*
ID_VENDOR_FROM_DATABASE=Muzik LLC
bluetooth:v00DF*
ID_VENDOR_FROM_DATABASE=Misfit Wearables Corp
bluetooth:v00E0*
ID_VENDOR_FROM_DATABASE=Google
bluetooth:v00E1*
ID_VENDOR_FROM_DATABASE=Danlers Ltd
bluetooth:v00E2*
ID_VENDOR_FROM_DATABASE=Semilink Inc
bluetooth:v00E3*
ID_VENDOR_FROM_DATABASE=inMusic Brands, Inc
bluetooth:v00E4*
ID_VENDOR_FROM_DATABASE=L.S. Research Inc.
bluetooth:v00E5*
ID_VENDOR_FROM_DATABASE=Eden Software Consultants Ltd.
bluetooth:v00E6*
ID_VENDOR_FROM_DATABASE=Freshtemp
bluetooth:v00E7*
ID_VENDOR_FROM_DATABASE=KS Technologies
bluetooth:v00E8*
ID_VENDOR_FROM_DATABASE=ACTS Technologies
bluetooth:v00E9*
ID_VENDOR_FROM_DATABASE=Vtrack Systems
bluetooth:v00EA*
ID_VENDOR_FROM_DATABASE=Nielsen-Kellerman Company
bluetooth:v00EB*
ID_VENDOR_FROM_DATABASE=Server Technology, Inc.
bluetooth:v00EC*
ID_VENDOR_FROM_DATABASE=BioResearch Associates
bluetooth:v00ED*
ID_VENDOR_FROM_DATABASE=Jolly Logic, LLC
bluetooth:v00EE*
ID_VENDOR_FROM_DATABASE=Above Average Outcomes, Inc.
bluetooth:v00EF*
ID_VENDOR_FROM_DATABASE=Bitsplitters GmbH
bluetooth:v00F0*
ID_VENDOR_FROM_DATABASE=PayPal, Inc.
bluetooth:v00F1*
ID_VENDOR_FROM_DATABASE=Witron Technology Limited
bluetooth:v00F2*
ID_VENDOR_FROM_DATABASE=Aether Things Inc. (formerly Morse Project Inc.)
bluetooth:v00F3*
ID_VENDOR_FROM_DATABASE=Kent Displays Inc.
bluetooth:v00F4*
ID_VENDOR_FROM_DATABASE=Nautilus Inc.
bluetooth:v00F5*
ID_VENDOR_FROM_DATABASE=Smartifier Oy
bluetooth:v00F6*
ID_VENDOR_FROM_DATABASE=Elcometer Limited
bluetooth:v00F7*
ID_VENDOR_FROM_DATABASE=VSN Technologies Inc.
bluetooth:v00F8*
ID_VENDOR_FROM_DATABASE=AceUni Corp., Ltd.
bluetooth:v00F9*
ID_VENDOR_FROM_DATABASE=StickNFind
bluetooth:v00FA*
ID_VENDOR_FROM_DATABASE=Crystal Code AB
bluetooth:v00FB*
ID_VENDOR_FROM_DATABASE=KOUKAAM a.s.
bluetooth:v00FC*
ID_VENDOR_FROM_DATABASE=Delphi Corporation
bluetooth:v00FD*
ID_VENDOR_FROM_DATABASE=ValenceTech Limited
bluetooth:v00FE*
ID_VENDOR_FROM_DATABASE=Reserved
bluetooth:v00FF*
ID_VENDOR_FROM_DATABASE=Typo Products, LLC
bluetooth:v0100*
ID_VENDOR_FROM_DATABASE=TomTom International BV
bluetooth:v0101*
ID_VENDOR_FROM_DATABASE=Fugoo, Inc
bluetooth:v0102*
ID_VENDOR_FROM_DATABASE=Keiser Corporation
bluetooth:v0103*
ID_VENDOR_FROM_DATABASE=Bang & Olufsen A/S
bluetooth:v0104*
ID_VENDOR_FROM_DATABASE=PLUS Locations Systems Pty Ltd
bluetooth:v0105*
ID_VENDOR_FROM_DATABASE=Ubiquitous Computing Technology Corporation
bluetooth:v0106*
ID_VENDOR_FROM_DATABASE=Innovative Yachtter Solutions
bluetooth:v0107*
ID_VENDOR_FROM_DATABASE=William Demant Holding A/S
bluetooth:v0108*
ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd.
bluetooth:v0109*
ID_VENDOR_FROM_DATABASE=Atus BV
bluetooth:v010A*
ID_VENDOR_FROM_DATABASE=Codegate Ltd.
bluetooth:v010B*
ID_VENDOR_FROM_DATABASE=ERi, Inc.
bluetooth:v010C*
ID_VENDOR_FROM_DATABASE=Transducers Direct, LLC
bluetooth:v010D*
ID_VENDOR_FROM_DATABASE=Fujitsu Ten Limited
bluetooth:v010E*
ID_VENDOR_FROM_DATABASE=Audi AG
bluetooth:v010F*
ID_VENDOR_FROM_DATABASE=HiSilicon Technologies Co., Ltd.
bluetooth:v0110*
ID_VENDOR_FROM_DATABASE=Nippon Seiki Co., Ltd.
bluetooth:v0111*
ID_VENDOR_FROM_DATABASE=Steelseries ApS
bluetooth:v0112*
ID_VENDOR_FROM_DATABASE=vyzybl Inc.
bluetooth:v0113*
ID_VENDOR_FROM_DATABASE=Openbrain Technologies, Co., Ltd.
bluetooth:v0114*
ID_VENDOR_FROM_DATABASE=Xensr
bluetooth:v0115*
ID_VENDOR_FROM_DATABASE=e.solutions
bluetooth:v0116*
ID_VENDOR_FROM_DATABASE=1OAK Technologies
bluetooth:v0117*
ID_VENDOR_FROM_DATABASE=Wimoto Technologies Inc
bluetooth:v0118*
ID_VENDOR_FROM_DATABASE=Radius Networks, Inc.
bluetooth:v0119*
ID_VENDOR_FROM_DATABASE=Wize Technology Co., Ltd.
bluetooth:v011A*
ID_VENDOR_FROM_DATABASE=Qualcomm Labs, Inc.
bluetooth:v011B*
ID_VENDOR_FROM_DATABASE=Aruba Networks
bluetooth:v011C*
ID_VENDOR_FROM_DATABASE=Baidu
bluetooth:v011D*
ID_VENDOR_FROM_DATABASE=Arendi AG
bluetooth:v011E*
ID_VENDOR_FROM_DATABASE=Skoda Auto a.s.
bluetooth:v011F*
ID_VENDOR_FROM_DATABASE=Volkswagon AG
bluetooth:v0120*
ID_VENDOR_FROM_DATABASE=Porsche AG
bluetooth:v0121*
ID_VENDOR_FROM_DATABASE=Sino Wealth Electronic Ltd.
bluetooth:v0122*
ID_VENDOR_FROM_DATABASE=AirTurn, Inc.
bluetooth:v0123*
ID_VENDOR_FROM_DATABASE=Kinsa, Inc.
bluetooth:v0124*
ID_VENDOR_FROM_DATABASE=HID Global
bluetooth:v0125*
ID_VENDOR_FROM_DATABASE=SEAT es
bluetooth:v0126*
ID_VENDOR_FROM_DATABASE=Promethean Ltd.
bluetooth:v0127*
ID_VENDOR_FROM_DATABASE=Salutica Allied Solutions
bluetooth:v0128*
ID_VENDOR_FROM_DATABASE=GPSI Group Pty Ltd
bluetooth:v0129*
ID_VENDOR_FROM_DATABASE=Nimble Devices Oy
bluetooth:v012A*
ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd
bluetooth:v012B*
ID_VENDOR_FROM_DATABASE=SportIQ
bluetooth:v012C*
ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V.
bluetooth:v012D*
ID_VENDOR_FROM_DATABASE=Sony Corporation
bluetooth:v012E*
ID_VENDOR_FROM_DATABASE=ASSA ABLOY
bluetooth:v012F*
ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd.
bluetooth:v0130*
ID_VENDOR_FROM_DATABASE=Warehouse Innovations
bluetooth:v0131*
ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation
bluetooth:v0132*
ID_VENDOR_FROM_DATABASE=MADS Inc
bluetooth:v0133*
ID_VENDOR_FROM_DATABASE=Blue Maestro Limited
bluetooth:v0134*
ID_VENDOR_FROM_DATABASE=Resolution Products, Inc.
bluetooth:v0135*
ID_VENDOR_FROM_DATABASE=Airewear LLC
bluetooth:v0136*
ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o.
bluetooth:v0137*
ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd.
bluetooth:v0138*
ID_VENDOR_FROM_DATABASE=NTEO Inc.
bluetooth:v0139*
ID_VENDOR_FROM_DATABASE=Focus Systems Corporation
bluetooth:v013A*
ID_VENDOR_FROM_DATABASE=Tencent Holdings Limited
bluetooth:v013B*
ID_VENDOR_FROM_DATABASE=Allegion
bluetooth:v013C*
ID_VENDOR_FROM_DATABASE=Murata Manufacuring Co., Ltd.
bluetooth:v013D*
ID_VENDOR_FROM_DATABASE=WirelessWERX
bluetooth:v013E*
ID_VENDOR_FROM_DATABASE=Nod, Inc.
bluetooth:v013F*
ID_VENDOR_FROM_DATABASE=B&B Manufacturing Company
bluetooth:v0140*
ID_VENDOR_FROM_DATABASE=Alpine Electronics (China) Co., Ltd
bluetooth:v0141*
ID_VENDOR_FROM_DATABASE=FedEx Services
bluetooth:v0142*
ID_VENDOR_FROM_DATABASE=Grape Systems Inc.
bluetooth:v0143*
ID_VENDOR_FROM_DATABASE=Bkon Connect
bluetooth:v0144*
ID_VENDOR_FROM_DATABASE=Lintech GmbH
bluetooth:v0145*
ID_VENDOR_FROM_DATABASE=Novatel Wireless
bluetooth:v0146*
ID_VENDOR_FROM_DATABASE=Ciright
bluetooth:v0147*
ID_VENDOR_FROM_DATABASE=Mighty Cast, Inc.
bluetooth:v0148*
ID_VENDOR_FROM_DATABASE=Ambimat Electronics
bluetooth:v0149*
ID_VENDOR_FROM_DATABASE=Perytons Ltd.
bluetooth:v014A*
ID_VENDOR_FROM_DATABASE=Tivoli Audio, LLC
bluetooth:v014B*
ID_VENDOR_FROM_DATABASE=Master Lock
bluetooth:v014C*
ID_VENDOR_FROM_DATABASE=Mesh-Net Ltd
bluetooth:v014D*
ID_VENDOR_FROM_DATABASE=HUIZHOU DESAY SV AUTOMOTIVE CO., LTD.
bluetooth:v014E*
ID_VENDOR_FROM_DATABASE=Tangerine, Inc.
bluetooth:v014F*
ID_VENDOR_FROM_DATABASE=B&W Group Ltd.

5
hwdb/20-net-ifname.hwdb Normal file
View File

@ -0,0 +1,5 @@
# This file is part of systemd.
# Dell iDRAC Virtual USB NIC
usb:v413CpA102*
ID_NET_NAME_FROM_DATABASE=idrac

File diff suppressed because it is too large Load Diff

33
hwdb/20-sdio-classes.hwdb Normal file
View File

@ -0,0 +1,33 @@
# This file is part of systemd.
#
# Data imported from: hwdb/sdio.ids
sdio:c00v*d*
ID_SDIO_CLASS_FROM_DATABASE=Not a SDIO standard interface
sdio:c01v*d*
ID_SDIO_CLASS_FROM_DATABASE=UART standard interface
sdio:c02v*d*
ID_SDIO_CLASS_FROM_DATABASE=Bluetooth Type-A standard interface
sdio:c03v*d*
ID_SDIO_CLASS_FROM_DATABASE=Bluetooth Type-B standard interface
sdio:c04v*d*
ID_SDIO_CLASS_FROM_DATABASE=GPS standard interface
sdio:c05v*d*
ID_SDIO_CLASS_FROM_DATABASE=Camera standard interface
sdio:c06v*d*
ID_SDIO_CLASS_FROM_DATABASE=PHS standard interface
sdio:c07v*d*
ID_SDIO_CLASS_FROM_DATABASE=WLAN interface
sdio:c08v*d*
ID_SDIO_CLASS_FROM_DATABASE=Embedded SDIO-ATA standard interface
sdio:c09v*d*
ID_SDIO_CLASS_FROM_DATABASE=Bluetooth AMP standard interface

View File

@ -0,0 +1,177 @@
# This file is part of systemd.
#
# Data imported from: hwdb/sdio.ids
sdio:c*v0020*
ID_VENDOR_FROM_DATABASE=ST-Ericsson
sdio:c*v0020d2280*
ID_MODEL_FROM_DATABASE=CW1200
sdio:c*v0089*
ID_VENDOR_FROM_DATABASE=Intel Corp.
sdio:c*v0092*
ID_VENDOR_FROM_DATABASE=C-guys, Inc.
sdio:c*v0092d0001*
ID_MODEL_FROM_DATABASE=SD-Link11b WiFi Card (TI ACX100)
sdio:c*v0092d0004*
ID_MODEL_FROM_DATABASE=EW-CG1102GC
sdio:c*v0092d0005*
ID_MODEL_FROM_DATABASE=SD FM Radio 2
sdio:c*v0092d5544*
ID_MODEL_FROM_DATABASE=SD FM Radio
sdio:c*v0097*
ID_VENDOR_FROM_DATABASE=Texas Instruments, Inc.
sdio:c*v0097d4076*
ID_MODEL_FROM_DATABASE=WL1271
sdio:c*v0098*
ID_VENDOR_FROM_DATABASE=Toshiba Corp.
sdio:c*v0098d0001*
ID_MODEL_FROM_DATABASE=SD BT Card 1
sdio:c*v0098d0002*
ID_MODEL_FROM_DATABASE=SD BT Card 2
sdio:c*v0098d0003*
ID_MODEL_FROM_DATABASE=SD BT Card 3
sdio:c*v0104*
ID_VENDOR_FROM_DATABASE=Socket Communications, Inc.
sdio:c*v0104d005E*
ID_MODEL_FROM_DATABASE=SD Scanner
sdio:c*v0104d00C5*
ID_MODEL_FROM_DATABASE=Bluetooth SDIO Card
sdio:c*v0271*
ID_VENDOR_FROM_DATABASE=Atheros Communications, Inc.
sdio:c*v0271d0108*
ID_MODEL_FROM_DATABASE=AR6001
sdio:c*v0271d0109*
ID_MODEL_FROM_DATABASE=AR6001
sdio:c*v0271d010A*
ID_MODEL_FROM_DATABASE=AR6001
sdio:c*v0271d010B*
ID_MODEL_FROM_DATABASE=AR6001
sdio:c*v0296*
ID_VENDOR_FROM_DATABASE=GCT Semiconductor, Inc.
sdio:c*v0296d5347*
ID_MODEL_FROM_DATABASE=GDM72xx WiMAX
sdio:c*v02D0*
ID_VENDOR_FROM_DATABASE=Broadcom Corp.
sdio:c*v02D0d044B*
ID_MODEL_FROM_DATABASE=Nintendo Wii WLAN daughter card
sdio:c*v02DB*
ID_VENDOR_FROM_DATABASE=SyChip Inc.
sdio:c*v02DBd0002*
ID_MODEL_FROM_DATABASE=Pegasus WLAN SDIO Card (6060SD)
sdio:c*v02DF*
ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd.
sdio:c*v02DFd9103*
ID_MODEL_FROM_DATABASE=Libertas
sdio:c*v02DFd9104*
ID_MODEL_FROM_DATABASE=SD8688 WLAN
sdio:c*v02DFd9105*
ID_MODEL_FROM_DATABASE=SD8688 BT
sdio:c*v02DFd9116*
ID_MODEL_FROM_DATABASE=SD8786 WLAN
sdio:c*v02DFd9119*
ID_MODEL_FROM_DATABASE=SD8787 WLAN
sdio:c*v02DFd911A*
ID_MODEL_FROM_DATABASE=SD8787 BT
sdio:c*v02DFd911B*
ID_MODEL_FROM_DATABASE=SD8787 BT AMP
sdio:c*v02DFd9129*
ID_MODEL_FROM_DATABASE=SD8797 WLAN
sdio:c*v02DFd912A*
ID_MODEL_FROM_DATABASE=SD8797 BT
sdio:c*v02DFd912E*
ID_MODEL_FROM_DATABASE=SD8897 BT
sdio:c*v02DFd912D*
ID_MODEL_FROM_DATABASE=SD8897 WLAN
sdio:c*v02FE*
ID_VENDOR_FROM_DATABASE=Spectec Computer Co., Ltd
sdio:c*v02FEd2128*
ID_MODEL_FROM_DATABASE=SDIO WLAN Card (SDW820)
sdio:c*v032A*
ID_VENDOR_FROM_DATABASE=Cambridge Silicon Radio
sdio:c*v032Ad0001*
ID_MODEL_FROM_DATABASE=UniFi 1
sdio:c*v032Ad0002*
ID_MODEL_FROM_DATABASE=UniFi 2
sdio:c*v032Ad0007*
ID_MODEL_FROM_DATABASE=UniFi 3
sdio:c*v032Ad0008*
ID_MODEL_FROM_DATABASE=UniFi 4
sdio:c*v037A*
ID_VENDOR_FROM_DATABASE=MediaTek Inc.
sdio:c*v037Ad5911*
ID_MODEL_FROM_DATABASE=Spectec WLAN-11b/g
sdio:c*v039A*
ID_VENDOR_FROM_DATABASE=Siano Mobile Silicon
sdio:c*v0501*
ID_VENDOR_FROM_DATABASE=Globalsat Technology Co.
sdio:c*v0501dF501*
ID_MODEL_FROM_DATABASE=SD-501 GPS Card
sdio:c*v104C*
ID_VENDOR_FROM_DATABASE=Texas Instruments, Inc.
sdio:c*v104Cd9066*
ID_MODEL_FROM_DATABASE=WL1251
sdio:c*v1180*
ID_VENDOR_FROM_DATABASE=Ricoh Co., Ltd
sdio:c*v1180dE823*
ID_MODEL_FROM_DATABASE=MMC card reader
sdio:c*v13D1*
ID_VENDOR_FROM_DATABASE=AboCom Systems, Inc.
sdio:c*v13D1dAC02*
ID_MODEL_FROM_DATABASE=SDW11G

File diff suppressed because it is too large Load Diff

View File

@ -46,52 +46,7 @@
# Acer # Acer
########################################## ##########################################
# Acer platform kernel driver # common keys
keyboard:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnAcer*:pvr*
KEYBOARD_KEY_82=f21
# Aspire 5720
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5720*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnZG8*:pvr*
KEYBOARD_KEY_84=bluetooth # sent when bluetooth module missing, and key pressed
KEYBOARD_KEY_92=media # Acer arcade
KEYBOARD_KEY_d4=bluetooth # Bluetooth on
KEYBOARD_KEY_d9=bluetooth # Bluetooth off
KEYBOARD_KEY_f4=prog3 # e-key
# Aspire 5920g
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5920G:*
KEYBOARD_KEY_8a=media
KEYBOARD_KEY_92=media
KEYBOARD_KEY_a6=setup
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_d9=bluetooth # (toggle) on-to-off
# Aspire 6920
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*6920:*
KEYBOARD_KEY_d9=bluetooth # (toggle) on-to-off
KEYBOARD_KEY_92=media
KEYBOARD_KEY_9e=back
KEYBOARD_KEY_83=rewind
KEYBOARD_KEY_89=fastforward
# Aspire 8930
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*8930:*
KEYBOARD_KEY_ca=prog3 # key 'HOLD' on CineDash Media Console
KEYBOARD_KEY_83=rewind
KEYBOARD_KEY_89=fastforward
KEYBOARD_KEY_92=media # key 'ARCADE' on CineDash Media Console
KEYBOARD_KEY_9e=back
# Travelmate C300
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*C3[01]0*:pvr*
KEYBOARD_KEY_67=f24 # FIXME: rotate screen
KEYBOARD_KEY_68=up
KEYBOARD_KEY_69=down
KEYBOARD_KEY_6b=fn
KEYBOARD_KEY_6c=screenlock # FIXME: lock tablet device/buttons
#
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*
keyboard:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr* keyboard:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr*
@ -99,6 +54,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr*
KEYBOARD_KEY_a6=setup # Fn+F2 Acer eSettings KEYBOARD_KEY_a6=setup # Fn+F2 Acer eSettings
KEYBOARD_KEY_a7=battery # Fn+F3 Power Management KEYBOARD_KEY_a7=battery # Fn+F3 Power Management
KEYBOARD_KEY_a9=switchvideomode # Fn+F5 KEYBOARD_KEY_a9=switchvideomode # Fn+F5
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_b3=euro KEYBOARD_KEY_b3=euro
KEYBOARD_KEY_b4=dollar KEYBOARD_KEY_b4=dollar
KEYBOARD_KEY_ce=brightnessup # Fn+Right KEYBOARD_KEY_ce=brightnessup # Fn+Right
@ -118,35 +74,53 @@ keyboard:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr*
KEYBOARD_KEY_f8=fn KEYBOARD_KEY_f8=fn
KEYBOARD_KEY_f9=prog1 # Launch NTI shadow KEYBOARD_KEY_f9=prog1 # Launch NTI shadow
# # Acer platform kernel driver
keyboard:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnAcer*:pvr*
KEYBOARD_KEY_82=f21 # Touchpad toggle
# Aspire models
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*:pvr*
KEYBOARD_KEY_84=bluetooth # sent when bluetooth module missing, and key pressed
KEYBOARD_KEY_d9=bluetooth # Bluetooth off
KEYBOARD_KEY_92=media # Acer arcade
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5720*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnZG8*:pvr*
KEYBOARD_KEY_f4=prog3 # e-key
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5920G:*
KEYBOARD_KEY_8a=media
KEYBOARD_KEY_a6=setup
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*6920:*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*8930:*
KEYBOARD_KEY_ca=prog3 # key 'HOLD' on CineDash Media Console
KEYBOARD_KEY_83=rewind
KEYBOARD_KEY_89=fastforward
KEYBOARD_KEY_9e=back
# Travelmate C300
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*C3[01]0*:pvr*
KEYBOARD_KEY_67=f24 # FIXME: rotate screen
KEYBOARD_KEY_68=up
KEYBOARD_KEY_69=down
KEYBOARD_KEY_6b=fn
KEYBOARD_KEY_6c=screenlock # FIXME: lock tablet device/buttons
# on some models this isn't brightnessup
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5210*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5210*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5220*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5220*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5610*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5610*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5620*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5620*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5720*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5720*:pvr*
KEYBOARD_KEY_ee=screenlock
#
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6292*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*8471*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*7720*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1810T*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO751h:*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO531h:*
KEYBOARD_KEY_d9=bluetooth
#
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr*
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_ee=screenlock
#
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6593:* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6593:*
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1640:* keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1640:*
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_ee=screenlock KEYBOARD_KEY_ee=screenlock
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr*
KEYBOARD_KEY_a9=!switchvideomode # Fn+F5
########################################################### ###########################################################
# Alienware # Alienware
########################################################### ###########################################################
@ -164,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn*
KEYBOARD_KEY_ef=mute KEYBOARD_KEY_ef=mute
keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
KEYBOARD_KEY_6b=f21 # Touchpad Toggle KEYBOARD_KEY_6b=f21 # Touchpad Toggle
########################################################### ###########################################################
@ -446,6 +421,22 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHDX9494NR:pvr*
KEYBOARD_KEY_d8=!f23 # touchpad off KEYBOARD_KEY_d8=!f23 # touchpad off
KEYBOARD_KEY_d9=!f22 # touchpad on KEYBOARD_KEY_d9=!f22 # touchpad on
# Chromebook 14
# Top row keys (between ESC and power button)
keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr*
KEYBOARD_KEY_3b=back
KEYBOARD_KEY_3c=forward
KEYBOARD_KEY_3d=refresh
KEYBOARD_KEY_3f=switchvideomode
KEYBOARD_KEY_40=brightnessdown
KEYBOARD_KEY_41=brightnessup
KEYBOARD_KEY_42=mute
KEYBOARD_KEY_43=volumedown
KEYBOARD_KEY_44=volumeup
KEYBOARD_KEY_db=search # Same position as caps lock key on most keyboards
# KEYBOARD_KEY_3e=fullscreen, no defined key sym
########################################################### ###########################################################
# IBM # IBM
########################################################### ###########################################################
@ -512,11 +503,6 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_17=prog1 KEYBOARD_KEY_17=prog1
KEYBOARD_KEY_1a=f20 KEYBOARD_KEY_1a=f20
#
keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_42=f23
KEYBOARD_KEY_43=f22
# ThinkPad Keyboard with TrackPoint # ThinkPad Keyboard with TrackPoint
keyboard:usb:v17EFp6009* keyboard:usb:v17EFp6009*
KEYBOARD_KEY_090012=screenlock # Fn+F2 KEYBOARD_KEY_090012=screenlock # Fn+F2
@ -553,6 +539,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
# Thinkpad X200_Tablet # Thinkpad X200_Tablet
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X2*Tablet*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X2*Tablet*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet*
KEYBOARD_KEY_5d=menu KEYBOARD_KEY_5d=menu
KEYBOARD_KEY_63=fn KEYBOARD_KEY_63=fn
KEYBOARD_KEY_66=screenlock KEYBOARD_KEY_66=screenlock
@ -572,18 +559,38 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr*
KEYBOARD_KEY_69=enter # enter on d-pad KEYBOARD_KEY_69=enter # enter on d-pad
# IdeaPad # IdeaPad
keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_42=f23
KEYBOARD_KEY_43=f22
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr*
KEYBOARD_KEY_95=media KEYBOARD_KEY_95=media
KEYBOARD_KEY_a3=play KEYBOARD_KEY_a3=play
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr*
KEYBOARD_KEY_f1=f21
KEYBOARD_KEY_ce=f20
keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr*
KEYBOARD_KEY_a0=!mute
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
# V480 # V480
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr*
KEYBOARD_KEY_f1=f21 KEYBOARD_KEY_f1=f21
# IdeaPad # enhanced USB keyboard
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* keyboard:usb:v04B3p301B*
KEYBOARD_KEY_f1=f21 KEYBOARD_KEY_90001=prog1 # ThinkVantage
KEYBOARD_KEY_ce=f20 KEYBOARD_KEY_90002=screenlock
KEYBOARD_KEY_90003=file
KEYBOARD_KEY_90004=wordprocessor
KEYBOARD_KEY_90005=spreadsheet
KEYBOARD_KEY_90006=calc
KEYBOARD_KEY_90007=mail
KEYBOARD_KEY_90008=www
########################################################### ###########################################################
# Logitech # Logitech
@ -858,6 +865,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr*
KEYBOARD_KEY_f2=volumedown KEYBOARD_KEY_f2=volumedown
KEYBOARD_KEY_f3=volumeup KEYBOARD_KEY_f3=volumeup
###########################################################
# Plantronics
###########################################################
# Plantronics .Audio 626 DSP
keyboard:usb:v047FpC006*
KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute
########################################################### ###########################################################
# Quanta # Quanta
########################################################### ###########################################################
@ -903,7 +918,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr*
KEYBOARD_KEY_a8=! # Fn Lock - Function lock on KEYBOARD_KEY_a8=! # Fn Lock - Function lock on
KEYBOARD_KEY_a9=! # Fn Lock - Function lock off KEYBOARD_KEY_a9=! # Fn Lock - Function lock off
# Series 7 / 9
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_a0=!mute # Fn+F6 mute KEYBOARD_KEY_a0=!mute # Fn+F6 mute
@ -913,15 +931,28 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr*
KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up
KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer
# Series 9 keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*:pvr*
KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up
KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down
KEYBOARD_KEY_96=! # Fn+F1 performance mode (?) KEYBOARD_KEY_96=! # Fn+F1 performance mode (?)
KEYBOARD_KEY_97=! # Fn+F12 Wi-Fi toggle KEYBOARD_KEY_97=! # Fn+F12 Wi-Fi toggle
KEYBOARD_KEY_d5=! # Fn+F6 battery life extender KEYBOARD_KEY_d5=! # Fn+F6 battery life extender
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_8d=!prog3 # Fn+F6 performance mode
KEYBOARD_KEY_97=!kbdillumdown # Fn+F7 keyboard backlight down
KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up
KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle
# Series 7 Ultra
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr*
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings
KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down
KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up
KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer
KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch
# SQ1US # SQ1US
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr* keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr*
KEYBOARD_KEY_d4=menu KEYBOARD_KEY_d4=menu
@ -939,11 +970,6 @@ keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*SX20S*:pvr*
KEYBOARD_KEY_77=f22 # Touchpad on KEYBOARD_KEY_77=f22 # Touchpad on
KEYBOARD_KEY_79=f23 # Touchpad off KEYBOARD_KEY_79=f23 # Touchpad off
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr*
KEYBOARD_KEY_ba=ejectcd
KEYBOARD_KEY_96=keyboardbrightnessup
KEYBOARD_KEY_97=keyboardbrightnessdown
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700T*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700T*:pvr*
KEYBOARD_KEY_ad=leftmeta KEYBOARD_KEY_ad=leftmeta
@ -987,6 +1013,9 @@ keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-Z21*:pvr*
KEYBOARD_KEY_17=prog1 KEYBOARD_KEY_17=prog1
KEYBOARD_KEY_20=media KEYBOARD_KEY_20=media
keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-FW250*:pvr*
KEYBOARD_KEY_10=suspend # Fn+F12
keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVPC*:pvr* keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVPC*:pvr*
KEYBOARD_KEY_05=f21 # Fn+F1 -> KEY_F21 (The actual touchpad toggle) KEYBOARD_KEY_05=f21 # Fn+F1 -> KEY_F21 (The actual touchpad toggle)
KEYBOARD_KEY_0d=zoomout # Fn+F9 KEYBOARD_KEY_0d=zoomout # Fn+F9
@ -1030,6 +1059,21 @@ keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75-A:pvr*
KEYBOARD_KEY_a9=switchvideomode # switch display outputs KEYBOARD_KEY_a9=switchvideomode # switch display outputs
KEYBOARD_KEY_d4=wlan # RF Switch Off KEYBOARD_KEY_d4=wlan # RF Switch Off
# Satellite U940
keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSATELLITEU940:pvr*
KEYBOARD_KEY_13c=brightnessdown
KEYBOARD_KEY_13d=brightnessup
KEYBOARD_KEY_13e=switchvideomode
KEYBOARD_KEY_13f=f21 # Touchpad toggle
# Satellite P75-A7200
keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75-A:pvr*
KEYBOARD_KEY_13c=brightnessdown
KEYBOARD_KEY_13d=brightnessup
KEYBOARD_KEY_13e=switchvideomode
KEYBOARD_KEY_13f=touchpad_toggle
KEYBOARD_KEY_9e=wlan
########################################################### ###########################################################
# VIA # VIA
########################################################### ###########################################################
@ -1074,9 +1118,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnFOXCONN:pnQBOOK:*
keyboard:dmi:bvn*:bvr*:bd*:svnMTC:pn*:pvrA0:* keyboard:dmi:bvn*:bvr*:bd*:svnMTC:pn*:pvrA0:*
keyboard:dmi:bvn*:bvr*:bd*:svnMio*Technology:pnN890:* keyboard:dmi:bvn*:bvr*:bd*:svnMio*Technology:pnN890:*
keyboard:dmi:bvn*:bvr*:bd*:svnPEGATRON*CORP.:pnSpring*Peak:* keyboard:dmi:bvn*:bvr*:bd*:svnPEGATRON*CORP.:pnSpring*Peak:*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*[uU]30[05]*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*[uU][35]0[05]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSATELLITE*[uU][35]0[05]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*Pro*[uU]300*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*Pro*[uU]300*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSATELLITE*[uU]500*:pvr* keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnEQUIUM [uU][35]0[05]*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnViooo*Corporation:pnPT17:* keyboard:dmi:bvn*:bvr*:bd*:svnViooo*Corporation:pnPT17:*
keyboard:dmi:bvn*:bvr*:bd*:svnHANNspree:pnSN10E100:* keyboard:dmi:bvn*:bvr*:bd*:svnHANNspree:pnSN10E100:*
keyboard:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pni1520M:* keyboard:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pni1520M:*

View File

@ -1,13 +0,0 @@
BEGIN {
print "<!DOCTYPE node PUBLIC DBUS_INTROSPECT_1_0_XML_PUBLIC_IDENTIFIER"
print "DBUS_INTROSPECT_1_0_XML_SYSTEM_IDENTIFIER>"
print "<node>"
}
// {
print
}
END {
print "</node>"
}

10
libsystemd-daemon.c Normal file
View File

@ -0,0 +1,10 @@
obsolete_lib(sd_booted,libsystemd-daemon);
obsolete_lib(sd_is_fifo,libsystemd-daemon);
obsolete_lib(sd_is_mq,libsystemd-daemon);
obsolete_lib(sd_is_socket,libsystemd-daemon);
obsolete_lib(sd_is_socket_inet,libsystemd-daemon);
obsolete_lib(sd_is_socket_unix,libsystemd-daemon);
obsolete_lib(sd_is_special,libsystemd-daemon);
obsolete_lib(sd_listen_fds,libsystemd-daemon);
obsolete_lib(sd_notify,libsystemd-daemon);
obsolete_lib(sd_notifyf,libsystemd-daemon);

5
libsystemd-id128.c Normal file
View File

@ -0,0 +1,5 @@
obsolete_lib(sd_id128_to_string,libsystemd-id128);
obsolete_lib(sd_id128_from_string,libsystemd-id128);
obsolete_lib(sd_id128_randomize,libsystemd-id128);
obsolete_lib(sd_id128_get_machine,libsystemd-id128);
obsolete_lib(sd_id128_get_boot,libsystemd-id128);

51
libsystemd-journal.c Normal file
View File

@ -0,0 +1,51 @@
obsolete_lib(sd_journal_print,libsystemd-journal);
obsolete_lib(sd_journal_printv,libsystemd-journal);
obsolete_lib(sd_journal_send,libsystemd-journal);
obsolete_lib(sd_journal_sendv,libsystemd-journal);
obsolete_lib(sd_journal_stream_fd,libsystemd-journal);
obsolete_lib(sd_journal_open,libsystemd-journal);
obsolete_lib(sd_journal_close,libsystemd-journal);
obsolete_lib(sd_journal_previous,libsystemd-journal);
obsolete_lib(sd_journal_next,libsystemd-journal);
obsolete_lib(sd_journal_previous_skip,libsystemd-journal);
obsolete_lib(sd_journal_next_skip,libsystemd-journal);
obsolete_lib(sd_journal_get_realtime_usec,libsystemd-journal);
obsolete_lib(sd_journal_get_monotonic_usec,libsystemd-journal);
obsolete_lib(sd_journal_get_data,libsystemd-journal);
obsolete_lib(sd_journal_enumerate_data,libsystemd-journal);
obsolete_lib(sd_journal_restart_data,libsystemd-journal);
obsolete_lib(sd_journal_add_match,libsystemd-journal);
obsolete_lib(sd_journal_flush_matches,libsystemd-journal);
obsolete_lib(sd_journal_seek_head,libsystemd-journal);
obsolete_lib(sd_journal_seek_tail,libsystemd-journal);
obsolete_lib(sd_journal_seek_monotonic_usec,libsystemd-journal);
obsolete_lib(sd_journal_seek_realtime_usec,libsystemd-journal);
obsolete_lib(sd_journal_seek_cursor,libsystemd-journal);
obsolete_lib(sd_journal_get_cursor,libsystemd-journal);
obsolete_lib(sd_journal_get_fd,libsystemd-journal);
obsolete_lib(sd_journal_process,libsystemd-journal);
obsolete_lib(sd_journal_print_with_location,libsystemd-journal);
obsolete_lib(sd_journal_printv_with_location,libsystemd-journal);
obsolete_lib(sd_journal_send_with_location,libsystemd-journal);
obsolete_lib(sd_journal_sendv_with_location,libsystemd-journal);
obsolete_lib(sd_journal_get_cutoff_realtime_usec,libsystemd-journal);
obsolete_lib(sd_journal_get_cutoff_monotonic_usec,libsystemd-journal);
obsolete_lib(sd_journal_wait,libsystemd-journal);
obsolete_lib(sd_journal_open_directory,libsystemd-journal);
obsolete_lib(sd_journal_add_disjunction,libsystemd-journal);
obsolete_lib(sd_journal_perror,libsystemd-journal);
obsolete_lib(sd_journal_perror_with_location,libsystemd-journal);
obsolete_lib(sd_journal_get_usage,libsystemd-journal);
obsolete_lib(sd_journal_test_cursor,libsystemd-journal);
obsolete_lib(sd_journal_query_unique,libsystemd-journal);
obsolete_lib(sd_journal_enumerate_unique,libsystemd-journal);
obsolete_lib(sd_journal_restart_unique,libsystemd-journal);
obsolete_lib(sd_journal_get_catalog,libsystemd-journal);
obsolete_lib(sd_journal_get_catalog_for_message_id,libsystemd-journal);
obsolete_lib(sd_journal_set_data_threshold,libsystemd-journal);
obsolete_lib(sd_journal_get_data_threshold,libsystemd-journal);
obsolete_lib(sd_journal_reliable_fd,libsystemd-journal);
obsolete_lib(sd_journal_get_events,libsystemd-journal);
obsolete_lib(sd_journal_get_timeout,libsystemd-journal);
obsolete_lib(sd_journal_add_conjunction,libsystemd-journal);
obsolete_lib(sd_journal_open_files,libsystemd-journal);

35
libsystemd-login.c Normal file
View File

@ -0,0 +1,35 @@
obsolete_lib(sd_get_seats,libsystemd-login);
obsolete_lib(sd_get_sessions,libsystemd-login);
obsolete_lib(sd_get_uids,libsystemd-login);
obsolete_lib(sd_login_monitor_flush,libsystemd-login);
obsolete_lib(sd_login_monitor_get_fd,libsystemd-login);
obsolete_lib(sd_login_monitor_new,libsystemd-login);
obsolete_lib(sd_login_monitor_unref,libsystemd-login);
obsolete_lib(sd_pid_get_owner_uid,libsystemd-login);
obsolete_lib(sd_pid_get_session,libsystemd-login);
obsolete_lib(sd_seat_can_multi_session,libsystemd-login);
obsolete_lib(sd_seat_get_active,libsystemd-login);
obsolete_lib(sd_seat_get_sessions,libsystemd-login);
obsolete_lib(sd_session_get_seat,libsystemd-login);
obsolete_lib(sd_session_get_uid,libsystemd-login);
obsolete_lib(sd_session_is_active,libsystemd-login);
obsolete_lib(sd_uid_get_seats,libsystemd-login);
obsolete_lib(sd_uid_get_sessions,libsystemd-login);
obsolete_lib(sd_uid_get_state,libsystemd-login);
obsolete_lib(sd_uid_is_on_seat,libsystemd-login);
obsolete_lib(sd_pid_get_unit,libsystemd-login);
obsolete_lib(sd_session_get_service,libsystemd-login);
obsolete_lib(sd_session_get_type,libsystemd-login);
obsolete_lib(sd_session_get_class,libsystemd-login);
obsolete_lib(sd_session_get_display,libsystemd-login);
obsolete_lib(sd_session_get_state,libsystemd-login);
obsolete_lib(sd_seat_can_tty,libsystemd-login);
obsolete_lib(sd_seat_can_graphical,libsystemd-login);
obsolete_lib(sd_session_get_tty,libsystemd-login);
obsolete_lib(sd_login_monitor_get_events,libsystemd-login);
obsolete_lib(sd_login_monitor_get_timeout,libsystemd-login);
obsolete_lib(sd_pid_get_user_unit,libsystemd-login);
obsolete_lib(sd_pid_get_machine_name,libsystemd-login);
obsolete_lib(sd_get_machine_names,libsystemd-login);
obsolete_lib(sd_pid_get_slice,libsystemd-login);
obsolete_lib(sd_session_get_vt,libsystemd-login);

View File

@ -1,19 +0,0 @@
AC_DEFUN([ACX_LIBWRAP], [
LIBWRAP_LIBS=
saved_LIBS="$LIBS"
LIBS="$LIBS -lwrap"
AC_MSG_CHECKING([for tcpwrap library and headers])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <tcpd.h>
#include <syslog.h>
int allow_severity = LOG_INFO;
int deny_severity = LOG_WARNING;],
[struct request_info *req;
return hosts_access (req);])],
[AC_DEFINE(HAVE_LIBWRAP, [], [Have tcpwrap?])
LIBWRAP_LIBS="-lwrap"
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
LIBS="$saved_LIBS"
])

12
m4/libtool.m4 vendored
View File

@ -1312,7 +1312,7 @@ ia64-*-hpux*)
rm -rf conftest* rm -rf conftest*
;; ;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*) s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext echo 'int i;' > conftest.$ac_ext
@ -1326,7 +1326,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*) x86_64-*linux*)
LD="${LD-ld} -m elf_i386" LD="${LD-ld} -m elf_i386"
;; ;;
ppc64-*linux*|powerpc64-*linux*) powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux" LD="${LD-ld} -m elf32ppclinux"
;; ;;
s390x-*linux*) s390x-*linux*)
@ -1345,7 +1348,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*) x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64" LD="${LD-ld} -m elf_x86_64"
;; ;;
ppc*-*linux*|powerpc*-*linux*) powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
powerpc-*linux*)
LD="${LD-ld} -m elf64ppc" LD="${LD-ld} -m elf64ppc"
;; ;;
s390*-*linux*|s390*-*tpf*) s390*-*linux*|s390*-*tpf*)

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-id128</code> </p></div></div><div class="refsect1"><a name="idm274677249712"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214203487536"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to
process and generate 128-bit ID values. The 128-bit ID process and generate 128-bit ID values. The 128-bit ID
values processed and generated by these APIs are a values processed and generated by these APIs are a
generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated }</pre><p>Note that new, randomized IDs may be generated
with with
<a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s <a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s
<code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm274681131024"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These APIs are implemented as a shared library, <code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm214194742784"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
which can be compiled and linked to with the library, which can be compiled and linked to with the
"<code class="literal">libsystemd-id128</code>" <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274681128144"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> file.</p></div><div class="refsect1"><a name="idm214203585552"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>, <a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>,
<a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>, <a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-id128</code> </p></div></div><div class="refsect1"><a name="idm274677249712"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214203487536"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to
process and generate 128-bit ID values. The 128-bit ID process and generate 128-bit ID values. The 128-bit ID
values processed and generated by these APIs are a values processed and generated by these APIs are a
generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated }</pre><p>Note that new, randomized IDs may be generated
with with
<a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s <a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s
<code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm274681131024"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These APIs are implemented as a shared library, <code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm214194742784"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
which can be compiled and linked to with the library, which can be compiled and linked to with the
"<code class="literal">libsystemd-id128</code>" <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274681128144"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> file.</p></div><div class="refsect1"><a name="idm214203585552"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>, <a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>,
<a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>, <a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-id128</code> </p></div></div><div class="refsect1"><a name="idm274677249712"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214203487536"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to
process and generate 128-bit ID values. The 128-bit ID process and generate 128-bit ID values. The 128-bit ID
values processed and generated by these APIs are a values processed and generated by these APIs are a
generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated }</pre><p>Note that new, randomized IDs may be generated
with with
<a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s <a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s
<code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm274681131024"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These APIs are implemented as a shared library, <code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm214194742784"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
which can be compiled and linked to with the library, which can be compiled and linked to with the
"<code class="literal">libsystemd-id128</code>" <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274681128144"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> file.</p></div><div class="refsect1"><a name="idm214203585552"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>, <a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>,
<a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>, <a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-id128</code> </p></div></div><div class="refsect1"><a name="idm274677249712"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-id128"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-id128, sd_id128_t, SD_ID128_MAKE, SD_ID128_CONST_STR, SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL, sd_id128_equal — APIs for processing 128-bit IDs</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-id128.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214203487536"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-id128.h</code> provides APIs to
process and generate 128-bit ID values. The 128-bit ID process and generate 128-bit ID values. The 128-bit ID
values processed and generated by these APIs are a values processed and generated by these APIs are a
generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC generalization of OSF UUIDs as defined by <a class="ulink" href="https://tools.ietf.org/html/rfc4122" target="_top">RFC
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated }</pre><p>Note that new, randomized IDs may be generated
with with
<a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s <a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>'s
<code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm274681131024"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These APIs are implemented as a shared library, <code class="option">--new-id</code> option.</p></div><div class="refsect1"><a name="idm214194742784"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
which can be compiled and linked to with the library, which can be compiled and linked to with the
"<code class="literal">libsystemd-id128</code>" <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274681128144"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> file.</p></div><div class="refsect1"><a name="idm214203585552"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>, <a href="sd_id128_to_string.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_to_string</span>(3)</span></a>,
<a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>, <a href="sd_id128_randomize.html"><span class="citerefentry"><span class="refentrytitle">sd_id128_randomize</span>(3)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,8 +19,8 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_get_fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_fd, sd_journal_get_events, sd_journal_get_timeout, sd_journal_process, sd_journal_wait, sd_journal_reliable_fd, SD_JOURNAL_NOP, SD_JOURNAL_APPEND, SD_JOURNAL_INVALIDATE — Journal change notification <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_get_fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_fd, sd_journal_get_events, sd_journal_get_timeout, sd_journal_process, sd_journal_wait, sd_journal_reliable_fd, SD_JOURNAL_NOP, SD_JOURNAL_APPEND, SD_JOURNAL_INVALIDATE — Journal change notification
interface</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_fd</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_events</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_timeout</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t* <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_process</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_wait</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_reliable_fd</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274704023696"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns interface</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_fd</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_events</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_timeout</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t *<var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_process</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_wait</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_reliable_fd</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214189551600"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns
a file descriptor that may be asynchronously polled in a file descriptor that may be asynchronously polled in
an external event loop and is signaled as soon as the an external event loop and is signaled as soon as the
journal changes, because new entries or files were journal changes, because new entries or files were
@ -112,7 +112,7 @@ else {
no need to invoke this function directly as no need to invoke this function directly as
<code class="function">sd_journal_get_timeout()</code> on these <code class="function">sd_journal_get_timeout()</code> on these
file systems will ask for timeouts explicitly file systems will ask for timeouts explicitly
anyway.</p></div><div class="refsect1"><a name="idm274703983584"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns anyway.</p></div><div class="refsect1"><a name="idm214189511696"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns
a valid file descriptor on success or a negative a valid file descriptor on success or a negative
errno-style error code.</p><p><code class="function">sd_journal_get_events()</code> errno-style error code.</p><p><code class="function">sd_journal_get_events()</code>
returns a combination of <code class="constant">POLLIN</code>, returns a combination of <code class="constant">POLLIN</code>,
@ -138,15 +138,15 @@ else {
probably refresh their entire display, while in the probably refresh their entire display, while in the
case of <code class="constant">SD_JOURNAL_APPEND</code>, it is case of <code class="constant">SD_JOURNAL_APPEND</code>, it is
sufficient to simply continue reading at the previous sufficient to simply continue reading at the previous
end of the journal.</p></div><div class="refsect1"><a name="idm274699013792"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_fd()</code>, end of the journal.</p></div><div class="refsect1"><a name="idm214184533264"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_fd()</code>,
<code class="function">sd_journal_get_events()</code>, <code class="function">sd_journal_get_events()</code>,
<code class="function">sd_journal_reliable_fd()</code>, <code class="function">sd_journal_reliable_fd()</code>,
<code class="function">sd_journal_process()</code> and <code class="function">sd_journal_process()</code> and
<code class="function">sd_journal_wait()</code> interfaces are <code class="function">sd_journal_wait()</code> interfaces are
available as shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274699008208"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal, in a live view tracking all changes:</p><pre class="programlisting">#include &lt;stdio.h&gt; file.</p></div><div class="refsect1"><a name="idm214184527680"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal, in a live view tracking all changes:</p><pre class="programlisting">#include &lt;stdio.h&gt;
#include &lt;string.h&gt; #include &lt;string.h&gt;
#include &lt;systemd/sd-journal.h&gt; #include &lt;systemd/sd-journal.h&gt;
@ -208,8 +208,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j); pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec); poll(&amp;pollfd, 1, msec);
return sd_journal_process(j); return sd_journal_process(j);
} }</pre></div><div class="refsect1"><a name="idm214184521056"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
</pre></div><div class="refsect1"><a name="idm274699001584"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>, <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char** <var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274677924448"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_open_container, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char **<var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_container</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">machine</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214195234384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens
the log journal for reading. It will find all journal the log journal for reading. It will find all journal
files automatically and interleave them automatically files automatically and interleave them automatically
when reading. As first argument it takes a pointer to when reading. As first argument it takes a pointer to
@ -55,7 +55,12 @@
that in the case of a live journal, this function is only that in the case of a live journal, this function is only
useful for debugging, because individual journal files useful for debugging, because individual journal files
can be rotated at any moment, and the opening of can be rotated at any moment, and the opening of
specific files is inherently racy.</p><p><code class="varname">sd_journal</code> objects cannot be specific files is inherently racy.</p><p><code class="function">sd_journal_open_container()</code>
is similar to <code class="function">sd_journal_open()</code>
but opens the journal files of a running
OS container. The specified machine name refers to a
container that is registered with
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>.</p><p><code class="varname">sd_journal</code> objects cannot be
used in the child after a fork. Functions which take a used in the child after a fork. Functions which take a
journal object as an argument journal object as an argument
(<code class="function">sd_journal_next()</code> and others) (<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
locally, to its closest entry in time) locally, to its closest entry in time)
<a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via <a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via
<code class="function">sd_journal_get_fd()</code> and related <code class="function">sd_journal_get_fd()</code> and related
calls.</p></div><div class="refsect1"><a name="idm274677893168"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>, calls.</p></div><div class="refsect1"><a name="idm214195199952"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code>, and <code class="function">sd_journal_open_directory()</code>, and
<code class="function">sd_journal_open_files()</code> calls <code class="function">sd_journal_open_files()</code> calls
return 0 on success or a negative errno-style error return 0 on success or a negative errno-style error
code. <code class="function">sd_journal_close()</code> returns code. <code class="function">sd_journal_close()</code> returns
nothing.</p></div><div class="refsect1"><a name="idm274677888960"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>, nothing.</p></div><div class="refsect1"><a name="idm214195195744"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code> and <code class="function">sd_journal_open_directory()</code> and
<code class="function">sd_journal_close()</code> interfaces are <code class="function">sd_journal_close()</code> interfaces are
available as a shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274677884112"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>, file.</p></div><div class="refsect1"><a name="idm214190277136"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_close()</code>, <code class="function">sd_journal_close()</code>,
<code class="constant">SD_JOURNAL_LOCAL_ONLY</code>, <code class="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>, <code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code> and <code class="function">sd_journal_open_files()</code>
were added in systemd-205. were added in systemd-205.
<code class="constant">SD_JOURNAL_SYSTEM_ONLY</code> <code class="constant">SD_JOURNAL_SYSTEM_ONLY</code>
was deprecated.</p></div><div class="refsect1"><a name="idm274672909856"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> was deprecated.</p></div><div class="refsect1"><a name="idm214190270800"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>, <a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>,
<a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a> <a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>,
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>
</p></div></div></body></html> </p></div></div></body></html>

View File

@ -19,14 +19,14 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_next"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_next, sd_journal_previous, sd_journal_next_skip, sd_journal_previous_skip, SD_JOURNAL_FOREACH, SD_JOURNAL_FOREACH_BACKWARDS — Advance or set back the read pointer in the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next_skip</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous_skip</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_BACKWARDS</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274688721504"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_next()</code> advances <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_next"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_next, sd_journal_previous, sd_journal_next_skip, sd_journal_previous_skip, SD_JOURNAL_FOREACH, SD_JOURNAL_FOREACH_BACKWARDS — Advance or set back the read pointer in the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next_skip</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous_skip</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_BACKWARDS</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214184331424"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_next()</code> advances
the read pointer into the journal by one entry. The the read pointer into the journal by one entry. The
only argument taken is a journal context object as only argument taken is a journal context object as
allocated via allocated via
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>. After <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>. After
successful invocation the entry may be read with successful invocation the entry may be read with
functions such as functions such as
<a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>.</p><p>Similar, <code class="function">sd_journal_previous()</code> sets <a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>.</p><p>Similarly, <code class="function">sd_journal_previous()</code> sets
the read pointer back one entry.</p><p><code class="function">sd_journal_next_skip()</code> and the read pointer back one entry.</p><p><code class="function">sd_journal_next_skip()</code> and
<code class="function">sd_journal_previous_skip()</code> <code class="function">sd_journal_previous_skip()</code>
advance/set back the read pointer by multiple entries advance/set back the read pointer by multiple entries
@ -45,10 +45,10 @@
<a href="sd_journal_seek_head.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_head</span>(3)</span></a> <a href="sd_journal_seek_head.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_head</span>(3)</span></a>
and <code class="function">sd_journal_next()</code> in order to and <code class="function">sd_journal_next()</code> in order to
make iterating through the journal easier. See below make iterating through the journal easier. See below
for an example. Similar, for an example. Similarly,
<code class="function">SD_JOURNAL_FOREACH_BACKWARDS()</code> <code class="function">SD_JOURNAL_FOREACH_BACKWARDS()</code>
may be used for iterating the journal in reverse may be used for iterating the journal in reverse
order.</p></div><div class="refsect1"><a name="idm274688708112"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The four calls return the number of entries order.</p></div><div class="refsect1"><a name="idm214184318032"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The four calls return the number of entries
advanced/set back on success or a negative errno-style advanced/set back on success or a negative errno-style
error code. When the end or beginning of the journal error code. When the end or beginning of the journal
is reached, a number smaller than requested is is reached, a number smaller than requested is
@ -57,13 +57,13 @@
<code class="function">sd_journal_previous()</code> reach the <code class="function">sd_journal_previous()</code> reach the
end/beginning of the journal they will return 0, end/beginning of the journal they will return 0,
instead of 1 when they are successful. This should be instead of 1 when they are successful. This should be
considered an EOF marker.</p></div><div class="refsect1"><a name="idm274688698112"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_next()</code>, <code class="function">sd_journal_previous()</code>, considered an EOF marker.</p></div><div class="refsect1"><a name="idm214184307648"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_next()</code>, <code class="function">sd_journal_previous()</code>,
<code class="function">sd_journal_next_skip()</code> and <code class="function">sd_journal_next_skip()</code> and
<code class="function">sd_journal_previous_skip()</code> interfaces are <code class="function">sd_journal_previous_skip()</code> interfaces are
available as shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274688692528"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal:</p><pre class="programlisting">#include &lt;stdio.h&gt; file.</p></div><div class="refsect1"><a name="idm214184302064"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal:</p><pre class="programlisting">#include &lt;stdio.h&gt;
#include &lt;string.h&gt; #include &lt;string.h&gt;
#include &lt;systemd/sd-journal.h&gt; #include &lt;systemd/sd-journal.h&gt;
@ -89,7 +89,7 @@ int main(int argc, char *argv[]) {
} }
sd_journal_close(j); sd_journal_close(j);
return 0; return 0;
}</pre></div><div class="refsect1"><a name="idm274688689024"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> }</pre></div><div class="refsect1"><a name="idm214184298560"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>, <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>,

View File

@ -19,14 +19,14 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_next"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_next, sd_journal_previous, sd_journal_next_skip, sd_journal_previous_skip, SD_JOURNAL_FOREACH, SD_JOURNAL_FOREACH_BACKWARDS — Advance or set back the read pointer in the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next_skip</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous_skip</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_BACKWARDS</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274688721504"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_next()</code> advances <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_next"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_next, sd_journal_previous, sd_journal_next_skip, sd_journal_previous_skip, SD_JOURNAL_FOREACH, SD_JOURNAL_FOREACH_BACKWARDS — Advance or set back the read pointer in the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_next_skip</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_previous_skip</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">skip</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_BACKWARDS</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214184331424"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_next()</code> advances
the read pointer into the journal by one entry. The the read pointer into the journal by one entry. The
only argument taken is a journal context object as only argument taken is a journal context object as
allocated via allocated via
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>. After <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>. After
successful invocation the entry may be read with successful invocation the entry may be read with
functions such as functions such as
<a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>.</p><p>Similar, <code class="function">sd_journal_previous()</code> sets <a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>.</p><p>Similarly, <code class="function">sd_journal_previous()</code> sets
the read pointer back one entry.</p><p><code class="function">sd_journal_next_skip()</code> and the read pointer back one entry.</p><p><code class="function">sd_journal_next_skip()</code> and
<code class="function">sd_journal_previous_skip()</code> <code class="function">sd_journal_previous_skip()</code>
advance/set back the read pointer by multiple entries advance/set back the read pointer by multiple entries
@ -45,10 +45,10 @@
<a href="sd_journal_seek_head.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_head</span>(3)</span></a> <a href="sd_journal_seek_head.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_head</span>(3)</span></a>
and <code class="function">sd_journal_next()</code> in order to and <code class="function">sd_journal_next()</code> in order to
make iterating through the journal easier. See below make iterating through the journal easier. See below
for an example. Similar, for an example. Similarly,
<code class="function">SD_JOURNAL_FOREACH_BACKWARDS()</code> <code class="function">SD_JOURNAL_FOREACH_BACKWARDS()</code>
may be used for iterating the journal in reverse may be used for iterating the journal in reverse
order.</p></div><div class="refsect1"><a name="idm274688708112"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The four calls return the number of entries order.</p></div><div class="refsect1"><a name="idm214184318032"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The four calls return the number of entries
advanced/set back on success or a negative errno-style advanced/set back on success or a negative errno-style
error code. When the end or beginning of the journal error code. When the end or beginning of the journal
is reached, a number smaller than requested is is reached, a number smaller than requested is
@ -57,13 +57,13 @@
<code class="function">sd_journal_previous()</code> reach the <code class="function">sd_journal_previous()</code> reach the
end/beginning of the journal they will return 0, end/beginning of the journal they will return 0,
instead of 1 when they are successful. This should be instead of 1 when they are successful. This should be
considered an EOF marker.</p></div><div class="refsect1"><a name="idm274688698112"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_next()</code>, <code class="function">sd_journal_previous()</code>, considered an EOF marker.</p></div><div class="refsect1"><a name="idm214184307648"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_next()</code>, <code class="function">sd_journal_previous()</code>,
<code class="function">sd_journal_next_skip()</code> and <code class="function">sd_journal_next_skip()</code> and
<code class="function">sd_journal_previous_skip()</code> interfaces are <code class="function">sd_journal_previous_skip()</code> interfaces are
available as shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274688692528"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal:</p><pre class="programlisting">#include &lt;stdio.h&gt; file.</p></div><div class="refsect1"><a name="idm214184302064"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal:</p><pre class="programlisting">#include &lt;stdio.h&gt;
#include &lt;string.h&gt; #include &lt;string.h&gt;
#include &lt;systemd/sd-journal.h&gt; #include &lt;systemd/sd-journal.h&gt;
@ -89,7 +89,7 @@ int main(int argc, char *argv[]) {
} }
sd_journal_close(j); sd_journal_close(j);
return 0; return 0;
}</pre></div><div class="refsect1"><a name="idm274688689024"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> }</pre></div><div class="refsect1"><a name="idm214184298560"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>, <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_get_data"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_data, sd_journal_enumerate_data, sd_journal_restart_data, SD_JOURNAL_FOREACH_DATA, sd_journal_set_data_threshold, sd_journal_get_data_threshold — Read data fields from the current journal entry</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_data</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">field</var>, </td></tr><tr><td> </td><td>const void** <var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t* <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_enumerate_data</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void** <var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t* <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_restart_data</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_DATA</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void* <var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_set_data_threshold</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">sz</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_data_threshold</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>size_t* <var class="pdparam">sz</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274684373776"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_data()</code> gets <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_get_data"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_data, sd_journal_enumerate_data, sd_journal_restart_data, SD_JOURNAL_FOREACH_DATA, sd_journal_set_data_threshold, sd_journal_get_data_threshold — Read data fields from the current journal entry</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_data</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">field</var>, </td></tr><tr><td> </td><td>const void **<var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t *<var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_enumerate_data</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void **<var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t *<var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_restart_data</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_DATA</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void *<var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_set_data_threshold</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">sz</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_data_threshold</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>size_t *<var class="pdparam">sz</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214187428608"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_data()</code> gets
the data object associated with a specific field from the data object associated with a specific field from
the current journal entry. It takes four arguments: the current journal entry. It takes four arguments:
the journal context object, a string with the field the journal context object, a string with the field
@ -77,7 +77,7 @@
having to decompress large compressed data objects in having to decompress large compressed data objects in
full.</p><p><code class="function">sd_journal_get_data_threshold()</code> full.</p><p><code class="function">sd_journal_get_data_threshold()</code>
returns the currently configured data field size returns the currently configured data field size
threshold.</p></div><div class="refsect1"><a name="idm274684347840"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_data()</code> threshold.</p></div><div class="refsect1"><a name="idm214187402928"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_data()</code>
returns 0 on success or a negative errno-style error returns 0 on success or a negative errno-style error
code. If the current entry does not include the code. If the current entry does not include the
specified field, -ENOENT is returned. If specified field, -ENOENT is returned. If
@ -92,16 +92,16 @@
nothing. <code class="function">sd_journal_set_data_threshold()</code> nothing. <code class="function">sd_journal_set_data_threshold()</code>
and <code class="function">sd_journal_get_threshold()</code> and <code class="function">sd_journal_get_threshold()</code>
return 0 on success or a negative errno-style error return 0 on success or a negative errno-style error
code.</p></div><div class="refsect1"><a name="idm274684341792"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_data()</code>, code.</p></div><div class="refsect1"><a name="idm214187396880"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_data()</code>,
<code class="function">sd_journal_enumerate_data()</code>, <code class="function">sd_journal_enumerate_data()</code>,
<code class="function">sd_journal_restart_data()</code>, <code class="function">sd_journal_restart_data()</code>,
<code class="function">sd_journal_set_data_threshold()</code> <code class="function">sd_journal_set_data_threshold()</code>
and and
<code class="function">sd_journal_get_data_threshold()</code> <code class="function">sd_journal_get_data_threshold()</code>
interfaces are available as shared library, which can interfaces are available as a shared library, which can
be compiled and linked to with the be compiled and linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274679375856"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>See file.</p></div><div class="refsect1"><a name="idm214187390528"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>See
<a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a> <a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>
for a complete example how to use for a complete example how to use
<code class="function">sd_journal_get_data()</code>.</p><p>Use the <code class="function">sd_journal_get_data()</code>.</p><p>Use the
@ -114,7 +114,7 @@ int print_fields(sd_journal *j) {
SD_JOURNAL_FOREACH_DATA(j, data, length) SD_JOURNAL_FOREACH_DATA(j, data, length)
printf("%.*s\n", (int) length, data); printf("%.*s\n", (int) length, data);
} }
...</pre></div><div class="refsect1"><a name="idm274679371360"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> ...</pre></div><div class="refsect1"><a name="idm214182417888"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="systemd.journal-fields.html"><span class="citerefentry"><span class="refentrytitle">systemd.journal-fields</span>(7)</span></a>, <a href="systemd.journal-fields.html"><span class="citerefentry"><span class="refentrytitle">systemd.journal-fields</span>(7)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_query_unique"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_query_unique, sd_journal_enumerate_unique, sd_journal_restart_unique, SD_JOURNAL_FOREACH_UNIQUE — Read unique data fields from the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_query_unique</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">field</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_enumerate_unique</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void** <var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t* <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_restart_unique</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_UNIQUE</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void* <var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274683751280"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_query_unique()</code> <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_query_unique"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_query_unique, sd_journal_enumerate_unique, sd_journal_restart_unique, SD_JOURNAL_FOREACH_UNIQUE — Read unique data fields from the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_query_unique</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">field</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_enumerate_unique</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void **<var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t *<var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_restart_unique</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"><b class="fsfunc">SD_JOURNAL_FOREACH_UNIQUE</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>const void *<var class="pdparam">data</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">length</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214170804784"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_query_unique()</code>
queries the journal for all unique values the queries the journal for all unique values the
specified field can take. It takes two arguments: the specified field can take. It takes two arguments: the
journal to query and the field name to look journal to query and the field name to look
@ -60,20 +60,20 @@
influenced by matches set with influenced by matches set with
<code class="function">sd_journal_add_match()</code> but this <code class="function">sd_journal_add_match()</code> but this
might change in a later version of this might change in a later version of this
software.</p></div><div class="refsect1"><a name="idm274683737440"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_query_unique()</code> software.</p></div><div class="refsect1"><a name="idm214170790992"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_query_unique()</code>
returns 0 on success or a negative errno-style error returns 0 on success or a negative errno-style error
code. <code class="function">sd_journal_enumerate_unique()</code> code. <code class="function">sd_journal_enumerate_unique()</code>
returns a positive integer if the next field data has returns a positive integer if the next field data has
been read, 0 when no more fields are known, or a been read, 0 when no more fields are known, or a
negative errno-style error negative errno-style error
code. <code class="function">sd_journal_restart_unique()</code> code. <code class="function">sd_journal_restart_unique()</code>
returns nothing.</p></div><div class="refsect1"><a name="idm274683726464"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_query_unique()</code>, returns nothing.</p></div><div class="refsect1"><a name="idm214170780096"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_query_unique()</code>,
<code class="function">sd_journal_enumerate_unique()</code> and <code class="function">sd_journal_enumerate_unique()</code> and
<code class="function">sd_journal_restart_unique()</code> <code class="function">sd_journal_restart_unique()</code>
interfaces are available as shared library, which can interfaces are available as a shared library, which can
be compiled and linked to with the be compiled and linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274683721584"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Use the file.</p></div><div class="refsect1"><a name="idm214170775216"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Use the
<code class="function">SD_JOURNAL_FOREACH_UNIQUE</code> macro <code class="function">SD_JOURNAL_FOREACH_UNIQUE</code> macro
to iterate through all values a field of the journal to iterate through all values a field of the journal
can take. The following example lists all unit names can take. The following example lists all unit names
@ -101,7 +101,7 @@ int main(int argc, char *argv[]) {
printf("%.*s\n", (int) l, (const char*) d); printf("%.*s\n", (int) l, (const char*) d);
sd_journal_close(j); sd_journal_close(j);
return 0; return 0;
}</pre></div><div class="refsect1"><a name="idm274683716976"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> }</pre></div><div class="refsect1"><a name="idm214170770608"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="systemd.journal-fields.html"><span class="citerefentry"><span class="refentrytitle">systemd.journal-fields</span>(7)</span></a>, <a href="systemd.journal-fields.html"><span class="citerefentry"><span class="refentrytitle">systemd.journal-fields</span>(7)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,

View File

@ -19,8 +19,8 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_get_fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_fd, sd_journal_get_events, sd_journal_get_timeout, sd_journal_process, sd_journal_wait, sd_journal_reliable_fd, SD_JOURNAL_NOP, SD_JOURNAL_APPEND, SD_JOURNAL_INVALIDATE — Journal change notification <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_get_fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_fd, sd_journal_get_events, sd_journal_get_timeout, sd_journal_process, sd_journal_wait, sd_journal_reliable_fd, SD_JOURNAL_NOP, SD_JOURNAL_APPEND, SD_JOURNAL_INVALIDATE — Journal change notification
interface</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_fd</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_events</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_timeout</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t* <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_process</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_wait</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_reliable_fd</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274704023696"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns interface</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_fd</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_events</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_timeout</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t *<var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_process</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_wait</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_reliable_fd</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214189551600"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns
a file descriptor that may be asynchronously polled in a file descriptor that may be asynchronously polled in
an external event loop and is signaled as soon as the an external event loop and is signaled as soon as the
journal changes, because new entries or files were journal changes, because new entries or files were
@ -112,7 +112,7 @@ else {
no need to invoke this function directly as no need to invoke this function directly as
<code class="function">sd_journal_get_timeout()</code> on these <code class="function">sd_journal_get_timeout()</code> on these
file systems will ask for timeouts explicitly file systems will ask for timeouts explicitly
anyway.</p></div><div class="refsect1"><a name="idm274703983584"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns anyway.</p></div><div class="refsect1"><a name="idm214189511696"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns
a valid file descriptor on success or a negative a valid file descriptor on success or a negative
errno-style error code.</p><p><code class="function">sd_journal_get_events()</code> errno-style error code.</p><p><code class="function">sd_journal_get_events()</code>
returns a combination of <code class="constant">POLLIN</code>, returns a combination of <code class="constant">POLLIN</code>,
@ -138,15 +138,15 @@ else {
probably refresh their entire display, while in the probably refresh their entire display, while in the
case of <code class="constant">SD_JOURNAL_APPEND</code>, it is case of <code class="constant">SD_JOURNAL_APPEND</code>, it is
sufficient to simply continue reading at the previous sufficient to simply continue reading at the previous
end of the journal.</p></div><div class="refsect1"><a name="idm274699013792"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_fd()</code>, end of the journal.</p></div><div class="refsect1"><a name="idm214184533264"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_fd()</code>,
<code class="function">sd_journal_get_events()</code>, <code class="function">sd_journal_get_events()</code>,
<code class="function">sd_journal_reliable_fd()</code>, <code class="function">sd_journal_reliable_fd()</code>,
<code class="function">sd_journal_process()</code> and <code class="function">sd_journal_process()</code> and
<code class="function">sd_journal_wait()</code> interfaces are <code class="function">sd_journal_wait()</code> interfaces are
available as shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274699008208"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal, in a live view tracking all changes:</p><pre class="programlisting">#include &lt;stdio.h&gt; file.</p></div><div class="refsect1"><a name="idm214184527680"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal, in a live view tracking all changes:</p><pre class="programlisting">#include &lt;stdio.h&gt;
#include &lt;string.h&gt; #include &lt;string.h&gt;
#include &lt;systemd/sd-journal.h&gt; #include &lt;systemd/sd-journal.h&gt;
@ -208,8 +208,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j); pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec); poll(&amp;pollfd, 1, msec);
return sd_journal_process(j); return sd_journal_process(j);
} }</pre></div><div class="refsect1"><a name="idm214184521056"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
</pre></div><div class="refsect1"><a name="idm274699001584"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>, <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char** <var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274677924448"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_open_container, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char **<var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_container</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">machine</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214195234384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens
the log journal for reading. It will find all journal the log journal for reading. It will find all journal
files automatically and interleave them automatically files automatically and interleave them automatically
when reading. As first argument it takes a pointer to when reading. As first argument it takes a pointer to
@ -55,7 +55,12 @@
that in the case of a live journal, this function is only that in the case of a live journal, this function is only
useful for debugging, because individual journal files useful for debugging, because individual journal files
can be rotated at any moment, and the opening of can be rotated at any moment, and the opening of
specific files is inherently racy.</p><p><code class="varname">sd_journal</code> objects cannot be specific files is inherently racy.</p><p><code class="function">sd_journal_open_container()</code>
is similar to <code class="function">sd_journal_open()</code>
but opens the journal files of a running
OS container. The specified machine name refers to a
container that is registered with
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>.</p><p><code class="varname">sd_journal</code> objects cannot be
used in the child after a fork. Functions which take a used in the child after a fork. Functions which take a
journal object as an argument journal object as an argument
(<code class="function">sd_journal_next()</code> and others) (<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
locally, to its closest entry in time) locally, to its closest entry in time)
<a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via <a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via
<code class="function">sd_journal_get_fd()</code> and related <code class="function">sd_journal_get_fd()</code> and related
calls.</p></div><div class="refsect1"><a name="idm274677893168"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>, calls.</p></div><div class="refsect1"><a name="idm214195199952"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code>, and <code class="function">sd_journal_open_directory()</code>, and
<code class="function">sd_journal_open_files()</code> calls <code class="function">sd_journal_open_files()</code> calls
return 0 on success or a negative errno-style error return 0 on success or a negative errno-style error
code. <code class="function">sd_journal_close()</code> returns code. <code class="function">sd_journal_close()</code> returns
nothing.</p></div><div class="refsect1"><a name="idm274677888960"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>, nothing.</p></div><div class="refsect1"><a name="idm214195195744"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code> and <code class="function">sd_journal_open_directory()</code> and
<code class="function">sd_journal_close()</code> interfaces are <code class="function">sd_journal_close()</code> interfaces are
available as a shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274677884112"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>, file.</p></div><div class="refsect1"><a name="idm214190277136"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_close()</code>, <code class="function">sd_journal_close()</code>,
<code class="constant">SD_JOURNAL_LOCAL_ONLY</code>, <code class="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>, <code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code> and <code class="function">sd_journal_open_files()</code>
were added in systemd-205. were added in systemd-205.
<code class="constant">SD_JOURNAL_SYSTEM_ONLY</code> <code class="constant">SD_JOURNAL_SYSTEM_ONLY</code>
was deprecated.</p></div><div class="refsect1"><a name="idm274672909856"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> was deprecated.</p></div><div class="refsect1"><a name="idm214190270800"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>, <a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>,
<a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a> <a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>,
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>
</p></div></div></body></html> </p></div></div></body></html>

View File

@ -19,8 +19,8 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_get_fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_fd, sd_journal_get_events, sd_journal_get_timeout, sd_journal_process, sd_journal_wait, sd_journal_reliable_fd, SD_JOURNAL_NOP, SD_JOURNAL_APPEND, SD_JOURNAL_INVALIDATE — Journal change notification <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_get_fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_get_fd, sd_journal_get_events, sd_journal_get_timeout, sd_journal_process, sd_journal_wait, sd_journal_reliable_fd, SD_JOURNAL_NOP, SD_JOURNAL_APPEND, SD_JOURNAL_INVALIDATE — Journal change notification
interface</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_fd</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_events</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_timeout</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t* <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_process</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_wait</b>(</code></td><td>sd_journal* <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_reliable_fd</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274704023696"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns interface</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_fd</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_events</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_get_timeout</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t *<var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_process</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_wait</b>(</code></td><td>sd_journal *<var class="pdparam">j</var>, </td></tr><tr><td> </td><td>uint64_t <var class="pdparam">timeout_usec</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_reliable_fd</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214189551600"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns
a file descriptor that may be asynchronously polled in a file descriptor that may be asynchronously polled in
an external event loop and is signaled as soon as the an external event loop and is signaled as soon as the
journal changes, because new entries or files were journal changes, because new entries or files were
@ -112,7 +112,7 @@ else {
no need to invoke this function directly as no need to invoke this function directly as
<code class="function">sd_journal_get_timeout()</code> on these <code class="function">sd_journal_get_timeout()</code> on these
file systems will ask for timeouts explicitly file systems will ask for timeouts explicitly
anyway.</p></div><div class="refsect1"><a name="idm274703983584"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns anyway.</p></div><div class="refsect1"><a name="idm214189511696"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p><code class="function">sd_journal_get_fd()</code> returns
a valid file descriptor on success or a negative a valid file descriptor on success or a negative
errno-style error code.</p><p><code class="function">sd_journal_get_events()</code> errno-style error code.</p><p><code class="function">sd_journal_get_events()</code>
returns a combination of <code class="constant">POLLIN</code>, returns a combination of <code class="constant">POLLIN</code>,
@ -138,15 +138,15 @@ else {
probably refresh their entire display, while in the probably refresh their entire display, while in the
case of <code class="constant">SD_JOURNAL_APPEND</code>, it is case of <code class="constant">SD_JOURNAL_APPEND</code>, it is
sufficient to simply continue reading at the previous sufficient to simply continue reading at the previous
end of the journal.</p></div><div class="refsect1"><a name="idm274699013792"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_fd()</code>, end of the journal.</p></div><div class="refsect1"><a name="idm214184533264"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_get_fd()</code>,
<code class="function">sd_journal_get_events()</code>, <code class="function">sd_journal_get_events()</code>,
<code class="function">sd_journal_reliable_fd()</code>, <code class="function">sd_journal_reliable_fd()</code>,
<code class="function">sd_journal_process()</code> and <code class="function">sd_journal_process()</code> and
<code class="function">sd_journal_wait()</code> interfaces are <code class="function">sd_journal_wait()</code> interfaces are
available as shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274699008208"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal, in a live view tracking all changes:</p><pre class="programlisting">#include &lt;stdio.h&gt; file.</p></div><div class="refsect1"><a name="idm214184527680"></a><h2 id="Examples">Examples<a class="headerlink" title="Permalink to this headline" href="#Examples"></a></h2><p>Iterating through the journal, in a live view tracking all changes:</p><pre class="programlisting">#include &lt;stdio.h&gt;
#include &lt;string.h&gt; #include &lt;string.h&gt;
#include &lt;systemd/sd-journal.h&gt; #include &lt;systemd/sd-journal.h&gt;
@ -208,8 +208,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j); pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec); poll(&amp;pollfd, 1, msec);
return sd_journal_process(j); return sd_journal_process(j);
} }</pre></div><div class="refsect1"><a name="idm214184521056"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
</pre></div><div class="refsect1"><a name="idm274699001584"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>, <a href="sd_journal_open.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_open</span>(3)</span></a>,

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char** <var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274677924448"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_open_container, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char **<var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_container</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">machine</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214195234384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens
the log journal for reading. It will find all journal the log journal for reading. It will find all journal
files automatically and interleave them automatically files automatically and interleave them automatically
when reading. As first argument it takes a pointer to when reading. As first argument it takes a pointer to
@ -55,7 +55,12 @@
that in the case of a live journal, this function is only that in the case of a live journal, this function is only
useful for debugging, because individual journal files useful for debugging, because individual journal files
can be rotated at any moment, and the opening of can be rotated at any moment, and the opening of
specific files is inherently racy.</p><p><code class="varname">sd_journal</code> objects cannot be specific files is inherently racy.</p><p><code class="function">sd_journal_open_container()</code>
is similar to <code class="function">sd_journal_open()</code>
but opens the journal files of a running
OS container. The specified machine name refers to a
container that is registered with
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>.</p><p><code class="varname">sd_journal</code> objects cannot be
used in the child after a fork. Functions which take a used in the child after a fork. Functions which take a
journal object as an argument journal object as an argument
(<code class="function">sd_journal_next()</code> and others) (<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
locally, to its closest entry in time) locally, to its closest entry in time)
<a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via <a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via
<code class="function">sd_journal_get_fd()</code> and related <code class="function">sd_journal_get_fd()</code> and related
calls.</p></div><div class="refsect1"><a name="idm274677893168"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>, calls.</p></div><div class="refsect1"><a name="idm214195199952"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code>, and <code class="function">sd_journal_open_directory()</code>, and
<code class="function">sd_journal_open_files()</code> calls <code class="function">sd_journal_open_files()</code> calls
return 0 on success or a negative errno-style error return 0 on success or a negative errno-style error
code. <code class="function">sd_journal_close()</code> returns code. <code class="function">sd_journal_close()</code> returns
nothing.</p></div><div class="refsect1"><a name="idm274677888960"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>, nothing.</p></div><div class="refsect1"><a name="idm214195195744"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code> and <code class="function">sd_journal_open_directory()</code> and
<code class="function">sd_journal_close()</code> interfaces are <code class="function">sd_journal_close()</code> interfaces are
available as a shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274677884112"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>, file.</p></div><div class="refsect1"><a name="idm214190277136"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_close()</code>, <code class="function">sd_journal_close()</code>,
<code class="constant">SD_JOURNAL_LOCAL_ONLY</code>, <code class="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>, <code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code> and <code class="function">sd_journal_open_files()</code>
were added in systemd-205. were added in systemd-205.
<code class="constant">SD_JOURNAL_SYSTEM_ONLY</code> <code class="constant">SD_JOURNAL_SYSTEM_ONLY</code>
was deprecated.</p></div><div class="refsect1"><a name="idm274672909856"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> was deprecated.</p></div><div class="refsect1"><a name="idm214190270800"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>, <a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>,
<a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a> <a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>,
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>
</p></div></div></body></html> </p></div></div></body></html>

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_print"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_print, sd_journal_printv, sd_journal_send, sd_journal_sendv, sd_journal_perror, SD_JOURNAL_SUPPRESS_LOCATION — Submit log entries to the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_print</b>(</code></td><td>int <var class="pdparam">priority</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">format</var>, </td></tr><tr><td> </td><td>...<code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_printv</b>(</code></td><td>int <var class="pdparam">priority</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">format</var>, </td></tr><tr><td> </td><td>va_list <var class="pdparam">ap</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_send</b>(</code></td><td>const char* <var class="pdparam">format</var>, </td></tr><tr><td> </td><td>...<code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_sendv</b>(</code></td><td>const struct iovec *<var class="pdparam">iov</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">n</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_perror</b>(</code></td><td>const char* <var class="pdparam">message</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274685988832"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_print()</code> may be <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_print"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_print, sd_journal_printv, sd_journal_send, sd_journal_sendv, sd_journal_perror, SD_JOURNAL_SUPPRESS_LOCATION — Submit log entries to the journal</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_print</b>(</code></td><td>int <var class="pdparam">priority</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">format</var>, </td></tr><tr><td> </td><td>...<code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_printv</b>(</code></td><td>int <var class="pdparam">priority</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">format</var>, </td></tr><tr><td> </td><td>va_list <var class="pdparam">ap</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_send</b>(</code></td><td>const char *<var class="pdparam">format</var>, </td></tr><tr><td> </td><td>...<code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_sendv</b>(</code></td><td>const struct iovec *<var class="pdparam">iov</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">n</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_perror</b>(</code></td><td>const char *<var class="pdparam">message</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214171911712"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_print()</code> may be
used to submit simple, plain text log entries to the used to submit simple, plain text log entries to the
system journal. The first argument is a priority system journal. The first argument is a priority
value. This is followed by a format string and its value. This is followed by a format string and its
@ -73,8 +73,8 @@
for details) instead of the format string. Each for details) instead of the format string. Each
structure should reference one field of the entry to structure should reference one field of the entry to
submit. The second argument specifies the number of submit. The second argument specifies the number of
structures in the structures in the array.
array. <code class="function">sd_journal_sendv()</code> is <code class="function">sd_journal_sendv()</code> is
particularly useful to submit binary objects to the particularly useful to submit binary objects to the
journal where that is necessary.</p><p><code class="function">sd_journal_perror()</code> is a journal where that is necessary.</p><p><code class="function">sd_journal_perror()</code> is a
similar to similar to
@ -113,27 +113,38 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
be guaranteed. Using be guaranteed. Using
<code class="function">sd_journal_print()</code> has the <code class="function">sd_journal_print()</code> has the
benefit of logging source code line, filenames, and benefit of logging source code line, filenames, and
functions as meta data along all entries, and functions as metadata along all entries, and
guaranteeing chronological ordering with structured guaranteeing chronological ordering with structured
log entries that are generated via log entries that are generated via
<code class="function">sd_journal_send()</code>. Using <code class="function">sd_journal_send()</code>. Using
<code class="function">syslog()</code> has the benefit of being <code class="function">syslog()</code> has the benefit of being
more portable.</p></div><div class="refsect1"><a name="idm274685947600"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The four calls return 0 on success or a negative more portable.</p></div><div class="refsect1"><a name="idm214171870448"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The four calls return 0 on success or a negative
errno-style error code. The errno-style error code. The
<a href="errno.html"><span class="citerefentry"><span class="refentrytitle">errno</span>(3)</span></a> <a href="errno.html"><span class="citerefentry"><span class="refentrytitle">errno</span>(3)</span></a>
variable itself is not altered.</p></div><div class="refsect1"><a name="idm274685945488"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_print()</code>, variable itself is not altered.</p><p>If
<a href="systemd-journald.html"><span class="citerefentry"><span class="refentrytitle">systemd-journald</span>(8)</span></a>
is not running (the socket is not present), those
functions do nothing, and also return 0.</p></div><div class="refsect1"><a name="idm214166952576"></a><h2 id="Async signal safety">Async signal safety<a class="headerlink" title="Permalink to this headline" href="#Async%20signal%20safety"></a></h2><p><code class="function">sd_journal_sendv()</code> is "async signal
safe" in the meaning of <a href="signal.html"><span class="citerefentry"><span class="refentrytitle">signal</span>(7)</span></a>.
</p><p><code class="function">sd_journal_print</code>,
<code class="function">sd_journal_printv</code>,
<code class="function">sd_journal_send</code>, and
<code class="function">sd_journal_perror</code> are
not async signal safe.</p></div><div class="refsect1"><a name="idm214166947408"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_print()</code>,
<code class="function">sd_journal_printv()</code>, <code class="function">sd_journal_printv()</code>,
<code class="function">sd_journal_send()</code> and <code class="function">sd_journal_send()</code> and
<code class="function">sd_journal_sendv()</code> interfaces <code class="function">sd_journal_sendv()</code> interfaces
are available as shared library, which can be compiled are available as a shared library, which can be compiled
and linked to with the and linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274680973328"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> file.</p></div><div class="refsect1"><a name="idm214166942448"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_stream_fd.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_stream_fd</span>(3)</span></a>, <a href="sd_journal_stream_fd.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_stream_fd</span>(3)</span></a>,
<a href="syslog.html"><span class="citerefentry"><span class="refentrytitle">syslog</span>(3)</span></a>, <a href="syslog.html"><span class="citerefentry"><span class="refentrytitle">syslog</span>(3)</span></a>,
<a href="perror.html"><span class="citerefentry"><span class="refentrytitle">perror</span>(3)</span></a>, <a href="perror.html"><span class="citerefentry"><span class="refentrytitle">perror</span>(3)</span></a>,
<a href="errno.html"><span class="citerefentry"><span class="refentrytitle">errno</span>(3)</span></a>, <a href="errno.html"><span class="citerefentry"><span class="refentrytitle">errno</span>(3)</span></a>,
<a href="systemd.journal-fields.html"><span class="citerefentry"><span class="refentrytitle">systemd.journal-fields</span>(7)</span></a> <a href="systemd.journal-fields.html"><span class="citerefentry"><span class="refentrytitle">systemd.journal-fields</span>(7)</span></a>,
<a href="signal.html"><span class="citerefentry"><span class="refentrytitle">signal</span>(7)</span></a>,
<a href="socket.html"><span class="citerefentry"><span class="refentrytitle">socket</span>(7)</span></a>
</p></div></div></body></html> </p></div></div></body></html>

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char* <var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal** <var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char** <var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal* <var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274677924448"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_journal_open"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_journal_open, sd_journal_open_directory, sd_journal_open_files, sd_journal_open_container, sd_journal_close, sd_journal, SD_JOURNAL_LOCAL_ONLY, SD_JOURNAL_RUNTIME_ONLY, SD_JOURNAL_SYSTEM, SD_JOURNAL_CURRENT_USER — Open the system journal for reading</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-journal.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_directory</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">path</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_files</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char **<var class="pdparam">paths</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_journal_open_container</b>(</code></td><td>sd_journal **<var class="pdparam">ret</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">machine</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">flags</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">sd_journal_close</b>(</code></td><td>sd_journal *<var class="pdparam">j</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214195234384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_journal_open()</code> opens
the log journal for reading. It will find all journal the log journal for reading. It will find all journal
files automatically and interleave them automatically files automatically and interleave them automatically
when reading. As first argument it takes a pointer to when reading. As first argument it takes a pointer to
@ -55,7 +55,12 @@
that in the case of a live journal, this function is only that in the case of a live journal, this function is only
useful for debugging, because individual journal files useful for debugging, because individual journal files
can be rotated at any moment, and the opening of can be rotated at any moment, and the opening of
specific files is inherently racy.</p><p><code class="varname">sd_journal</code> objects cannot be specific files is inherently racy.</p><p><code class="function">sd_journal_open_container()</code>
is similar to <code class="function">sd_journal_open()</code>
but opens the journal files of a running
OS container. The specified machine name refers to a
container that is registered with
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>.</p><p><code class="varname">sd_journal</code> objects cannot be
used in the child after a fork. Functions which take a used in the child after a fork. Functions which take a
journal object as an argument journal object as an argument
(<code class="function">sd_journal_next()</code> and others) (<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
locally, to its closest entry in time) locally, to its closest entry in time)
<a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via <a href="sd_journal_seek_cursor.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_seek_cursor</span>(3)</span></a>.</p><p>Notification of journal changes is available via
<code class="function">sd_journal_get_fd()</code> and related <code class="function">sd_journal_get_fd()</code> and related
calls.</p></div><div class="refsect1"><a name="idm274677893168"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>, calls.</p></div><div class="refsect1"><a name="idm214195199952"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code>, and <code class="function">sd_journal_open_directory()</code>, and
<code class="function">sd_journal_open_files()</code> calls <code class="function">sd_journal_open_files()</code> calls
return 0 on success or a negative errno-style error return 0 on success or a negative errno-style error
code. <code class="function">sd_journal_close()</code> returns code. <code class="function">sd_journal_close()</code> returns
nothing.</p></div><div class="refsect1"><a name="idm274677888960"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>, nothing.</p></div><div class="refsect1"><a name="idm214195195744"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>The <code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_open_directory()</code> and <code class="function">sd_journal_open_directory()</code> and
<code class="function">sd_journal_close()</code> interfaces are <code class="function">sd_journal_close()</code> interfaces are
available as a shared library, which can be compiled and available as a shared library, which can be compiled and
linked to with the linked to with the
<code class="constant">libsystemd-journal</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a> <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p></div><div class="refsect1"><a name="idm274677884112"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>, file.</p></div><div class="refsect1"><a name="idm214190277136"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p><code class="function">sd_journal_open()</code>,
<code class="function">sd_journal_close()</code>, <code class="function">sd_journal_close()</code>,
<code class="constant">SD_JOURNAL_LOCAL_ONLY</code>, <code class="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>, <code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code> and <code class="function">sd_journal_open_files()</code>
were added in systemd-205. were added in systemd-205.
<code class="constant">SD_JOURNAL_SYSTEM_ONLY</code> <code class="constant">SD_JOURNAL_SYSTEM_ONLY</code>
was deprecated.</p></div><div class="refsect1"><a name="idm274672909856"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> was deprecated.</p></div><div class="refsect1"><a name="idm214190270800"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>, <a href="sd-journal.html"><span class="citerefentry"><span class="refentrytitle">sd-journal</span>(3)</span></a>,
<a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>, <a href="sd_journal_next.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_next</span>(3)</span></a>,
<a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a> <a href="sd_journal_get_data.html"><span class="citerefentry"><span class="refentrytitle">sd_journal_get_data</span>(3)</span></a>,
<a href="systemd-machined.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined</span>(8)</span></a>
</p></div></div></body></html> </p></div></div></body></html>

View File

@ -19,14 +19,14 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd_listen_fds"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_listen_fds, SD_LISTEN_FDS_START — Check for file descriptors passed by the system manager</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre><pre class="funcsynopsisinfo">#define SD_LISTEN_FDS_START 3</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_listen_fds</b>(</code></td><td>int <var class="pdparam">unset_environment</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm274679238848"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_listen_fds()</code> shall be <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd_listen_fds"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd_listen_fds, SD_LISTEN_FDS_START — Check for file descriptors passed by the system manager</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre><pre class="funcsynopsisinfo">#define SD_LISTEN_FDS_START 3</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">sd_listen_fds</b>(</code></td><td>int <var class="pdparam">unset_environment</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm214192684512"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="function">sd_listen_fds()</code> shall be
called by a daemon to check for file descriptors called by a daemon to check for file descriptors
passed by the init system as part of the socket-based passed by the init system as part of the socket-based
activation logic.</p><p>If the <em class="parameter"><code>unset_environment</code></em> activation logic.</p><p>If the <em class="parameter"><code>unset_environment</code></em>
parameter is non-zero, parameter is non-zero,
<code class="function">sd_listen_fds()</code> will unset the <code class="function">sd_listen_fds()</code> will unset the
<code class="varname">$LISTEN_FDS</code>/<code class="varname">$LISTEN_PID</code> <code class="varname">$LISTEN_FDS</code>/<code class="varname">$LISTEN_PID</code>
environment variables before returning (regardless environment variables before returning (regardless of
whether the function call itself succeeded or whether the function call itself succeeded or
not). Further calls to not). Further calls to
<code class="function">sd_listen_fds()</code> will then fail, <code class="function">sd_listen_fds()</code> will then fail,
@ -50,7 +50,7 @@
datagram or stream socket matters a lot for the most datagram or stream socket matters a lot for the most
common program logics and should be checked.</p><p>This function call will set the FD_CLOEXEC flag common program logics and should be checked.</p><p>This function call will set the FD_CLOEXEC flag
for all passed file descriptors to avoid further for all passed file descriptors to avoid further
inheritance to children of the calling process.</p></div><div class="refsect1"><a name="idm274679228016"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>On failure, this call returns a negative inheritance to children of the calling process.</p></div><div class="refsect1"><a name="idm214192892160"></a><h2 id="Return Value">Return Value<a class="headerlink" title="Permalink to this headline" href="#Return%20Value"></a></h2><p>On failure, this call returns a negative
errno-style error code. If errno-style error code. If
<code class="varname">$LISTEN_FDS</code>/<code class="varname">$LISTEN_PID</code> <code class="varname">$LISTEN_FDS</code>/<code class="varname">$LISTEN_PID</code>
was not set or was not correctly set for this daemon and was not set or was not correctly set for this daemon and
@ -58,13 +58,10 @@
returned. Otherwise, the number of file descriptors returned. Otherwise, the number of file descriptors
passed is returned. The application may find them passed is returned. The application may find them
starting with file descriptor SD_LISTEN_FDS_START, starting with file descriptor SD_LISTEN_FDS_START,
i.e. file descriptor 3.</p></div><div class="refsect1"><a name="idm274683123968"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>This function is provided by the reference i.e. file descriptor 3.</p></div><div class="refsect1"><a name="idm214194136768"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithm it <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
implements is simple, and can easily be reimplemented file.</p><p>Internally, this function checks whether the
in daemons if it is important to support this
interface without using the reference
implementation.</p><p>Internally, this function checks whether the
<code class="varname">$LISTEN_PID</code> environment variable <code class="varname">$LISTEN_PID</code> environment variable
equals the daemon PID. If not, it returns equals the daemon PID. If not, it returns
immediately. Otherwise, it parses the number passed in immediately. Otherwise, it parses the number passed in
@ -72,31 +69,14 @@
variable, then sets the FD_CLOEXEC flag for the parsed variable, then sets the FD_CLOEXEC flag for the parsed
number of file descriptors starting from number of file descriptors starting from
SD_LISTEN_FDS_START. Finally, it returns the parsed SD_LISTEN_FDS_START. Finally, it returns the parsed
number.</p><p>For details about the algorithm check the number.</p></div><div class="refsect1"><a name="idm214192287840"></a><h2 id="Environment">Environment<a class="headerlink" title="Permalink to this headline" href="#Environment"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="$LISTEN_PID"><span class="term"><code class="varname">$LISTEN_PID</code>, </span><span class="term"><code class="varname">$LISTEN_FDS</code></span><a class="headerlink" title="Permalink to this term" href="#%24LISTEN_PID"></a></dt><dd><p>Set by the init system
liberally licensed reference implementation sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p><code class="function">sd_listen_fds()</code> is
implemented in the reference implementation's
<code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source
tree. For more details about the reference
implementation see
<a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>.</p><p>If the reference implementation is used as
drop-in files and -DDISABLE_SYSTEMD is set during
compilation, this function will always return 0 and
otherwise become a NOP.</p></div><div class="refsect1"><a name="idm274683113840"></a><h2 id="Environment">Environment<a class="headerlink" title="Permalink to this headline" href="#Environment"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="$LISTEN_PID"><span class="term"><code class="varname">$LISTEN_PID</code>, </span><span class="term"><code class="varname">$LISTEN_FDS</code></span><a class="headerlink" title="Permalink to this term" href="#%24LISTEN_PID"></a></dt><dd><p>Set by the init system
for supervised processes that use for supervised processes that use
socket-based activation. This socket-based activation. This
environment variable specifies the environment variable specifies the
data data
<code class="function">sd_listen_fds()</code> <code class="function">sd_listen_fds()</code>
parses. See above for parses. See above for
details.</p></dd></dl></div></div><div class="refsect1"><a name="idm274683109248"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> details.</p></dd></dl></div></div><div class="refsect1"><a name="idm214193629840"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>, <a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -19,19 +19,18 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — Reference implementation of APIs for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="sd-daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING, SD_NOTICE, SD_INFO, SD_DEBUG — APIs for
new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd-daemon</code> </p></div></div><div class="refsect1"><a name="idm274682004384"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.c</code> and new-style daemons</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;systemd/sd-daemon.h&gt;</pre></div><div class="cmdsynopsis"><p><code class="command">pkg-config --cflags --libs libsystemd</code> </p></div></div><div class="refsect1"><a name="idm214188016064"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><code class="filename">sd-daemon.h</code> provide APIs
<code class="filename">sd-daemon.h</code> provide a reference for new-style daemons, as implemented by the
implementation of various APIs for new-style daemons,
as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a> <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
init system.</p><p>See init system.</p><p>See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a> <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>
for more information about the functions for more information about the functions
implemented. In addition to these functions a couple implemented. In addition to these functions, a couple
of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */ of logging prefixes are defined as macros:</p><pre class="programlisting">#define SD_EMERG "&lt;0&gt;" /* system is unusable */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */ #define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */ #define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */ #define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#define SD_INFO "&lt;6&gt;" /* informational */ #define SD_INFO "&lt;6&gt;" /* informational */
#define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in #define SD_DEBUG "&lt;7&gt;" /* debug-level messages */</pre><p>These prefixes are intended to be used in
conjunction with STDERR-based logging as implemented conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code> configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is every line with one of these strings. A line that is
not prefixed will be logged at the default log level not prefixed will be logged at the default log level
SD_INFO.</p><div class="example"><a name="idm274685891936"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level SD_INFO.</p><div class="example"><a name="idm214184167584"></a><p class="title"><b>Example 1. Hello World</b></p><div class="example-contents"><p>A daemon may log with the log level
NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274685889856"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These interfaces are provided by the reference NOTICE by issuing this call:</p><pre class="programlisting">fprintf(stderr, SD_NOTICE "Hello World!\n");</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214180497360"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p><a name="pkgconfig-text"></a>These APIs are implemented as a shared
implementation of APIs for new-style daemons and library, which can be compiled and linked to with the
distributed with the systemd package. The algorithms <code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
they implement are simple, and can easily be file.</p></div><div class="refsect1"><a name="idm214184164912"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
reimplemented in daemons if it is important to support
this interface without using the reference
implementation. See the respective function man pages
for details.</p><p>In addition, for details about the algorithms
check the liberally licensed reference implementation
sources:
<a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c</a>
and <a class="ulink" href="http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h" target="_top">http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h</a></p><p>These APIs are implemented in the reference
implementation's <code class="filename">sd-daemon.c</code> and
<code class="filename">sd-daemon.h</code> files. These
interfaces are available as shared library, which can
be compiled and linked to with the
<code class="constant">libsystemd-daemon</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file. Alternatively, applications consuming these APIs
may copy the implementation into their source tree,
either verbatim or in excerpts.</p><p>The functions directly related to new-style
daemons become NOPs when -DDISABLE_SYSTEMD is set
during compilation and the reference implementation is
used as drop-in files. In addition, if
<code class="filename">sd-daemon.c</code> is compiled on
non-Linux systems they become NOPs.</p></div><div class="refsect1"><a name="idm274685881984"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>, <a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>,
<a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>, <a href="sd_booted.html"><span class="citerefentry"><span class="refentrytitle">sd_booted</span>(3)</span></a>,
<a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>, <a href="sd_is_fifo.html"><span class="citerefentry"><span class="refentrytitle">sd_is_fifo</span>(3)</span></a>,
<a href="sd_watchdog_enabled.html"><span class="citerefentry"><span class="refentrytitle">sd_watchdog_enabled</span>(3)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>, <a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>, <a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>,
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>, <a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "BINFMT\&.D" "5" "" "systemd 208" "binfmt.d" .TH "BINFMT\&.D" "5" "" "systemd 214" "binfmt.d"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -53,7 +53,7 @@ override files with the same name in
/usr/lib/\&. Packages should install their configuration files in /usr/lib/\&. Packages should install their configuration files in
/usr/lib/, files in /usr/lib/, files in
/etc/ /etc/
are reserved for the local administrator, who may use this logic to override the configuration files installed from vendor packages\&. All files are sorted by their filename in lexicographic order, regardless in which of the directories they reside\&. If multiple files specify the same binary type name, the entry in the file with the lexicographically latest name will be applied\&. are reserved for the local administrator, who may use this logic to override the configuration files installed from vendor packages\&. All files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in\&. If multiple files specify the same binary type name, the entry in the file with the lexicographically latest name will be applied\&.
.PP .PP
If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to
/dev/null /dev/null

View File

@ -19,12 +19,12 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="binfmt.d"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>binfmt.d — Configure additional binary formats for <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="binfmt.d"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>binfmt.d — Configure additional binary formats for
executables at boot</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/binfmt.d/*.conf</code></p><p><code class="filename">/run/binfmt.d/*.conf</code></p><p><code class="filename">/usr/lib/binfmt.d/*.conf</code></p></div><div class="refsect1"><a name="idm274694856288"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>At boot, executables at boot</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/binfmt.d/*.conf</code></p><p><code class="filename">/run/binfmt.d/*.conf</code></p><p><code class="filename">/usr/lib/binfmt.d/*.conf</code></p></div><div class="refsect1"><a name="idm214180113856"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>At boot,
<a href="systemd-binfmt.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-binfmt.service</span>(8)</span></a> <a href="systemd-binfmt.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-binfmt.service</span>(8)</span></a>
reads configuration files from the above directories reads configuration files from the above directories
to register in the kernel additional binary to register in the kernel additional binary
formats for executables.</p></div><div class="refsect1"><a name="idm274693435872"></a><h2 id="Configuration Format">Configuration Format<a class="headerlink" title="Permalink to this headline" href="#Configuration%20Format"></a></h2><p>Each file contains a list of binfmt_misc kernel formats for executables.</p></div><div class="refsect1"><a name="idm214180139264"></a><h2 id="Configuration Format">Configuration Format<a class="headerlink" title="Permalink to this headline" href="#Configuration%20Format"></a></h2><p>Each file contains a list of binfmt_misc kernel
binary format rules. Consult <a class="ulink" href="https://www.kernel.org/doc/Documentation/binfmt_misc.txt" target="_top">binfmt_misc.txt</a> binary format rules. Consult <a class="ulink" href="https://www.kernel.org/doc/Documentation/binfmt_misc.txt" target="_top">binfmt_misc.txt</a>
for more information on registration of additional for more information on registration of additional
binary formats and how to write rules.</p><p>Empty lines and lines beginning with ; and # are binary formats and how to write rules.</p><p>Empty lines and lines beginning with ; and # are
@ -42,16 +42,16 @@
administrator, who may use this logic to override the administrator, who may use this logic to override the
configuration files installed from vendor configuration files installed from vendor
packages. All files are sorted by their filename in packages. All files are sorted by their filename in
lexicographic order, regardless in which of the lexicographic order, regardless of which of the
directories they reside. If multiple files specify directories they reside in. If multiple files specify
the same binary type name, the entry in the file with the same binary type name, the entry in the file with
the lexicographically latest name will be applied.</p><p>If the administrator wants to disable a the lexicographically latest name will be applied.</p><p>If the administrator wants to disable a
configuration file supplied by the vendor, the configuration file supplied by the vendor, the
recommended way is to place a symlink to recommended way is to place a symlink to
<code class="filename">/dev/null</code> in <code class="filename">/dev/null</code> in
<code class="filename">/etc/binfmt.d/</code> bearing the <code class="filename">/etc/binfmt.d/</code> bearing the
same filename.</p></div><div class="refsect1"><a name="idm274693042576"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example"></a></h2><div class="example"><a name="idm274694573168"></a><p class="title"><b>Example 1. /etc/binfmt.d/wine.conf example:</b></p><div class="example-contents"><pre class="programlisting"># Start WINE on Windows executables same filename.</p></div><div class="refsect1"><a name="idm214176291712"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example"></a></h2><div class="example"><a name="idm214176291040"></a><p class="title"><b>Example 1. /etc/binfmt.d/wine.conf example:</b></p><div class="example-contents"><pre class="programlisting"># Start WINE on Windows executables
:DOSWin:M::MZ::/usr/bin/wine:</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274694448960"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> :DOSWin:M::MZ::/usr/bin/wine:</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214176289440"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="systemd-binfmt.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-binfmt.service</span>(8)</span></a>, <a href="systemd-binfmt.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-binfmt.service</span>(8)</span></a>,
<a href="systemd-delta.html"><span class="citerefentry"><span class="refentrytitle">systemd-delta</span>(1)</span></a>, <a href="systemd-delta.html"><span class="citerefentry"><span class="refentrytitle">systemd-delta</span>(1)</span></a>,

View File

@ -88,8 +88,8 @@
administrator, who may use this logic to override the administrator, who may use this logic to override the
configuration files installed from vendor configuration files installed from vendor
packages. All files are sorted by their filename in packages. All files are sorted by their filename in
lexicographic order, regardless in which of the lexicographic order, regardless of which of the
directories they reside. If multiple files specify directories they reside in. If multiple files specify
the same binary type name, the entry in the file with the same binary type name, the entry in the file with
the lexicographically latest name will be applied.</para> the lexicographically latest name will be applied.</para>

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "BOOTCHART\&.CONF" "5" "" "systemd 208" "bootchart.conf" .TH "BOOTCHART\&.CONF" "5" "" "systemd 214" "bootchart.conf"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -82,6 +82,11 @@ Horizontal scaling factor for all variable graph components\&.
.RS 4 .RS 4
Vertical scaling factor for all variable graph components\&. Vertical scaling factor for all variable graph components\&.
.RE .RE
.PP
\fIControlGroup=no\fR
.RS 4
Display process control group\&.
.RE
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBsystemd-bootchart\fR(1), \fBsystemd-bootchart\fR(1),

View File

@ -19,10 +19,10 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="bootchart.conf"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>bootchart.conf — Boot performance analysis graphing tool configuration file</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/systemd/bootchart.conf</code></p></div><div class="refsect1"><a name="idm274677131392"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>When starting, systemd-bootchart will read the <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="bootchart.conf"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>bootchart.conf — Boot performance analysis graphing tool configuration file</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/systemd/bootchart.conf</code></p></div><div class="refsect1"><a name="idm214187346016"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>When starting, systemd-bootchart will read the
configuration file <code class="filename">bootchart.conf</code>. configuration file <code class="filename">bootchart.conf</code>.
This configuration file determines logging parameters and This configuration file determines logging parameters and
graph output.</p></div><div class="refsect1"><a name="idm274677129392"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="Samples=500"><span class="term"><code class="varname">Samples=500</code></span><a class="headerlink" title="Permalink to this term" href="#Samples=500"></a></dt><dd><p>Configure the amount of samples to graph output.</p></div><div class="refsect1"><a name="idm214191942832"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="Samples=500"><span class="term"><code class="varname">Samples=500</code></span><a class="headerlink" title="Permalink to this term" href="#Samples=500"></a></dt><dd><p>Configure the amount of samples to
record in total before bootchart exits. Each sample will record in total before bootchart exits. Each sample will
record at intervals defined by Frequency=.</p></dd><dt id="Frequency=25"><span class="term"><code class="varname">Frequency=25</code></span><a class="headerlink" title="Permalink to this term" href="#Frequency=25"></a></dt><dd><p>Configure the sample log frequency. record at intervals defined by Frequency=.</p></dd><dt id="Frequency=25"><span class="term"><code class="varname">Frequency=25</code></span><a class="headerlink" title="Permalink to this term" href="#Frequency=25"></a></dt><dd><p>Configure the sample log frequency.
This can be a fractional number, but must be larger than This can be a fractional number, but must be larger than
@ -48,7 +48,7 @@
of processes' PSS memory consumption.</p></dd><dt id="PlotEntropyGraph=no"><span class="term"><code class="varname">PlotEntropyGraph=no</code></span><a class="headerlink" title="Permalink to this term" href="#PlotEntropyGraph=no"></a></dt><dd><p>If set to yes, enables logging and graphing of processes' PSS memory consumption.</p></dd><dt id="PlotEntropyGraph=no"><span class="term"><code class="varname">PlotEntropyGraph=no</code></span><a class="headerlink" title="Permalink to this term" href="#PlotEntropyGraph=no"></a></dt><dd><p>If set to yes, enables logging and graphing
of the kernel random entropy pool size.</p></dd><dt id="ScaleX=100"><span class="term"><code class="varname">ScaleX=100</code></span><a class="headerlink" title="Permalink to this term" href="#ScaleX=100"></a></dt><dd><p>Horizontal scaling factor for all variable of the kernel random entropy pool size.</p></dd><dt id="ScaleX=100"><span class="term"><code class="varname">ScaleX=100</code></span><a class="headerlink" title="Permalink to this term" href="#ScaleX=100"></a></dt><dd><p>Horizontal scaling factor for all variable
graph components.</p></dd><dt id="ScaleY=20"><span class="term"><code class="varname">ScaleY=20</code></span><a class="headerlink" title="Permalink to this term" href="#ScaleY=20"></a></dt><dd><p>Vertical scaling factor for all variable graph components.</p></dd><dt id="ScaleY=20"><span class="term"><code class="varname">ScaleY=20</code></span><a class="headerlink" title="Permalink to this term" href="#ScaleY=20"></a></dt><dd><p>Vertical scaling factor for all variable
graph components.</p></dd></dl></div></div><div class="refsect1"><a name="idm274677185504"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> graph components.</p></dd><dt id="ControlGroup=no"><span class="term"><code class="varname">ControlGroup=no</code></span><a class="headerlink" title="Permalink to this term" href="#ControlGroup=no"></a></dt><dd><p>Display process control group.</p></dd></dl></div></div><div class="refsect1"><a name="idm214192067360"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd-bootchart.html"><span class="citerefentry"><span class="refentrytitle">systemd-bootchart</span>(1)</span></a>, <a href="systemd-bootchart.html"><span class="citerefentry"><span class="refentrytitle">systemd-bootchart</span>(1)</span></a>,
<a href="systemd.directives.html"><span class="citerefentry"><span class="refentrytitle">systemd.directives</span>(7)</span></a> <a href="systemd.directives.html"><span class="citerefentry"><span class="refentrytitle">systemd.directives</span>(7)</span></a>
</p></div></div></body></html> </p></div></div></body></html>

View File

@ -145,6 +145,11 @@
graph components.</para></listitem> graph components.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><varname>ControlGroup=no</varname></term>
<listitem><para>Display process control group.</para></listitem>
</varlistentry>
</variablelist> </variablelist>
</refsect1> </refsect1>

80
man/bootctl.1 Normal file
View File

@ -0,0 +1,80 @@
'\" t
.TH "BOOTCTL" "1" "" "systemd 214" "bootctl"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
bootctl \- Control the firmware and boot manager settings
.SH "SYNOPSIS"
.HP \w'\fBbootctl\fR\ 'u
\fBbootctl\fR [OPTIONS...] {COMMAND}
.SH "DESCRIPTION"
.PP
\fBbootctl\fR
may be used to query or (in the future) change the firmware and boot manager settings\&.
.PP
Firmware information is available only on EFI systems\&.
.PP
Currently, only the
\fBgummiboot\fR(8)
boot manager implements the required boot loader interface to provide complete boot manager information\&.
.SH "OPTIONS"
.PP
The following options are understood:
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Print a short help text and exit\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Print a short version string and exit\&.
.RE
.PP
The following commands are understood:
.PP
\fBstatus\fR
.RS 4
Show firmware and boot manager information about the system, including secure boot mode status and selected firmware entry (where available)\&.
.RE
.SH "EXIT STATUS"
.PP
On success, 0 is returned, a non\-zero failure code otherwise\&.
.SH "SEE ALSO"
.PP
\m[blue]\fBBoot loader interface\fR\m[]\&\s-2\u[1]\d\s+2,
\m[blue]\fBBoot loader specification\fR\m[]\&\s-2\u[2]\d\s+2,
\m[blue]\fBgummiboot\fR\m[]\&\s-2\u[3]\d\s+2
.SH "NOTES"
.IP " 1." 4
Boot loader interface
.RS 4
\%http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
.RE
.IP " 2." 4
Boot loader specification
.RS 4
\%http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
.RE
.IP " 3." 4
gummiboot
.RS 4
\%http://www.freedesktop.org/wiki/Software/gummiboot/
.RE

37
man/bootctl.html Normal file
View File

@ -0,0 +1,37 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>bootctl</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
a.headerlink {
color: #c60f0f;
font-size: 0.8em;
padding: 0 4px 0 4px;
text-decoration: none;
visibility: hidden;
}
a.headerlink:hover {
background-color: #c60f0f;
color: white;
}
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
visibility: visible;
}
</style><a href="index.html">Index </a>·
<a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="bootctl"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>bootctl — Control the firmware and boot manager settings</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">bootctl</code> [OPTIONS...] {COMMAND}</p></div></div><div class="refsect1"><a name="idm214192376192"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><span class="command"><strong>bootctl</strong></span> may be used to
query or (in the future) change the firmware and boot
manager settings.</p><p>Firmware information is available only on EFI
systems.</p><p>Currently, only the <a href="gummiboot.html"><span class="citerefentry"><span class="refentrytitle">gummiboot</span>(8)</span></a> boot
manager implements the required boot loader interface
to provide complete boot manager information.</p></div><div class="refsect1"><a name="idm214188563984"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><p>The following options are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="-h"><span class="term"><code class="option">-h</code>, </span><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#-h"></a></dt><dd><p><a name="help-text"></a>Print a short help text and exit.
</p></dd><dt id="--version"><span class="term"><code class="option">--version</code></span><a class="headerlink" title="Permalink to this term" href="#--version"></a></dt><dd><p><a name="version-text"></a>Print a short version string and exit.</p></dd></dl></div><p>The following commands are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="status"><span class="term"><span class="command"><strong>status</strong></span></span><a class="headerlink" title="Permalink to this term" href="#status"></a></dt><dd><p>Show firmware and boot
manager information about the system,
including secure boot mode status and
selected firmware entry (where
available).</p></dd></dl></div></div><div class="refsect1"><a name="idm214188557920"></a><h2 id="Exit status">Exit status<a class="headerlink" title="Permalink to this headline" href="#Exit%20status"></a></h2><p>On success, 0 is returned, a non-zero failure
code otherwise.</p></div><div class="refsect1"><a name="idm214188556736"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface" target="_top">Boot loader interface</a>,
<a class="ulink" href="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec" target="_top">Boot loader specification</a>,
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/gummiboot/" target="_top">gummiboot</a>
</p></div></div></body></html>

114
man/bootctl.xml Normal file
View File

@ -0,0 +1,114 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!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.
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="bootctl" conditional='ENABLE_EFI'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>bootctl</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
<firstname>Kay</firstname>
<surname>Sievers</surname>
<email>kay@vrfy.org</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>bootctl</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>bootctl</refname>
<refpurpose>Control the firmware and boot manager settings</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>bootctl</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="req">COMMAND</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>bootctl</command> may be used to
query or (in the future) change the firmware and boot
manager settings.</para>
<para>Firmware information is available only on EFI
systems.</para>
<para>Currently, only the <citerefentry><refentrytitle>gummiboot</refentrytitle><manvolnum>8</manvolnum></citerefentry> boot
manager implements the required boot loader interface
to provide complete boot manager information.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<xi:include href="standard-options.xml" xpointer="help" />
<xi:include href="standard-options.xml" xpointer="version" />
</variablelist>
<para>The following commands are understood:</para>
<variablelist>
<varlistentry>
<term><command>status</command></term>
<listitem><para>Show firmware and boot
manager information about the system,
including secure boot mode status and
selected firmware entry (where
available).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure
code otherwise.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<ulink url="http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface">Boot loader interface</ulink>,
<ulink url="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>,
<ulink url="http://www.freedesktop.org/wiki/Software/gummiboot/">gummiboot</ulink>
</para>
</refsect1>
</refentry>

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "BOOTUP" "7" "" "systemd 208" "bootup" .TH "BOOTUP" "7" "" "systemd 214" "bootup"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="bootup"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>bootup — System bootup process</p></div><div class="refsect1"><a name="idm274700304944"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>A number of different components are involved in <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="bootup"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>bootup — System bootup process</p></div><div class="refsect1"><a name="idm214173222816"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>A number of different components are involved in
the system boot. Immediately after power-up, the the system boot. Immediately after power-up, the
system BIOS will do minimal hardware initialization, system BIOS will do minimal hardware initialization,
and hand control over to a boot loader stored on a and hand control over to a boot loader stored on a
@ -45,7 +45,7 @@
unmounts/detaches the root file system and the storage unmounts/detaches the root file system and the storage
it resides on. As a last step, the system is powered down.</p><p>Additional information about the system boot it resides on. As a last step, the system is powered down.</p><p>Additional information about the system boot
process may be found in process may be found in
<a href="boot.html"><span class="citerefentry"><span class="refentrytitle">boot</span>(7)</span></a>.</p></div><div class="refsect1"><a name="idm274696516160"></a><h2 id="System Manager Bootup">System Manager Bootup<a class="headerlink" title="Permalink to this headline" href="#System%20Manager%20Bootup"></a></h2><p>At boot, the system manager on the OS image is <a href="boot.html"><span class="citerefentry"><span class="refentrytitle">boot</span>(7)</span></a>.</p></div><div class="refsect1"><a name="idm214169432720"></a><h2 id="System Manager Bootup">System Manager Bootup<a class="headerlink" title="Permalink to this headline" href="#System%20Manager%20Bootup"></a></h2><p>At boot, the system manager on the OS image is
responsible for initializing the required file responsible for initializing the required file
systems, services and drivers that are necessary for systems, services and drivers that are necessary for
operation of the system. On operation of the system. On
@ -124,7 +124,7 @@
option (see option (see
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>) <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>)
or by symlinking <code class="filename">default.target</code> or by symlinking <code class="filename">default.target</code>
to them.</p></div><div class="refsect1"><a name="idm274700399104"></a><h2 id="Bootup in the Initial RAM Disk (initrd)">Bootup in the Initial RAM Disk (initrd)<a class="headerlink" title="Permalink to this headline" href="#Bootup%20in%20the%20Initial%20RAM%20Disk%20(initrd)"></a></h2><p>The initial RAM disk implementation (initrd) can to them.</p></div><div class="refsect1"><a name="idm214173316512"></a><h2 id="Bootup in the Initial RAM Disk (initrd)">Bootup in the Initial RAM Disk (initrd)<a class="headerlink" title="Permalink to this headline" href="#Bootup%20in%20the%20Initial%20RAM%20Disk%20(initrd)"></a></h2><p>The initial RAM disk implementation (initrd) can
be set up using systemd as well. In this case, boot up be set up using systemd as well. In this case, boot up
inside the initrd follows the following inside the initrd follows the following
structure.</p><p>The default target in the initrd is structure.</p><p>The default target in the initrd is
@ -202,7 +202,7 @@
initrd-switch-root.service initrd-switch-root.service
| |
v v
Transition to Host OS</pre></div><div class="refsect1"><a name="idm274700374144"></a><h2 id="System Manager Shutdown">System Manager Shutdown<a class="headerlink" title="Permalink to this headline" href="#System%20Manager%20Shutdown"></a></h2><p>System shutdown with systemd also consists of Transition to Host OS</pre></div><div class="refsect1"><a name="idm214173291536"></a><h2 id="System Manager Shutdown">System Manager Shutdown<a class="headerlink" title="Permalink to this headline" href="#System%20Manager%20Shutdown"></a></h2><p>System shutdown with systemd also consists of
various target units with some minimal ordering various target units with some minimal ordering
structure applied:</p><pre class="programlisting"> (conflicts with (conflicts with structure applied:</p><pre class="programlisting"> (conflicts with (conflicts with
all system all file system all system all file system
@ -229,7 +229,7 @@
systemd-reboot.service systemd-poweroff.service systemd-halt.service systemd-kexec.service systemd-reboot.service systemd-poweroff.service systemd-halt.service systemd-kexec.service
| | | | | | | |
v v v v v v v v
<span class="emphasis"><em>reboot.target</em></span> <span class="emphasis"><em>poweroff.target</em></span> <span class="emphasis"><em>halt.target</em></span> <span class="emphasis"><em>kexec.target</em></span></pre><p>Commonly used system shutdown targets are <span class="emphasis"><em>emphasized</em></span>.</p></div><div class="refsect1"><a name="idm274700366304"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> <span class="emphasis"><em>reboot.target</em></span> <span class="emphasis"><em>poweroff.target</em></span> <span class="emphasis"><em>halt.target</em></span> <span class="emphasis"><em>kexec.target</em></span></pre><p>Commonly used system shutdown targets are <span class="emphasis"><em>emphasized</em></span>.</p></div><div class="refsect1"><a name="idm214173283648"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="boot.html"><span class="citerefentry"><span class="refentrytitle">boot</span>(7)</span></a>, <a href="boot.html"><span class="citerefentry"><span class="refentrytitle">boot</span>(7)</span></a>,
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>, <a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>,

160
man/busctl.1 Normal file
View File

@ -0,0 +1,160 @@
'\" t
.TH "BUSCTL" "1" "" "systemd 214" "busctl"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
busctl \- Introspect the bus
.SH "SYNOPSIS"
.HP \w'\fBbusctl\fR\ 'u
\fBbusctl\fR [OPTIONS...] [COMMAND] [\fINAME\fR...]
.SH "DESCRIPTION"
.PP
\fBbusctl\fR
may be used to introspect and monitor the D\-Bus bus\&.
.SH "OPTIONS"
.PP
The following options are understood:
.PP
\fB\-\-address=\fR\fB\fIADDRESS\fR\fR
.RS 4
Connect to the bus specified by
\fIADDRESS\fR
instead of using suitable defaults for either the system or user bus (see
\fB\-\-system\fR
and
\fB\-\-user\fR
options)\&.
.RE
.PP
\fB\-\-show\-machine\fR
.RS 4
When showing the list of endpoints, show a column containing the names of containers they belong to\&. See
\fBsystemd-machined.service\fR(8)\&.
.RE
.PP
\fB\-\-unique\fR
.RS 4
When showing the list of endpoints, show only "unique" names (of the form
":\fInumber\fR\&.\fInumber\fR")\&.
.RE
.PP
\fB\-\-acquired\fR
.RS 4
The opposite of
\fB\-\-unique\fR
\(em only "well\-known" names will be shown\&.
.RE
.PP
\fB\-\-activatable\fR
.RS 4
When showing the list of endpoints, show only endpoints which have actually not been activated yet, but may be started automatically if accessed\&.
.RE
.PP
\fB\-\-match=\fR\fB\fIMATCH\fR\fR
.RS 4
When showing messages being exchanged, show only the subset matching
\fIMATCH\fR\&.
.RE
.PP
\fB\-\-no\-legend\fR
.RS 4
Do not print the legend, i\&.e\&. the column headers and the footer\&.
.RE
.PP
\fB\-\-user\fR
.RS 4
Talk to the service manager of the calling user, rather than the service manager of the system\&.
.RE
.PP
\fB\-\-system\fR
.RS 4
Talk to the service manager of the system\&. This is the implied default\&.
.RE
.PP
\fB\-H\fR, \fB\-\-host=\fR
.RS 4
Execute the operation remotely\&. Specify a hostname, or username and hostname separated by
"@", to connect to\&. This will use SSH to talk to the remote machine manager instance\&.
.RE
.PP
\fB\-M\fR, \fB\-\-machine=\fR
.RS 4
Execute operation on a local container\&. Specify a container name to connect to\&.
.RE
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Print a short help text and exit\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Print a short version string and exit\&.
.RE
.PP
\fB\-\-no\-pager\fR
.RS 4
Do not pipe output into a pager\&.
.RE
.SH "COMMANDS"
.PP
The following commands are understood:
.PP
\fBlist\fR
.RS 4
Show endpoints attached to the bus\&. This is the default if no command is specified\&.
.RE
.PP
\fBmonitor\fR [\fINAME\fR...]
.RS 4
Dump messages being exchanged\&. If
\fINAME\fR
is specified, show messages to or from this endpoint\&. Otherwise, show all messages on the bus\&.
.RE
.PP
\fBstatus\fR \fINAME\fR
.RS 4
Show process information and credentials of a bus endpoint\&.
.RE
.PP
\fBhelp\fR
.RS 4
Show command syntax help\&.
.RE
.SH "SEE ALSO"
.PP
\fBdbus-daemon\fR(1),
\m[blue]\fBD\-Bus\fR\m[]\&\s-2\u[1]\d\s+2,
\m[blue]\fBkdbus\fR\m[]\&\s-2\u[2]\d\s+2,
\fBsd-bus\fR(3),
\fBsystemd\fR(1),
\fBsystemd-bus-proxyd\fR(8),
\fBmachinectl\fR(1)
.SH "NOTES"
.IP " 1." 4
D-Bus
.RS 4
\%http://freedesktop.org/wiki/Software/dbus
.RE
.IP " 2." 4
kdbus
.RS 4
\%https://code.google.com/p/d-bus/
.RE

60
man/busctl.html Normal file
View File

@ -0,0 +1,60 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>busctl</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
a.headerlink {
color: #c60f0f;
font-size: 0.8em;
padding: 0 4px 0 4px;
text-decoration: none;
visibility: hidden;
}
a.headerlink:hover {
background-color: #c60f0f;
color: white;
}
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
visibility: visible;
}
</style><a href="index.html">Index </a>·
<a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="busctl"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>busctl — Introspect the bus</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">busctl</code> [OPTIONS...] [COMMAND] [<em class="replaceable"><code>NAME</code></em>...]</p></div></div><div class="refsect1"><a name="idm214177446480"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><span class="command"><strong>busctl</strong></span> may be used to
introspect and monitor the D-Bus bus.</p></div><div class="refsect1"><a name="idm214177444736"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><p>The following options are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="--address=ADDRESS"><span class="term"><code class="option">--address=<em class="replaceable"><code>ADDRESS</code></em></code></span><a class="headerlink" title="Permalink to this term" href="#--address=ADDRESS"></a></dt><dd><p>Connect to the bus specified by
<em class="replaceable"><code>ADDRESS</code></em> instead of using suitable
defaults for either the system or user bus (see
<code class="option">--system</code> and <code class="option">--user</code>
options).</p></dd><dt id="--show-machine"><span class="term"><code class="option">--show-machine</code></span><a class="headerlink" title="Permalink to this term" href="#--show-machine"></a></dt><dd><p>When showing the list of endpoints, show a
column containing the names of containers they belong to.
See
<a href="systemd-machined.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-machined.service</span>(8)</span></a>.
</p></dd><dt id="--unique"><span class="term"><code class="option">--unique</code></span><a class="headerlink" title="Permalink to this term" href="#--unique"></a></dt><dd><p>When showing the list of endpoints, show
only "unique" names (of the form
"<code class="literal">:<em class="replaceable"><code>number</code></em>.<em class="replaceable"><code>number</code></em></code>").
</p></dd><dt id="--acquired"><span class="term"><code class="option">--acquired</code></span><a class="headerlink" title="Permalink to this term" href="#--acquired"></a></dt><dd><p>The opposite of <code class="option">--unique</code>
only "well-known" names will be shown.</p></dd><dt id="--activatable"><span class="term"><code class="option">--activatable</code></span><a class="headerlink" title="Permalink to this term" href="#--activatable"></a></dt><dd><p>When showing the list of endpoints, show
only endpoints which have actually not been activated yet,
but may be started automatically if accessed.</p></dd><dt id="--match=MATCH"><span class="term"><code class="option">--match=<em class="replaceable"><code>MATCH</code></em></code></span><a class="headerlink" title="Permalink to this term" href="#--match=MATCH"></a></dt><dd><p>When showing messages being exchanged, show only the
subset matching <em class="replaceable"><code>MATCH</code></em>.</p></dd><dt id="--no-legend"><span class="term"><code class="option">--no-legend</code></span><a class="headerlink" title="Permalink to this term" href="#--no-legend"></a></dt><dd><p>Do not print the legend,
i.e. the column headers and the
footer.</p></dd><dt id="--user"><span class="term"><code class="option">--user</code></span><a class="headerlink" title="Permalink to this term" href="#--user"></a></dt><dd><p><a name="user-text"></a>Talk to the service manager of the calling user,
rather than the service manager of the system.</p></dd><dt id="--system"><span class="term"><code class="option">--system</code></span><a class="headerlink" title="Permalink to this term" href="#--system"></a></dt><dd><p><a name="system-text"></a>Talk to the service manager of the system. This is the
implied default.</p></dd><dt id="-H"><span class="term"><code class="option">-H</code>, </span><span class="term"><code class="option">--host=</code></span><a class="headerlink" title="Permalink to this term" href="#-H"></a></dt><dd><p><a name="host-text"></a>Execute the operation remotely. Specify a hostname, or
username and hostname separated by "<code class="literal">@</code>", to
connect to. This will use SSH to talk to the remote machine
manager instance.</p></dd><dt id="-M"><span class="term"><code class="option">-M</code>, </span><span class="term"><code class="option">--machine=</code></span><a class="headerlink" title="Permalink to this term" href="#-M"></a></dt><dd><p><a name="machine-text"></a>Execute operation on a local container. Specify a
container name to connect to.</p></dd><dt id="-h"><span class="term"><code class="option">-h</code>, </span><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#-h"></a></dt><dd><p><a name="help-text"></a>Print a short help text and exit.
</p></dd><dt id="--version"><span class="term"><code class="option">--version</code></span><a class="headerlink" title="Permalink to this term" href="#--version"></a></dt><dd><p><a name="version-text"></a>Print a short version string and exit.</p></dd><dt id="--no-pager"><span class="term"><code class="option">--no-pager</code></span><a class="headerlink" title="Permalink to this term" href="#--no-pager"></a></dt><dd><p>Do not pipe output into a pager.</p></dd></dl></div></div><div class="refsect1"><a name="idm214181322304"></a><h2 id="Commands">Commands<a class="headerlink" title="Permalink to this headline" href="#Commands"></a></h2><p>The following commands are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="list"><span class="term"><span class="command"><strong>list</strong></span></span><a class="headerlink" title="Permalink to this term" href="#list"></a></dt><dd><p>Show endpoints attached to the bus. This is
the default if no command is specified.</p></dd><dt id="monitor NAME"><span class="term"><span class="command"><strong>monitor</strong></span> [<em class="replaceable"><code>NAME</code></em>...]</span><a class="headerlink" title="Permalink to this term" href="#monitor%20%20NAME"></a></dt><dd><p>Dump messages being exchanged. If
<em class="replaceable"><code>NAME</code></em> is specified, show messages
to or from this endpoint. Otherwise, show all messages on the
bus.</p></dd><dt id="status NAME"><span class="term"><span class="command"><strong>status</strong></span> <em class="replaceable"><code>NAME</code></em> </span><a class="headerlink" title="Permalink to this term" href="#status%20%20NAME"></a></dt><dd><p>Show process information and credentials of a
bus endpoint.</p></dd><dt id="help"><span class="term"><span class="command"><strong>help</strong></span></span><a class="headerlink" title="Permalink to this term" href="#help"></a></dt><dd><p>Show command syntax help.</p></dd></dl></div></div><div class="refsect1"><a name="idm214181303952"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="dbus-daemon.html"><span class="citerefentry"><span class="refentrytitle">dbus-daemon</span>(1)</span></a>,
<a class="ulink" href="http://freedesktop.org/wiki/Software/dbus" target="_top">D-Bus</a>,
<a class="ulink" href="https://code.google.com/p/d-bus/" target="_top">kdbus</a>,
<a href="sd-bus.html"><span class="citerefentry"><span class="refentrytitle">sd-bus</span>(3)</span></a>,
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="systemd-bus-proxyd.html"><span class="citerefentry"><span class="refentrytitle">systemd-bus-proxyd</span>(8)</span></a>,
<a href="machinectl.html"><span class="citerefentry"><span class="refentrytitle">machinectl</span>(1)</span></a>
</p></div></div></body></html>

197
man/busctl.xml Normal file
View File

@ -0,0 +1,197 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!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 2014 Zbigniew Jędrzejewski-Szmek
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="busctl"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>busctl</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>A monkey with a typewriter</contrib>
<firstname>Zbigniew</firstname>
<surname>Jędrzejewski-Szmek</surname>
<email>zbyszek@in.waw.pl</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>busctl</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>busctl</refname>
<refpurpose>Introspect the bus</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>busctl</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="opt">COMMAND</arg>
<arg choice="opt" rep="repeat"><replaceable>NAME</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>busctl</command> may be used to
introspect and monitor the D-Bus bus.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>--address=<replaceable>ADDRESS</replaceable></option></term>
<listitem><para>Connect to the bus specified by
<replaceable>ADDRESS</replaceable> instead of using suitable
defaults for either the system or user bus (see
<option>--system</option> and <option>--user</option>
options).</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--show-machine</option></term>
<listitem><para>When showing the list of endpoints, show a
column containing the names of containers they belong to.
See
<citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--unique</option></term>
<listitem><para>When showing the list of endpoints, show
only "unique" names (of the form
<literal>:<replaceable>number</replaceable>.<replaceable>number</replaceable></literal>).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--acquired</option></term>
<listitem><para>The opposite of <option>--unique</option>
only "well-known" names will be shown.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--activatable</option></term>
<listitem><para>When showing the list of endpoints, show
only endpoints which have actually not been activated yet,
but may be started automatically if accessed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--match=<replaceable>MATCH</replaceable></option></term>
<listitem><para>When showing messages being exchanged, show only the
subset matching <replaceable>MATCH</replaceable>.</para></listitem>
<!-- TODO: link to sd_bus_add_match when it is written? -->
</varlistentry>
<varlistentry>
<term><option>--no-legend</option></term>
<listitem>
<para>Do not print the legend,
i.e. the column headers and the
footer.</para>
</listitem>
</varlistentry>
<xi:include href="user-system-options.xml" xpointer="user" />
<xi:include href="user-system-options.xml" xpointer="system" />
<xi:include href="user-system-options.xml" xpointer="host" />
<xi:include href="user-system-options.xml" xpointer="machine" />
<xi:include href="standard-options.xml" xpointer="help" />
<xi:include href="standard-options.xml" xpointer="version" />
<xi:include href="standard-options.xml" xpointer="no-pager" />
</variablelist>
</refsect1>
<refsect1>
<title>Commands</title>
<para>The following commands are understood:</para>
<variablelist>
<varlistentry>
<term><command>list</command></term>
<listitem><para>Show endpoints attached to the bus. This is
the default if no command is specified.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>monitor</command> <arg choice="opt" rep="repeat"><replaceable>NAME</replaceable></arg></term>
<listitem><para>Dump messages being exchanged. If
<replaceable>NAME</replaceable> is specified, show messages
to or from this endpoint. Otherwise, show all messages on the
bus.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>status</command> <arg choice="plain"><replaceable>NAME</replaceable></arg></term>
<listitem><para>Show process information and credentials of a
bus endpoint.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>help</command></term>
<listitem><para>Show command syntax help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
<ulink url="https://code.google.com/p/d-bus/">kdbus</ulink>,
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-bus-proxyd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "CRYPTTAB" "5" "" "systemd 208" "crypttab" .TH "CRYPTTAB" "5" "" "systemd 214" "crypttab"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -92,6 +92,14 @@ Specifies the maximum number of bytes to read from the key file\&. See
for possible values and the default value of this option\&. This option is ignored in plain encryption mode, as the key file size is then given by the key size\&. for possible values and the default value of this option\&. This option is ignored in plain encryption mode, as the key file size is then given by the key size\&.
.RE .RE
.PP .PP
\fIkey\-slot=\fR
.RS 4
Specifies the key slot to compare the passphrase or key against\&. If the key slot does not match the given passphrase or key, but another would, the setup of the device will fail regardless\&. This option implies
\fIluks\fR\&. See
\fBcryptsetup\fR(8)
for possible values\&. The default is to try all key slots in sequential order\&.
.RE
.PP
\fIluks\fR \fIluks\fR
.RS 4 .RS 4
Force LUKS mode\&. When this mode is used, the following options are ignored since they are provided by the LUKS header on the device: Force LUKS mode\&. When this mode is used, the following options are ignored since they are provided by the LUKS header on the device:
@ -158,7 +166,7 @@ as the password file in the third field\&.
.PP .PP
\fItcrypt\-hidden\fR \fItcrypt\-hidden\fR
.RS 4 .RS 4
Use the hidden TrueCrypt volume\&. This implies Use the hidden TrueCrypt volume\&. This option implies
\fItcrypt\fR\&. \fItcrypt\fR\&.
.sp .sp
This will map the hidden volume that is inside of the volume provided in the second field\&. Please note that there is no protection for the hidden volume if the outer volume is mounted instead\&. See This will map the hidden volume that is inside of the volume provided in the second field\&. Please note that there is no protection for the hidden volume if the outer volume is mounted instead\&. See
@ -179,14 +187,8 @@ on the behavior of the passphrase and key files when using TrueCrypt encryption
.PP .PP
\fItcrypt\-system\fR \fItcrypt\-system\fR
.RS 4 .RS 4
Use TrueCrypt in system encryption mode\&. This implies Use TrueCrypt in system encryption mode\&. This option implies
\fItcrypt\fR\&. \fItcrypt\fR\&.
.sp
Please note that when using this mode, the whole device needs to be given in the second field instead of the partition\&. For example: if
"/dev/sda2"
is the system encrypted TrueCrypt patition,
"/dev/sda"
has to be given\&.
.RE .RE
.PP .PP
\fItimeout=\fR \fItimeout=\fR

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="crypttab"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>crypttab — Configuration for encrypted block devices</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/crypttab</code></p></div><div class="refsect1"><a name="idm274704570816"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>The <code class="filename">/etc/crypttab</code> file <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="crypttab"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>crypttab — Configuration for encrypted block devices</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/crypttab</code></p></div><div class="refsect1"><a name="idm214191735008"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>The <code class="filename">/etc/crypttab</code> file
describes encrypted block devices that are set up describes encrypted block devices that are set up
during system boot.</p><p>Empty lines and lines starting with the "<code class="literal">#</code>" during system boot.</p><p>Empty lines and lines starting with the "<code class="literal">#</code>"
character are ignored. Each of the remaining lines character are ignored. Each of the remaining lines
@ -72,7 +72,15 @@
for possible values and the default value of for possible values and the default value of
this option. This option is ignored in plain this option. This option is ignored in plain
encryption mode, as the key file size is then encryption mode, as the key file size is then
given by the key size.</p></dd><dt id="luks"><span class="term"><code class="varname">luks</code></span><a class="headerlink" title="Permalink to this term" href="#luks"></a></dt><dd><p>Force LUKS mode. When this mode given by the key size.</p></dd><dt id="key-slot="><span class="term"><code class="varname">key-slot=</code></span><a class="headerlink" title="Permalink to this term" href="#key-slot="></a></dt><dd><p>Specifies the key slot to
compare the passphrase or key against.
If the key slot does not match the given
passphrase or key, but another would, the
setup of the device will fail regardless.
This option implies <code class="varname">luks</code>. See
<a href="cryptsetup.html"><span class="citerefentry"><span class="refentrytitle">cryptsetup</span>(8)</span></a>
for possible values. The default is to try
all key slots in sequential order.</p></dd><dt id="luks"><span class="term"><code class="varname">luks</code></span><a class="headerlink" title="Permalink to this term" href="#luks"></a></dt><dd><p>Force LUKS mode. When this mode
is used, the following options are ignored since is used, the following options are ignored since
they are provided by the LUKS header on the they are provided by the LUKS header on the
device: <code class="varname">cipher=</code>, device: <code class="varname">cipher=</code>,
@ -113,7 +121,7 @@
an empty passphrase in combination with one or an empty passphrase in combination with one or
more key files, use "<code class="literal">/dev/null</code>" more key files, use "<code class="literal">/dev/null</code>"
as the password file in the third field.</p></dd><dt id="tcrypt-hidden"><span class="term"><code class="varname">tcrypt-hidden</code></span><a class="headerlink" title="Permalink to this term" href="#tcrypt-hidden"></a></dt><dd><p>Use the hidden TrueCrypt volume. as the password file in the third field.</p></dd><dt id="tcrypt-hidden"><span class="term"><code class="varname">tcrypt-hidden</code></span><a class="headerlink" title="Permalink to this term" href="#tcrypt-hidden"></a></dt><dd><p>Use the hidden TrueCrypt volume.
This implies <code class="varname">tcrypt</code>.</p><p>This will map the hidden volume that is This option implies <code class="varname">tcrypt</code>.</p><p>This will map the hidden volume that is
inside of the volume provided in the second inside of the volume provided in the second
field. Please note that there is no protection field. Please note that there is no protection
for the hidden volume if the outer volume is for the hidden volume if the outer volume is
@ -126,13 +134,8 @@
files.</p><p>See the entry for <code class="varname">tcrypt</code> files.</p><p>See the entry for <code class="varname">tcrypt</code>
on the behavior of the passphrase and key files on the behavior of the passphrase and key files
when using TrueCrypt encryption mode.</p></dd><dt id="tcrypt-system"><span class="term"><code class="varname">tcrypt-system</code></span><a class="headerlink" title="Permalink to this term" href="#tcrypt-system"></a></dt><dd><p>Use TrueCrypt in system when using TrueCrypt encryption mode.</p></dd><dt id="tcrypt-system"><span class="term"><code class="varname">tcrypt-system</code></span><a class="headerlink" title="Permalink to this term" href="#tcrypt-system"></a></dt><dd><p>Use TrueCrypt in system
encryption mode. This implies encryption mode. This option implies
<code class="varname">tcrypt</code>.</p><p>Please note that when using this mode, the <code class="varname">tcrypt</code>.</p></dd><dt id="timeout="><span class="term"><code class="varname">timeout=</code></span><a class="headerlink" title="Permalink to this term" href="#timeout="></a></dt><dd><p>Specifies the timeout for
whole device needs to be given in the second
field instead of the partition. For example: if
"<code class="literal">/dev/sda2</code>" is the system
encrypted TrueCrypt patition, "<code class="literal">/dev/sda</code>"
has to be given.</p></dd><dt id="timeout="><span class="term"><code class="varname">timeout=</code></span><a class="headerlink" title="Permalink to this term" href="#timeout="></a></dt><dd><p>Specifies the timeout for
querying for a password. If no unit is querying for a password. If no unit is
specified, seconds is used. Supported units are specified, seconds is used. Supported units are
s, ms, us, min, h, d. A timeout of 0 waits s, ms, us, min, h, d. A timeout of 0 waits
@ -151,12 +154,12 @@
prevent typos.</p></dd></dl></div><p>At early boot and when the system manager prevent typos.</p></dd></dl></div><p>At early boot and when the system manager
configuration is reloaded, this file is translated into configuration is reloaded, this file is translated into
native systemd units native systemd units
by <a href="systemd-cryptsetup-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup-generator</span>(8)</span></a>.</p></div><div class="refsect1"><a name="idm274705151904"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example"></a></h2><div class="example"><a name="idm274702985200"></a><p class="title"><b>Example 1. /etc/crypttab example</b></p><div class="example-contents"><p>Set up four encrypted block devices. One using by <a href="systemd-cryptsetup-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup-generator</span>(8)</span></a>.</p></div><div class="refsect1"><a name="idm214194879488"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example"></a></h2><div class="example"><a name="idm214194878816"></a><p class="title"><b>Example 1. /etc/crypttab example</b></p><div class="example-contents"><p>Set up four encrypted block devices. One using
LUKS for normal storage, another one for usage as a swap LUKS for normal storage, another one for usage as a swap
device and two TrueCrypt volumes.</p><pre class="programlisting">luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b device and two TrueCrypt volumes.</p><pre class="programlisting">luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b
swap /dev/sda7 /dev/urandom swap swap /dev/sda7 /dev/urandom swap
truecrypt /dev/sda2 /etc/container_password tcrypt truecrypt /dev/sda2 /etc/container_password tcrypt
hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm274702530704"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> hidden /mnt/tc_hidden /null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214193239680"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="systemd-cryptsetup@.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup@.service</span>(8)</span></a>, <a href="systemd-cryptsetup@.service.html"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup@.service</span>(8)</span></a>,
<a href="systemd-cryptsetup-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup-generator</span>(8)</span></a>, <a href="systemd-cryptsetup-generator.html"><span class="citerefentry"><span class="refentrytitle">systemd-cryptsetup-generator</span>(8)</span></a>,

View File

@ -163,6 +163,20 @@
given by the key size.</para></listitem> given by the key size.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><varname>key-slot=</varname></term>
<listitem><para>Specifies the key slot to
compare the passphrase or key against.
If the key slot does not match the given
passphrase or key, but another would, the
setup of the device will fail regardless.
This option implies <varname>luks</varname>. See
<citerefentry><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for possible values. The default is to try
all key slots in sequential order.</para></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><varname>luks</varname></term> <term><varname>luks</varname></term>
@ -261,7 +275,7 @@
<term><varname>tcrypt-hidden</varname></term> <term><varname>tcrypt-hidden</varname></term>
<listitem><para>Use the hidden TrueCrypt volume. <listitem><para>Use the hidden TrueCrypt volume.
This implies <varname>tcrypt</varname>.</para> This option implies <varname>tcrypt</varname>.</para>
<para>This will map the hidden volume that is <para>This will map the hidden volume that is
inside of the volume provided in the second inside of the volume provided in the second
@ -290,15 +304,8 @@
<term><varname>tcrypt-system</varname></term> <term><varname>tcrypt-system</varname></term>
<listitem><para>Use TrueCrypt in system <listitem><para>Use TrueCrypt in system
encryption mode. This implies encryption mode. This option implies
<varname>tcrypt</varname>.</para> <varname>tcrypt</varname>.</para></listitem>
<para>Please note that when using this mode, the
whole device needs to be given in the second
field instead of the partition. For example: if
<literal>/dev/sda2</literal> is the system
encrypted TrueCrypt patition, <literal>/dev/sda</literal>
has to be given.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "DAEMON" "7" "" "systemd 208" "daemon" .TH "DAEMON" "7" "" "systemd 214" "daemon"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -37,7 +37,7 @@ When a traditional SysV daemon starts, it should execute the following steps as
.sp -1 .sp -1
.IP " 1." 4.2 .IP " 1." 4.2
.\} .\}
Close all open file descriptors except STDIN, STDOUT, STDERR (i\&.e\&. the first three file descriptors 0, 1, 2)\&. This ensures that no accidentally passed file descriptor stays around in the daemon process\&. On Linux, this is best implemented by iterating through Close all open file descriptors except standard input, output, and error (i\&.e\&. the first three file descriptors 0, 1, 2)\&. This ensures that no accidentally passed file descriptor stays around in the daemon process\&. On Linux, this is best implemented by iterating through
/proc/self/fd, with a fallback of iterating from file descriptor 3 to the value returned by /proc/self/fd, with a fallback of iterating from file descriptor 3 to the value returned by
\fBgetrlimit()\fR \fBgetrlimit()\fR
for RLIMIT_NOFILE\&. for RLIMIT_NOFILE\&.
@ -139,7 +139,7 @@ in the first child, so that only the second child (the actual daemon process) st
.\} .\}
In the daemon process, connect In the daemon process, connect
/dev/null /dev/null
to STDIN, STDOUT, STDERR\&. to standard input, output, and error\&.
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -177,8 +177,8 @@ In the daemon process, change the current directory to the root directory (/), i
.\} .\}
In the daemon process, write the daemon PID (as returned by In the daemon process, write the daemon PID (as returned by
\fBgetpid()\fR) to a PID file, for example \fBgetpid()\fR) to a PID file, for example
/var/run/foobar\&.pid /run/foobar\&.pid
(for a hypothetical daemon "foobar") to ensure that the daemon cannot be started more than once\&. This must be implemented in race\-free fashion so that the PID file is only updated when it is verified at the same time that the PID previously stored in the PID file no longer exists or belongs to a foreign process\&. Commonly, some kind of file locking is employed to implement this logic\&. (for a hypothetical daemon "foobar") to ensure that the daemon cannot be started more than once\&. This must be implemented in race\-free fashion so that the PID file is only updated when it is verified at the same time that the PID previously stored in the PID file no longer exists or belongs to a foreign process\&.
.RE .RE
.sp .sp
.RS 4 .RS 4
@ -231,7 +231,7 @@ Modern services for Linux should be implemented as new\-style daemons\&. This ma
.PP .PP
For developing a new\-style daemon, none of the initialization steps recommended for SysV daemons need to be implemented\&. New\-style init systems such as systemd make all of them redundant\&. Moreover, since some of these steps interfere with process monitoring, file descriptor passing and other functionality of the init system, it is recommended not to execute them when run as new\-style service\&. For developing a new\-style daemon, none of the initialization steps recommended for SysV daemons need to be implemented\&. New\-style init systems such as systemd make all of them redundant\&. Moreover, since some of these steps interfere with process monitoring, file descriptor passing and other functionality of the init system, it is recommended not to execute them when run as new\-style service\&.
.PP .PP
Note that new\-style init systems guarantee execution of daemon processes in a clean process context: it is guaranteed that the environment block is sanitized, that the signal handlers and mask is reset and that no left\-over file descriptors are passed\&. Daemons will be executed in their own session, and STDIN/STDOUT/STDERR connected to Note that new\-style init systems guarantee execution of daemon processes in a clean process context: it is guaranteed that the environment block is sanitized, that the signal handlers and mask is reset and that no left\-over file descriptors are passed\&. Daemons will be executed in their own session, with standard input/output/error connected to
/dev/null /dev/null
unless otherwise configured\&. The umask is reset\&. unless otherwise configured\&. The umask is reset\&.
.PP .PP
@ -359,7 +359,7 @@ interface\&.
.\} .\}
Instead of using the Instead of using the
\fBsyslog()\fR \fBsyslog()\fR
call to log directly to the system syslog service, a new\-style daemon may choose to simply log to STDERR via call to log directly to the system syslog service, a new\-style daemon may choose to simply log to standard error via
\fBfprintf()\fR, which is then forwarded to syslog by the init system\&. If log priorities are necessary, these can be encoded by prefixing individual log lines with strings like "<4>" (for log priority 4 "WARNING" in the syslog priority scheme), following a similar style as the Linux kernel\*(Aqs \fBfprintf()\fR, which is then forwarded to syslog by the init system\&. If log priorities are necessary, these can be encoded by prefixing individual log lines with strings like "<4>" (for log priority 4 "WARNING" in the syslog priority scheme), following a similar style as the Linux kernel\*(Aqs
\fBprintk()\fR \fBprintk()\fR
priority system\&. In fact, using this style of logging also enables the init system to optionally direct all application logging to the kernel log buffer (kmsg), as accessible via priority system\&. In fact, using this style of logging also enables the init system to optionally direct all application logging to the kernel log buffer (kmsg), as accessible via
@ -383,7 +383,7 @@ might get activated either when Bluetooth hardware is plugged in, or when an app
Old\-style daemons are usually activated exclusively on boot (and manually by the administrator) via SysV init scripts, as detailed in the Old\-style daemons are usually activated exclusively on boot (and manually by the administrator) via SysV init scripts, as detailed in the
\m[blue]\fBLSB Linux Standard Base Core Specification\fR\m[]\&\s-2\u[1]\d\s+2\&. This method of activation is supported ubiquitously on Linux init systems, both old\-style and new\-style systems\&. Among other issues, SysV init scripts have the disadvantage of involving shell scripts in the boot process\&. New\-style init systems generally employ updated versions of activation, both during boot\-up and during runtime and using more minimal service description files\&. \m[blue]\fBLSB Linux Standard Base Core Specification\fR\m[]\&\s-2\u[1]\d\s+2\&. This method of activation is supported ubiquitously on Linux init systems, both old\-style and new\-style systems\&. Among other issues, SysV init scripts have the disadvantage of involving shell scripts in the boot process\&. New\-style init systems generally employ updated versions of activation, both during boot\-up and during runtime and using more minimal service description files\&.
.PP .PP
In systemd, if the developer or administrator wants to make sure a service or other unit is activated automatically on boot, it is recommended to place a symlink to the unit file in the In systemd, if the developer or administrator wants to make sure that a service or other unit is activated automatically on boot, it is recommended to place a symlink to the unit file in the
\&.wants/ \&.wants/
directory of either directory of either
multi\-user\&.target multi\-user\&.target
@ -593,12 +593,19 @@ are recommended to use a configure script excerpt like the following to determin
.nf .nf
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir], AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([\-\-with\-systemdsystemunitdir=DIR], [Directory for systemd service files]), [AS_HELP_STRING([\-\-with\-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[], [with_systemdsystemunitdir=$($PKG_CONFIG \-\-variable=systemdsystemunitdir systemd)]) [with_systemdsystemunitdir=auto])
if test "x$with_systemdsystemunitdir" != xno; then AS_IF([test "x$with_systemdsystemunitdir" = "xyes" \-o "x$with_systemdsystemunitdir" = "xauto"], [
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) def_systemdsystemunitdir=$($PKG_CONFIG \-\-variable=systemdsystemunitdir systemd)
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test \-n "$with_systemdsystemunitdir" \-a "x$with_systemdsystemunitdir" != xno ]) AS_IF([test "x$def_systemdsystemunitdir" = "x"],
[AS_IF([test "x$with_systemdsystemunitdir" = "xyes"],
[AC_MSG_ERROR([systemd support requested but pkg\-config unable to query systemd package])])
with_systemdsystemunitdir=no],
[with_systemdsystemunitdir="$def_systemdsystemunitdir"])])
AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
[AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])
.fi .fi
.if n \{\ .if n \{\
.RE .RE
@ -788,10 +795,10 @@ If the daemon exposes interfaces via D\-Bus, write and install a D\-Bus activati
.IP " 1." 4 .IP " 1." 4
LSB recommendations for SysV init scripts LSB recommendations for SysV init scripts
.RS 4 .RS 4
\%http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html \%http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
.RE .RE
.IP " 2." 4 .IP " 2." 4
Apple MacOS X Daemon Requirements Apple MacOS X Daemon Requirements
.RS 4 .RS 4
\%http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html#//apple_ref/doc/uid/TP40001762-104738 \%https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html
.RE .RE

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>daemon — Writing and packaging system daemons</p></div><div class="refsect1"><a name="idm274686553024"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>A daemon is a service process that runs in the <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="daemon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>daemon — Writing and packaging system daemons</p></div><div class="refsect1"><a name="idm214176733072"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>A daemon is a service process that runs in the
background and supervises the system or provides background and supervises the system or provides
functionality to other processes. Traditionally, functionality to other processes. Traditionally,
daemons are implemented following a scheme originating daemons are implemented following a scheme originating
@ -29,14 +29,14 @@
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>. This <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>. This
manual page covers both schemes, and in manual page covers both schemes, and in
particular includes recommendations for daemons that particular includes recommendations for daemons that
shall be included in the systemd init system.</p><div class="refsect2"><a name="idm274687502064"></a><h3 id="SysV Daemons">SysV Daemons<a class="headerlink" title="Permalink to this headline" href="#SysV%20Daemons"></a></h3><p>When a traditional SysV daemon shall be included in the systemd init system.</p><div class="refsect2"><a name="idm214172947136"></a><h3 id="SysV Daemons">SysV Daemons<a class="headerlink" title="Permalink to this headline" href="#SysV%20Daemons"></a></h3><p>When a traditional SysV daemon
starts, it should execute the following steps starts, it should execute the following steps
as part of the initialization. Note that these as part of the initialization. Note that these
steps are unnecessary for new-style daemons (see below), steps are unnecessary for new-style daemons (see below),
and should only be implemented if compatibility and should only be implemented if compatibility
with SysV is essential.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Close all open file with SysV is essential.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Close all open file
descriptors except STDIN, STDOUT, descriptors except standard input, output,
STDERR (i.e. the first three file and error (i.e. the first three file
descriptors 0, 1, 2). This ensures descriptors 0, 1, 2). This ensures
that no accidentally passed file that no accidentally passed file
descriptor stays around in the daemon descriptor stays around in the daemon
@ -73,8 +73,8 @@
init/PID 1, as all daemons should init/PID 1, as all daemons should
be.</p></li><li class="listitem"><p>In the daemon process, be.</p></li><li class="listitem"><p>In the daemon process,
connect <code class="filename">/dev/null</code> connect <code class="filename">/dev/null</code>
to STDIN, STDOUT, to standard input, output, and error.
STDERR.</p></li><li class="listitem"><p>In the daemon process, </p></li><li class="listitem"><p>In the daemon process,
reset the umask to 0, so that the file reset the umask to 0, so that the file
modes passed to <code class="function">open()</code>, <code class="function">mkdir()</code> and modes passed to <code class="function">open()</code>, <code class="function">mkdir()</code> and
suchlike directly control the access suchlike directly control the access
@ -88,7 +88,7 @@
write the daemon PID (as returned by write the daemon PID (as returned by
<code class="function">getpid()</code>) to a <code class="function">getpid()</code>) to a
PID file, for example PID file, for example
<code class="filename">/var/run/foobar.pid</code> <code class="filename">/run/foobar.pid</code>
(for a hypothetical daemon "foobar") (for a hypothetical daemon "foobar")
to ensure that the daemon cannot be to ensure that the daemon cannot be
started more than once. This must be started more than once. This must be
@ -97,9 +97,7 @@
it is verified at the same time that it is verified at the same time that
the PID previously stored in the PID the PID previously stored in the PID
file no longer exists or belongs to a file no longer exists or belongs to a
foreign process. Commonly, some kind of foreign process.</p></li><li class="listitem"><p>In the daemon process,
file locking is employed to implement
this logic.</p></li><li class="listitem"><p>In the daemon process,
drop privileges, if possible and drop privileges, if possible and
applicable.</p></li><li class="listitem"><p>From the daemon applicable.</p></li><li class="listitem"><p>From the daemon
process, notify the original process process, notify the original process
@ -127,7 +125,7 @@
behavior optional and configurable via a behavior optional and configurable via a
command line argument to ease debugging as command line argument to ease debugging as
well as to simplify integration into systems well as to simplify integration into systems
using systemd.</p></div><div class="refsect2"><a name="idm274689046528"></a><h3 id="New-Style Daemons">New-Style Daemons<a class="headerlink" title="Permalink to this headline" href="#New-Style%20Daemons"></a></h3><p>Modern services for Linux should be using systemd.</p></div><div class="refsect2"><a name="idm214176819824"></a><h3 id="New-Style Daemons">New-Style Daemons<a class="headerlink" title="Permalink to this headline" href="#New-Style%20Daemons"></a></h3><p>Modern services for Linux should be
implemented as new-style daemons. This makes it implemented as new-style daemons. This makes it
easier to supervise and control them at easier to supervise and control them at
runtime and simplifies their runtime and simplifies their
@ -141,15 +139,16 @@
the init system, it is recommended not to the init system, it is recommended not to
execute them when run as new-style execute them when run as new-style
service.</p><p>Note that new-style init systems service.</p><p>Note that new-style init systems
guarantee execution of daemon processes in guarantee execution of daemon processes in a
a clean process context: it is guaranteed that clean process context: it is guaranteed that
the environment block is sanitized, that the the environment block is sanitized, that the
signal handlers and mask is reset and that no signal handlers and mask is reset and that no
left-over file descriptors are passed. Daemons left-over file descriptors are passed. Daemons
will be executed in their own session, and will be executed in their own session, with
STDIN/STDOUT/STDERR connected to standard input/output/error connected to
<code class="filename">/dev/null</code> unless <code class="filename">/dev/null</code> unless
otherwise configured. The umask is reset.</p><p>It is recommended for new-style daemons otherwise configured. The umask is reset.
</p><p>It is recommended for new-style daemons
to implement the following:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If <code class="constant">SIGTERM</code> is to implement the following:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If <code class="constant">SIGTERM</code> is
received, shut down the daemon and received, shut down the daemon and
exit cleanly.</p></li><li class="listitem"><p>If <code class="constant">SIGHUP</code> is received, exit cleanly.</p></li><li class="listitem"><p>If <code class="constant">SIGHUP</code> is received,
@ -159,7 +158,7 @@
this is used by the init system to this is used by the init system to
detect service errors and problems. It detect service errors and problems. It
is recommended to follow the exit code is recommended to follow the exit code
scheme as defined in the <a class="ulink" href="http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html" target="_top">LSB scheme as defined in the <a class="ulink" href="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html" target="_top">LSB
recommendations for SysV init recommendations for SysV init
scripts</a>.</p></li><li class="listitem"><p>If possible and scripts</a>.</p></li><li class="listitem"><p>If possible and
applicable, expose the daemon's control applicable, expose the daemon's control
@ -218,7 +217,7 @@
interface.</p></li><li class="listitem"><p>Instead of using the interface.</p></li><li class="listitem"><p>Instead of using the
<code class="function">syslog()</code> call to log directly to the <code class="function">syslog()</code> call to log directly to the
system syslog service, a new-style daemon may system syslog service, a new-style daemon may
choose to simply log to STDERR via choose to simply log to standard error via
<code class="function">fprintf()</code>, which is then forwarded to <code class="function">fprintf()</code>, which is then forwarded to
syslog by the init system. If log syslog by the init system. If log
priorities are necessary, these can be priorities are necessary, these can be
@ -242,8 +241,8 @@
<a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a> <a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>
and and
<a href="systemd.exec.html"><span class="citerefentry"><span class="refentrytitle">systemd.exec</span>(5)</span></a>.</p></li></ol></div><p>These recommendations are similar but <a href="systemd.exec.html"><span class="citerefentry"><span class="refentrytitle">systemd.exec</span>(5)</span></a>.</p></li></ol></div><p>These recommendations are similar but
not identical to the <a class="ulink" href="http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html#//apple_ref/doc/uid/TP40001762-104738" target="_top">Apple not identical to the <a class="ulink" href="https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html" target="_top">Apple
MacOS X Daemon Requirements</a>.</p></div></div><div class="refsect1"><a name="idm274689010544"></a><h2 id="Activation">Activation<a class="headerlink" title="Permalink to this headline" href="#Activation"></a></h2><p>New-style init systems provide multiple MacOS X Daemon Requirements</a>.</p></div></div><div class="refsect1"><a name="idm214171871376"></a><h2 id="Activation">Activation<a class="headerlink" title="Permalink to this headline" href="#Activation"></a></h2><p>New-style init systems provide multiple
additional mechanisms to activate services, as additional mechanisms to activate services, as
detailed below. It is common that services are detailed below. It is common that services are
configured to be activated via more than one mechanism configured to be activated via more than one mechanism
@ -267,10 +266,10 @@
request is lost because client requests will be queued request is lost because client requests will be queued
by the bus system (in case of D-Bus) or the kernel (in by the bus system (in case of D-Bus) or the kernel (in
case of sockets) until the activation is case of sockets) until the activation is
completed.</p><div class="refsect2"><a name="idm274689007216"></a><h3 id="Activation on Boot">Activation on Boot<a class="headerlink" title="Permalink to this headline" href="#Activation%20on%20Boot"></a></h3><p>Old-style daemons are usually activated completed.</p><div class="refsect2"><a name="idm214171868144"></a><h3 id="Activation on Boot">Activation on Boot<a class="headerlink" title="Permalink to this headline" href="#Activation%20on%20Boot"></a></h3><p>Old-style daemons are usually activated
exclusively on boot (and manually by the exclusively on boot (and manually by the
administrator) via SysV init scripts, as administrator) via SysV init scripts, as
detailed in the <a class="ulink" href="http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html" target="_top">LSB detailed in the <a class="ulink" href="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html" target="_top">LSB
Linux Standard Base Core Linux Standard Base Core
Specification</a>. This method of Specification</a>. This method of
activation is supported ubiquitously on Linux activation is supported ubiquitously on Linux
@ -282,7 +281,7 @@
activation, both during boot-up and during activation, both during boot-up and during
runtime and using more minimal service runtime and using more minimal service
description files.</p><p>In systemd, if the developer or description files.</p><p>In systemd, if the developer or
administrator wants to make sure a service or administrator wants to make sure that a service or
other unit is activated automatically on boot, other unit is activated automatically on boot,
it is recommended to place a symlink to the it is recommended to place a symlink to the
unit file in the <code class="filename">.wants/</code> unit file in the <code class="filename">.wants/</code>
@ -295,7 +294,7 @@
for details about the for details about the
<code class="filename">.wants/</code> directories, and <code class="filename">.wants/</code> directories, and
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a> <a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>
for details about the two boot targets.</p></div><div class="refsect2"><a name="idm274684370608"></a><h3 id="Socket-Based Activation">Socket-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Socket-Based%20Activation"></a></h3><p>In order to maximize the possible for details about the two boot targets.</p></div><div class="refsect2"><a name="idm214171860432"></a><h3 id="Socket-Based Activation">Socket-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Socket-Based%20Activation"></a></h3><p>In order to maximize the possible
parallelization and robustness and simplify parallelization and robustness and simplify
configuration and development, it is configuration and development, it is
recommended for all new-style daemons that recommended for all new-style daemons that
@ -366,7 +365,7 @@
example from example from
<code class="filename">multi-user.target</code> or <code class="filename">multi-user.target</code> or
suchlike) when one is installed in suchlike) when one is installed in
<code class="filename">sockets.target</code>.</p></div><div class="refsect2"><a name="idm274684357232"></a><h3 id="Bus-Based Activation">Bus-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Bus-Based%20Activation"></a></h3><p>When the D-Bus IPC system is used for <code class="filename">sockets.target</code>.</p></div><div class="refsect2"><a name="idm214171846960"></a><h3 id="Bus-Based Activation">Bus-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Bus-Based%20Activation"></a></h3><p>When the D-Bus IPC system is used for
communication with clients, new-style daemons communication with clients, new-style daemons
should employ bus activation so that they are should employ bus activation so that they are
automatically activated when a client automatically activated when a client
@ -389,7 +388,7 @@
<code class="filename">rtkit-daemon.service</code>. This <code class="filename">rtkit-daemon.service</code>. This
is needed to make sure that the daemon is is needed to make sure that the daemon is
started in a race-free fashion when activated started in a race-free fashion when activated
via multiple mechanisms simultaneously.</p></div><div class="refsect2"><a name="idm274684352752"></a><h3 id="Device-Based Activation">Device-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Device-Based%20Activation"></a></h3><p>Often, daemons that manage a particular via multiple mechanisms simultaneously.</p></div><div class="refsect2"><a name="idm214171842480"></a><h3 id="Device-Based Activation">Device-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Device-Based%20Activation"></a></h3><p>Often, daemons that manage a particular
type of hardware should be activated only when type of hardware should be activated only when
the hardware of the respective kind is plugged the hardware of the respective kind is plugged
in or otherwise becomes available. In a in or otherwise becomes available. In a
@ -425,7 +424,7 @@
<span class="command"><strong>enable</strong></span> of <span class="command"><strong>enable</strong></span> of
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a> <a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
instead of manipulating the udev instead of manipulating the udev
ruleset.</p></div><div class="refsect2"><a name="idm274684343888"></a><h3 id="Path-Based Activation">Path-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Path-Based%20Activation"></a></h3><p>Often, runtime of daemons processing ruleset.</p></div><div class="refsect2"><a name="idm214176892432"></a><h3 id="Path-Based Activation">Path-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Path-Based%20Activation"></a></h3><p>Often, runtime of daemons processing
spool files or directories (such as a printing spool files or directories (such as a printing
system) can be delayed until these file system system) can be delayed until these file system
objects change state, or become objects change state, or become
@ -435,13 +434,13 @@
path-based activation configured in path-based activation configured in
<code class="filename">.path</code> units, as outlined <code class="filename">.path</code> units, as outlined
in in
<a href="systemd.path.html"><span class="citerefentry"><span class="refentrytitle">systemd.path</span>(5)</span></a>.</p></div><div class="refsect2"><a name="idm274684340720"></a><h3 id="Timer-Based Activation">Timer-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Timer-Based%20Activation"></a></h3><p>Some daemons that implement clean-up <a href="systemd.path.html"><span class="citerefentry"><span class="refentrytitle">systemd.path</span>(5)</span></a>.</p></div><div class="refsect2"><a name="idm214171821840"></a><h3 id="Timer-Based Activation">Timer-Based Activation<a class="headerlink" title="Permalink to this headline" href="#Timer-Based%20Activation"></a></h3><p>Some daemons that implement clean-up
jobs that are intended to be executed in jobs that are intended to be executed in
regular intervals benefit from timer-based regular intervals benefit from timer-based
activation. In systemd, this is implemented activation. In systemd, this is implemented
via <code class="filename">.timer</code> units, as via <code class="filename">.timer</code> units, as
described in described in
<a href="systemd.timer.html"><span class="citerefentry"><span class="refentrytitle">systemd.timer</span>(5)</span></a>.</p></div><div class="refsect2"><a name="idm274684337792"></a><h3 id="Other Forms of Activation">Other Forms of Activation<a class="headerlink" title="Permalink to this headline" href="#Other%20Forms%20of%20Activation"></a></h3><p>Other forms of activation have been <a href="systemd.timer.html"><span class="citerefentry"><span class="refentrytitle">systemd.timer</span>(5)</span></a>.</p></div><div class="refsect2"><a name="idm214171818912"></a><h3 id="Other Forms of Activation">Other Forms of Activation<a class="headerlink" title="Permalink to this headline" href="#Other%20Forms%20of%20Activation"></a></h3><p>Other forms of activation have been
suggested and implemented in some suggested and implemented in some
systems. However, there are often simpler or systems. However, there are often simpler or
better alternatives, or they can be put better alternatives, or they can be put
@ -486,7 +485,7 @@
activation to schedule background jobs during activation to schedule background jobs during
runtime and with minimal impact on the system, runtime and with minimal impact on the system,
and remove it from the boot phase and remove it from the boot phase
itself.</p></div></div><div class="refsect1"><a name="idm274689114736"></a><h2 id="Integration with Systemd">Integration with Systemd<a class="headerlink" title="Permalink to this headline" href="#Integration%20with%20Systemd"></a></h2><div class="refsect2"><a name="idm274689114048"></a><h3 id="Writing Systemd Unit Files">Writing Systemd Unit Files<a class="headerlink" title="Permalink to this headline" href="#Writing%20Systemd%20Unit%20Files"></a></h3><p>When writing systemd unit files, it is itself.</p></div></div><div class="refsect1"><a name="idm214171812272"></a><h2 id="Integration with Systemd">Integration with Systemd<a class="headerlink" title="Permalink to this headline" href="#Integration%20with%20Systemd"></a></h2><div class="refsect2"><a name="idm214171811632"></a><h3 id="Writing Systemd Unit Files">Writing Systemd Unit Files<a class="headerlink" title="Permalink to this headline" href="#Writing%20Systemd%20Unit%20Files"></a></h3><p>When writing systemd unit files, it is
recommended to consider the following recommended to consider the following
suggestions:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If possible, do not use suggestions:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If possible, do not use
the <code class="varname">Type=forking</code> the <code class="varname">Type=forking</code>
@ -535,7 +534,7 @@
your service file your service file
<code class="filename">foo.service</code>, for <code class="filename">foo.service</code>, for
a hypothetical program a hypothetical program
<code class="filename">foo</code>.</p></li></ol></div></div><div class="refsect2"><a name="idm274684306432"></a><h3 id="Installing Systemd Service Files">Installing Systemd Service Files<a class="headerlink" title="Permalink to this headline" href="#Installing%20Systemd%20Service%20Files"></a></h3><p>At the build installation time <code class="filename">foo</code>.</p></li></ol></div></div><div class="refsect2"><a name="idm214171796080"></a><h3 id="Installing Systemd Service Files">Installing Systemd Service Files<a class="headerlink" title="Permalink to this headline" href="#Installing%20Systemd%20Service%20Files"></a></h3><p>At the build installation time
(e.g. <span class="command"><strong>make install</strong></span> during (e.g. <span class="command"><strong>make install</strong></span> during
package build), packages are recommended to package build), packages are recommended to
install their systemd unit files in the install their systemd unit files in the
@ -563,12 +562,19 @@
unit installation path during source unit installation path during source
configuration:</p><pre class="programlisting">PKG_PROG_PKG_CONFIG configuration:</p><pre class="programlisting">PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir], AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) [with_systemdsystemunitdir=auto])
if test "x$with_systemdsystemunitdir" != xno; then AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])</pre><p>This snippet allows automatic AS_IF([test "x$def_systemdsystemunitdir" = "x"],
[AS_IF([test "x$with_systemdsystemunitdir" = "xyes"],
[AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])
with_systemdsystemunitdir=no],
[with_systemdsystemunitdir="$def_systemdsystemunitdir"])])
AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
[AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])</pre><p>This snippet allows automatic
installation of the unit files on systemd installation of the unit files on systemd
machines, and optionally allows their machines, and optionally allows their
installation even on machines lacking installation even on machines lacking
@ -633,7 +639,7 @@ fi</pre><p>Where 0.47.11-1 is the first package
specific to Fedora which can be used to check specific to Fedora which can be used to check
whether a SysV init script is enabled. Other whether a SysV init script is enabled. Other
operating systems will have to use different operating systems will have to use different
commands here.</p></div></div><div class="refsect1"><a name="idm274684279152"></a><h2 id="Porting Existing Daemons">Porting Existing Daemons<a class="headerlink" title="Permalink to this headline" href="#Porting%20Existing%20Daemons"></a></h2><p>Since new-style init systems such as systemd are commands here.</p></div></div><div class="refsect1"><a name="idm214171768368"></a><h2 id="Porting Existing Daemons">Porting Existing Daemons<a class="headerlink" title="Permalink to this headline" href="#Porting%20Existing%20Daemons"></a></h2><p>Since new-style init systems such as systemd are
compatible with traditional SysV init systems, it is compatible with traditional SysV init systems, it is
not strictly necessary to port existing daemons to the not strictly necessary to port existing daemons to the
new style. However, doing so offers additional new style. However, doing so offers additional
@ -678,7 +684,7 @@ fi</pre><p>Where 0.47.11-1 is the first package
details.</p></li><li class="listitem"><p>If the daemon exposes details.</p></li><li class="listitem"><p>If the daemon exposes
interfaces via D-Bus, write and install a interfaces via D-Bus, write and install a
D-Bus activation file for the service, see D-Bus activation file for the service, see
above for details.</p></li></ol></div></div><div class="refsect1"><a name="idm274684268656"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> above for details.</p></li></ol></div></div><div class="refsect1"><a name="idm214171757872"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>, <a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>,
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>, <a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>,

View File

@ -74,8 +74,8 @@
<orderedlist> <orderedlist>
<listitem><para>Close all open file <listitem><para>Close all open file
descriptors except STDIN, STDOUT, descriptors except standard input, output,
STDERR (i.e. the first three file and error (i.e. the first three file
descriptors 0, 1, 2). This ensures descriptors 0, 1, 2). This ensures
that no accidentally passed file that no accidentally passed file
descriptor stays around in the daemon descriptor stays around in the daemon
@ -128,8 +128,8 @@
<listitem><para>In the daemon process, <listitem><para>In the daemon process,
connect <filename>/dev/null</filename> connect <filename>/dev/null</filename>
to STDIN, STDOUT, to standard input, output, and error.
STDERR.</para></listitem> </para></listitem>
<listitem><para>In the daemon process, <listitem><para>In the daemon process,
reset the umask to 0, so that the file reset the umask to 0, so that the file
@ -149,7 +149,7 @@
write the daemon PID (as returned by write the daemon PID (as returned by
<function>getpid()</function>) to a <function>getpid()</function>) to a
PID file, for example PID file, for example
<filename>/var/run/foobar.pid</filename> <filename>/run/foobar.pid</filename>
(for a hypothetical daemon "foobar") (for a hypothetical daemon "foobar")
to ensure that the daemon cannot be to ensure that the daemon cannot be
started more than once. This must be started more than once. This must be
@ -158,9 +158,7 @@
it is verified at the same time that it is verified at the same time that
the PID previously stored in the PID the PID previously stored in the PID
file no longer exists or belongs to a file no longer exists or belongs to a
foreign process. Commonly, some kind of foreign process.</para></listitem>
file locking is employed to implement
this logic.</para></listitem>
<listitem><para>In the daemon process, <listitem><para>In the daemon process,
drop privileges, if possible and drop privileges, if possible and
@ -223,15 +221,16 @@
service.</para> service.</para>
<para>Note that new-style init systems <para>Note that new-style init systems
guarantee execution of daemon processes in guarantee execution of daemon processes in a
a clean process context: it is guaranteed that clean process context: it is guaranteed that
the environment block is sanitized, that the the environment block is sanitized, that the
signal handlers and mask is reset and that no signal handlers and mask is reset and that no
left-over file descriptors are passed. Daemons left-over file descriptors are passed. Daemons
will be executed in their own session, and will be executed in their own session, with
STDIN/STDOUT/STDERR connected to standard input/output/error connected to
<filename>/dev/null</filename> unless <filename>/dev/null</filename> unless
otherwise configured. The umask is reset.</para> otherwise configured. The umask is reset.
</para>
<para>It is recommended for new-style daemons <para>It is recommended for new-style daemons
to implement the following:</para> to implement the following:</para>
@ -251,7 +250,7 @@
detect service errors and problems. It detect service errors and problems. It
is recommended to follow the exit code is recommended to follow the exit code
scheme as defined in the <ulink scheme as defined in the <ulink
url="http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB
recommendations for SysV init recommendations for SysV init
scripts</ulink>.</para></listitem> scripts</ulink>.</para></listitem>
@ -324,7 +323,7 @@
<listitem><para>Instead of using the <listitem><para>Instead of using the
<function>syslog()</function> call to log directly to the <function>syslog()</function> call to log directly to the
system syslog service, a new-style daemon may system syslog service, a new-style daemon may
choose to simply log to STDERR via choose to simply log to standard error via
<function>fprintf()</function>, which is then forwarded to <function>fprintf()</function>, which is then forwarded to
syslog by the init system. If log syslog by the init system. If log
priorities are necessary, these can be priorities are necessary, these can be
@ -353,7 +352,7 @@
<para>These recommendations are similar but <para>These recommendations are similar but
not identical to the <ulink not identical to the <ulink
url="http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/LaunchOnDemandDaemons.html#//apple_ref/doc/uid/TP40001762-104738">Apple url="https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html">Apple
MacOS X Daemon Requirements</ulink>.</para> MacOS X Daemon Requirements</ulink>.</para>
</refsect2> </refsect2>
@ -394,7 +393,7 @@
exclusively on boot (and manually by the exclusively on boot (and manually by the
administrator) via SysV init scripts, as administrator) via SysV init scripts, as
detailed in the <ulink detailed in the <ulink
url="http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB
Linux Standard Base Core Linux Standard Base Core
Specification</ulink>. This method of Specification</ulink>. This method of
activation is supported ubiquitously on Linux activation is supported ubiquitously on Linux
@ -408,7 +407,7 @@
description files.</para> description files.</para>
<para>In systemd, if the developer or <para>In systemd, if the developer or
administrator wants to make sure a service or administrator wants to make sure that a service or
other unit is activated automatically on boot, other unit is activated automatically on boot,
it is recommended to place a symlink to the it is recommended to place a symlink to the
unit file in the <filename>.wants/</filename> unit file in the <filename>.wants/</filename>
@ -765,12 +764,19 @@
<programlisting>PKG_PROG_PKG_CONFIG <programlisting>PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir], AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) [with_systemdsystemunitdir=auto])
if test "x$with_systemdsystemunitdir" != xno; then AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])</programlisting> AS_IF([test "x$def_systemdsystemunitdir" = "x"],
[AS_IF([test "x$with_systemdsystemunitdir" = "xyes"],
[AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])])
with_systemdsystemunitdir=no],
[with_systemdsystemunitdir="$def_systemdsystemunitdir"])])
AS_IF([test "x$with_systemdsystemunitdir" != "xno"],
[AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])])
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"])</programlisting>
<para>This snippet allows automatic <para>This snippet allows automatic
installation of the unit files on systemd installation of the unit files on systemd

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "HALT" "8" "" "systemd 208" "halt" .TH "HALT" "8" "" "systemd 214" "halt"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
@ -40,7 +40,7 @@ The following options are understood:
.PP .PP
\fB\-\-help\fR \fB\-\-help\fR
.RS 4 .RS 4
Prints a short help text and exits\&. Print a short help text and exit\&.
.RE .RE
.PP .PP
\fB\-\-halt\fR \fB\-\-halt\fR
@ -79,7 +79,7 @@ Do not send wall message before halt, power\-off, reboot\&.
.RE .RE
.SH "EXIT STATUS" .SH "EXIT STATUS"
.PP .PP
On success 0 is returned, a non\-zero failure code otherwise\&. On success, 0 is returned, a non\-zero failure code otherwise\&.
.SH "NOTES" .SH "NOTES"
.PP .PP
These are legacy commands available for compatibility only\&. These are legacy commands available for compatibility only\&.

View File

@ -19,11 +19,11 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="halt"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>halt, poweroff, reboot — Halt, power-off or reboot the machine</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">halt [OPTIONS...]</code> </p></div><div class="cmdsynopsis"><p><code class="command">poweroff [OPTIONS...]</code> </p></div><div class="cmdsynopsis"><p><code class="command">reboot [OPTIONS...]</code> </p></div></div><div class="refsect1"><a name="idm274696062512"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><span class="command"><strong>halt</strong></span>, <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="halt"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>halt, poweroff, reboot — Halt, power-off or reboot the machine</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">halt [OPTIONS...]</code> </p></div><div class="cmdsynopsis"><p><code class="command">poweroff [OPTIONS...]</code> </p></div><div class="cmdsynopsis"><p><code class="command">reboot [OPTIONS...]</code> </p></div></div><div class="refsect1"><a name="idm214181158752"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p><span class="command"><strong>halt</strong></span>,
<span class="command"><strong>poweroff</strong></span>, <span class="command"><strong>reboot</strong></span> <span class="command"><strong>poweroff</strong></span>, <span class="command"><strong>reboot</strong></span>
may be used to halt, power-off or reboot the may be used to halt, power-off or reboot the
machine.</p></div><div class="refsect1"><a name="idm274696059360"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><p>The following options are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="--help"><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#--help"></a></dt><dd><p>Prints a short help machine.</p></div><div class="refsect1"><a name="idm214181155552"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><p>The following options are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="--help"><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#--help"></a></dt><dd><p><a name="help-text"></a>Print a short help text and exit.
text and exits.</p></dd><dt id="--halt"><span class="term"><code class="option">--halt</code></span><a class="headerlink" title="Permalink to this term" href="#--halt"></a></dt><dd><p>Halt the machine, </p></dd><dt id="--halt"><span class="term"><code class="option">--halt</code></span><a class="headerlink" title="Permalink to this term" href="#--halt"></a></dt><dd><p>Halt the machine,
regardless of which one of the three regardless of which one of the three
commands is invoked.</p></dd><dt id="-p"><span class="term"><code class="option">-p</code>, </span><span class="term"><code class="option">--poweroff</code></span><a class="headerlink" title="Permalink to this term" href="#-p"></a></dt><dd><p>Power-off the machine, commands is invoked.</p></dd><dt id="-p"><span class="term"><code class="option">-p</code>, </span><span class="term"><code class="option">--poweroff</code></span><a class="headerlink" title="Permalink to this term" href="#-p"></a></dt><dd><p>Power-off the machine,
regardless of which one of the three regardless of which one of the three
@ -36,9 +36,9 @@
power-off, reboot.</p></dd><dt id="-d"><span class="term"><code class="option">-d</code>, </span><span class="term"><code class="option">--no-wtmp</code></span><a class="headerlink" title="Permalink to this term" href="#-d"></a></dt><dd><p>Do not write wtmp power-off, reboot.</p></dd><dt id="-d"><span class="term"><code class="option">-d</code>, </span><span class="term"><code class="option">--no-wtmp</code></span><a class="headerlink" title="Permalink to this term" href="#-d"></a></dt><dd><p>Do not write wtmp
shutdown entry.</p></dd><dt id="--no-wall"><span class="term"><code class="option">--no-wall</code></span><a class="headerlink" title="Permalink to this term" href="#--no-wall"></a></dt><dd><p>Do not send wall shutdown entry.</p></dd><dt id="--no-wall"><span class="term"><code class="option">--no-wall</code></span><a class="headerlink" title="Permalink to this term" href="#--no-wall"></a></dt><dd><p>Do not send wall
message before message before
halt, power-off, reboot.</p></dd></dl></div></div><div class="refsect1"><a name="idm274696223392"></a><h2 id="Exit status">Exit status<a class="headerlink" title="Permalink to this headline" href="#Exit%20status"></a></h2><p>On success 0 is returned, a non-zero failure halt, power-off, reboot.</p></dd></dl></div></div><div class="refsect1"><a name="idm214185040240"></a><h2 id="Exit status">Exit status<a class="headerlink" title="Permalink to this headline" href="#Exit%20status"></a></h2><p>On success, 0 is returned, a non-zero failure
code otherwise.</p></div><div class="refsect1"><a name="idm274696222208"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These are legacy commands available for code otherwise.</p></div><div class="refsect1"><a name="idm214185039056"></a><h2 id="Notes">Notes<a class="headerlink" title="Permalink to this headline" href="#Notes"></a></h2><p>These are legacy commands available for
compatibility only.</p></div><div class="refsect1"><a name="idm274696221024"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> compatibility only.</p></div><div class="refsect1"><a name="idm214185037776"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>, <a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>,
<a href="shutdown.html"><span class="citerefentry"><span class="refentrytitle">shutdown</span>(8)</span></a>, <a href="shutdown.html"><span class="citerefentry"><span class="refentrytitle">shutdown</span>(8)</span></a>,

View File

@ -21,7 +21,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="halt"> <refentry id="halt"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo> <refentryinfo>
<title>halt</title> <title>halt</title>
@ -80,8 +81,7 @@
<varlistentry> <varlistentry>
<term><option>--help</option></term> <term><option>--help</option></term>
<listitem><para>Prints a short help <xi:include href="standard-options.xml" xpointer="help-text" />
text and exits.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -148,7 +148,7 @@
<refsect1> <refsect1>
<title>Exit status</title> <title>Exit status</title>
<para>On success 0 is returned, a non-zero failure <para>On success, 0 is returned, a non-zero failure
code otherwise.</para> code otherwise.</para>
</refsect1> </refsect1>

View File

@ -1,5 +1,5 @@
'\" t '\" t
.TH "HOSTNAME" "5" "" "systemd 208" "hostname" .TH "HOSTNAME" "5" "" "systemd 214" "hostname"
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------
.\" * Define some portability stuff .\" * Define some portability stuff
.\" ----------------------------------------------------------------- .\" -----------------------------------------------------------------

View File

@ -19,7 +19,7 @@
<a href="systemd.directives.html">Directives </a>· <a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>· <a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>· <a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 208</span><hr><div class="refentry"><a name="hostname"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>hostname — Local hostname configuration file</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/hostname</code></p></div><div class="refsect1"><a name="idm274691741120"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>The <code class="filename">/etc/hostname</code> file <a href="../libudev/index.html">gudev </a><span style="float:right">systemd 214</span><hr><div class="refentry"><a name="hostname"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>hostname — Local hostname configuration file</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename">/etc/hostname</code></p></div><div class="refsect1"><a name="idm214180664576"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>The <code class="filename">/etc/hostname</code> file
configures the name of the local system that is set configures the name of the local system that is set
during boot using the during boot using the
<a href="sethostname.html"><span class="citerefentry"><span class="refentrytitle">sethostname</span>(2)</span></a> <a href="sethostname.html"><span class="citerefentry"><span class="refentrytitle">sethostname</span>(2)</span></a>
@ -35,9 +35,9 @@
of the hostname as well, however only as fallback.</p><p>You may use of the hostname as well, however only as fallback.</p><p>You may use
<a href="hostnamectl.html"><span class="citerefentry"><span class="refentrytitle">hostnamectl</span>(1)</span></a> <a href="hostnamectl.html"><span class="citerefentry"><span class="refentrytitle">hostnamectl</span>(1)</span></a>
to change the value of this file from the command to change the value of this file from the command
line.</p></div><div class="refsect1"><a name="idm274694569968"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p>The simple configuration file format of line.</p></div><div class="refsect1"><a name="idm214180659472"></a><h2 id="History">History<a class="headerlink" title="Permalink to this headline" href="#History"></a></h2><p>The simple configuration file format of
<code class="filename">/etc/hostname</code> originates from <code class="filename">/etc/hostname</code> originates from
Debian GNU/Linux.</p></div><div class="refsect1"><a name="idm274694568096"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p> Debian GNU/Linux.</p></div><div class="refsect1"><a name="idm214180657712"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>, <a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
<a href="sethostname.html"><span class="citerefentry"><span class="refentrytitle">sethostname</span>(2)</span></a>, <a href="sethostname.html"><span class="citerefentry"><span class="refentrytitle">sethostname</span>(2)</span></a>,
<a href="hostname.html"><span class="citerefentry"><span class="refentrytitle">hostname</span>(1)</span></a>, <a href="hostname.html"><span class="citerefentry"><span class="refentrytitle">hostname</span>(1)</span></a>,

Some files were not shown because too many files have changed in this diff Show More