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:
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
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
upstream defaults. If that's not possible please maintain the
relevant patches downstream.
upstream defaults. If that is not possible, please maintain
the relevant patches downstream.
Thank you for understanding.

View File

@ -1,8 +1,15 @@
# 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 += \
man/bootup.7 \
man/busctl.1 \
man/daemon.7 \
man/halt.8 \
man/hostname.5 \
@ -40,6 +47,7 @@ MANPAGES += \
man/sd_journal_stream_fd.3 \
man/sd_listen_fds.3 \
man/sd_notify.3 \
man/sd_watchdog_enabled.3 \
man/shutdown.8 \
man/sysctl.d.5 \
man/systemctl.1 \
@ -68,6 +76,7 @@ MANPAGES += \
man/systemd-run.1 \
man/systemd-shutdownd.service.8 \
man/systemd-sleep.conf.5 \
man/systemd-socket-proxyd.8 \
man/systemd-suspend.service.8 \
man/systemd-sysctl.service.8 \
man/systemd-system-update-generator.8 \
@ -82,6 +91,7 @@ MANPAGES += \
man/systemd.exec.5 \
man/systemd.journal-fields.7 \
man/systemd.kill.5 \
man/systemd.link.5 \
man/systemd.mount.5 \
man/systemd.path.5 \
man/systemd.preset.5 \
@ -138,6 +148,7 @@ MANPAGES_ALIAS += \
man/sd_is_socket.3 \
man/sd_is_socket_inet.3 \
man/sd_is_socket_unix.3 \
man/sd_is_special.3 \
man/sd_journal.3 \
man/sd_journal_add_conjunction.3 \
man/sd_journal_add_disjunction.3 \
@ -152,6 +163,7 @@ MANPAGES_ALIAS += \
man/sd_journal_get_monotonic_usec.3 \
man/sd_journal_get_timeout.3 \
man/sd_journal_next_skip.3 \
man/sd_journal_open_container.3 \
man/sd_journal_open_directory.3 \
man/sd_journal_open_files.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_inet.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_add_conjunction.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_timeout.3: man/sd_journal_get_fd.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_files.3: man/sd_journal_open.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
$(html-alias)
man/sd_is_special.html: man/sd_is_fifo.html
$(html-alias)
man/sd_journal.html: man/sd_journal_open.html
$(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
$(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
$(html-alias)
@ -643,6 +663,15 @@ MANPAGES_ALIAS += \
#
endif
if ENABLE_EFI
MANPAGES += \
man/bootctl.1
MANPAGES_ALIAS += \
#
endif
if ENABLE_HOSTNAMED
@ -657,6 +686,345 @@ man/systemd-hostnamed.html: man/systemd-hostnamed.service.html
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
MANPAGES += \
man/localectl.1 \
@ -694,6 +1062,25 @@ man/systemd-machined.html: man/systemd-machined.service.html
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
MANPAGES += \
man/systemd-quotacheck.service.8
@ -744,6 +1131,29 @@ man/systemd-readahead.html: man/systemd-readahead-replay.service.html
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
MANPAGES += \
man/systemd-timedated.service.8 \
@ -756,6 +1166,17 @@ man/systemd-timedated.html: man/systemd-timedated.service.html
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
MANPAGES += \
man/systemd-vconsole-setup.service.8 \
@ -795,7 +1216,8 @@ endif
if HAVE_MICROHTTPD
MANPAGES += \
man/systemd-journal-gatewayd.service.8
man/systemd-journal-gatewayd.service.8 \
man/systemd-journal-remote.8
MANPAGES_ALIAS += \
man/systemd-journal-gatewayd.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_timeout.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_owner_uid.3 \
man/sd_pid_get_slice.3 \
man/sd_pid_get_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_tty.3 \
man/sd_seat_get_sessions.3 \
man/sd_session_get_class.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_service.3 \
man/sd_session_get_state.3 \
@ -855,6 +1287,8 @@ MANPAGES_ALIAS += \
man/sd_session_get_type.3 \
man/sd_session_get_uid.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_sessions.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_timeout.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_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_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_tty.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_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_service.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_uid.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_sessions.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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(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
$(html-alias)
@ -986,3 +1468,185 @@ MANPAGES_ALIAS += \
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:
LGPLv2.1+ for all code
- except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
- except src/shared/MurmurHash3.c which is Public Domain
- except sd-readahead.[ch] which is MIT
- 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/udev/* which is (currently still) GPLv2, GPLv2+
REQUIREMENTS:
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_CGROUPS (it's OK to disable all controllers)
CONFIG_CGROUPS (it is OK to disable all controllers)
CONFIG_INOTIFY_USER
CONFIG_SIGNALFD
CONFIG_TIMERFD
CONFIG_EPOLL
CONFIG_NET
CONFIG_SYSFS
Linux kernel >= 3.8 for Smack support
CONFIG_PROC_FS
CONFIG_FHANDLE (libudev, mount and bind mount handling)
Udev will fail to work with the legacy layout:
CONFIG_SYSFS_DEPRECATED=n
@ -61,13 +66,13 @@ REQUIREMENTS:
Some udev rules and virtualization detection relies on it:
CONFIG_DMIID
Mount and bind mount handling might require it:
CONFIG_FHANDLE
Support for some SCSI devices serial number retrieval, to
create additional symlinks in /dev/disk/ and /dev/tape:
CONFIG_BLK_DEV_BSG
Required for PrivateNetwork in service units:
CONFIG_NET_NS
Optional but strongly recommended:
CONFIG_IPV6
CONFIG_AUTOFS4_FS
@ -75,27 +80,37 @@ REQUIREMENTS:
CONFIG_TMPFS_XATTR
CONFIG_SECCOMP
For systemd-bootchart a kernel with procfs support and several
proc output options enabled is required:
CONFIG_PROC_FS
Required for CPUShares in resource control unit settings
CONFIG_CGROUP_SCHED
CONFIG_FAIR_GROUP_SCHED
For systemd-bootchart, several proc debug interfaces are required:
CONFIG_SCHEDSTATS
CONFIG_SCHED_DEBUG
For UEFI systems:
CONFIG_EFI_VARS
CONFIG_EFIVAR_FS
CONFIG_EFI_PARTITION
Note that kernel auditing is broken when used with systemd's
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
turn it off at kernel compile time using:
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
libseccomp >= 1.0.0 (optional)
libblkid >= 2.20 (from util-linux) (optional)
libkmod >= 14 (optional)
libkmod >= 15 (optional)
PAM >= 1.1.2 (optional)
libcryptsetup (optional)
libaudit (optional)
@ -103,21 +118,25 @@ REQUIREMENTS:
libattr (optional)
libselinux (optional)
liblzma (optional)
tcpwrappers (optional)
libgcrypt (optional)
libqrencode (optional)
libmicrohttpd (optional)
libpython (optional)
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)
sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended)
util-linux >= v2.19 (requires fsck -l, agetty -s),
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)
PolicyKit (optional)
When building from git you need the following additional dependencies:
When building from git, you need the following additional
dependencies:
docbook-xsl
xsltproc
@ -128,20 +147,15 @@ REQUIREMENTS:
gperf
gtkdocize (optional)
python (optional)
python-lxml (optional, but required to build the indices)
sphinx (optional)
python-lxml (entirely optional)
When systemd-hostnamed is used it is strongly recommended to
install nss-myhostname to ensure that in a world of
dynamically changing hostnames the hostname stays resolvable
When systemd-hostnamed is used, it is strongly recommended to
install nss-myhostname to ensure that, in a world of
dynamically changing hostnames, the hostname stays resolvable
under all circumstances. In fact, systemd-hostnamed will warn
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,
please first install systemd (using 'make install'), and then
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
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
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.
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
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:
systemd will warn you during boot if /etc/mtab is not 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
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
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 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
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
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken

584
TODO
View File

@ -1,218 +1,212 @@
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:
$ systemctl enable 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
automount points even when the original .automount file did not exist
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.
* 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:
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
* localed:
- localectl: support new converted x11→console keymaps
* when installing fedora with yum --installroot /var/run is a directory, not a symlink
External:
* Fedora: when installing fedora with yum --installroot /var/run is a directory, not a symlink
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: 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
only remove the instance symlink (systemctl disable of a template
unit however should remove them all).
* machined/machinectl: sort IP addresses we return by scope and protocol
* machined: write NSS module for looking up IP addresses for machines
* 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
full, make sure to write how many messages are lost as first thing
to syslog when it works again.
* a way for container managers to turn off getty starting via $container_headless= or so...
* 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.
* 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
ReadOnlyDirectories=... for whitelisting files for a service.
* libsystemd-bus:
- default policy (allow uid == 0 and our own uid)
- enforce alignment of pointers passed in
- when kdbus doesn't take our message without memfds, try again with memfds
- implement translator service
- port systemd to new library
- implement busname unit type in systemd
- move to gvariant
- merge busctl into systemctl or so?
- synthesize sd_bus_message objects from kernel messages
- properly implement name registry ioctls for kdbus
- get rid of object hash table, use decision tree everyhwere instead?
- implement monitor logic
- object vtable logic
- longer term:
* priority queues
* priority inheritance
* sd-bus:
- when kdbus does not take our message without memfds, try again with memfds
- systemd-bus-proxyd needs to enforce good old XML policy
- allow updating attach flags during runtime
- pid1: peek into activating message when activating a service
- introduce sd_bus_emit_object_added()/sd_bus_emit_object_removed() that automatically includes the build-in interfaces in the list
- port to sd-resolve for connecting to TCP dbus servers
- see if we can drop more message validation on the sending side
- add API to clone sd_bus_message objects
- make AddMatch calls on dbus1 transports async?
- kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
- longer term: priority inheritance
- dbus spec updates:
- kdbus mapping
- NameLost/NameAcquired obsolete
- GVariant
- "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
complain loudly if they have argv[0][0] == '@' set.
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
* 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.
* 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 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...
* 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
* test/:
- add 'set -e' to scripts in test/
- 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).
@ -237,86 +230,49 @@ Features:
file.
* 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
destination.
* when isolating, try to figure out a way how we implicitly can order
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})
* 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
need manual exponential loops after all
* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the
kernel has to be in $BOOT. Clarify that the boot loader should be
installed to the ESP. Define a way how an installer can figure out
whether a BLS compliant boot loader is installed.
* man: remove .include documentation, and instead push people to use .d/*.conf
* BootLoaderSpec: Clarify that the kernel has to be in $BOOT. Clarify
that the boot loader should be installed to the ESP. Define a way
how an installer can figure out whether a BLS compliant boot loader
is installed.
* think about requeuing jobs when daemon-reload is issued? usecase:
the initrd issues a reload after fstab from the host is accessible
and we might want to requeue the mounts local-fs acquired through
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()
* 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
* 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
* remove any syslog support from log.c -- we probably cannot do this before split-off udev is gone for good
* 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
* 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
* 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()
* introduce ExecCondition= in services
* 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 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
@ -338,25 +294,24 @@ Features:
- logind: wakelock/opportunistic suspend support
- Add pretty name for seats in logind
- 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
- 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.
* service: watchdog logic: for testing purposes allow ping, but do not require pong
* 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
- 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
- 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
- journal: reuse XZ context
- 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
- journactl: support negative filtering, i.e. FOOBAR!="waldo",
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.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
@ -380,22 +334,36 @@ Features:
- refuse taking lower-case variable names in sd_journal_send() and friends.
- journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
- 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: 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
- 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 unit_name_mangle()
- document that deps in [Unit] sections ignore Alias= fileds in
- document that deps in [Unit] sections ignore Alias= fields in
[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
- 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 that service reload may be implemented as service reexec
- 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 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
- 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: 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
- 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"
- 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
* timer units:
- configurable jitter for timer events
- timer events with system resume
- timer units should get the ability to trigger when:
o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
o DST changes
- 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
@ -433,10 +411,6 @@ Features:
mode, it will never touch the RTC if the no reliable time source is active or the
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
the message for coredumps. After all, libunwind is now capable to
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
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
* 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: don't delete initrd on switch-root
* fedup: do not delete initrd on switch-root
* 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
* 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
* 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
- superset of tmpfiles model
- 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
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, ...
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
* refuse boot if /etc/machine-id is not useful (or set taint?)
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
* 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
- nspawn: investigate whether we can support the same as LXC's
lxc.network.type=phys mode, and pass through entire network
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
- refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK).
- support taking a btrfs snapshot at startup and dropping it afterwards
* cryptsetup:
- cryptsetup-generator: allow specification of passwords in crypttab itself
@ -500,8 +457,6 @@ Features:
https://bugs.freedesktop.org/show_bug.cgi?id=54982
- 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
https://bugs.freedesktop.org/show_bug.cgi?id=54712
@ -524,21 +479,15 @@ Features:
* 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.
* ReadOnlyDirectories= is not applied recursively to submounts
* drop PID 1 reloading, only do reexecing (difficult: Reload()
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
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.
* use opterr = 0 for all getopt tools
* properly handle loop back mounts via fstab, especially regards to fsck/passno
* allow services with no ExecStart= but with an ExecStop=
@ -549,17 +498,8 @@ Features:
* 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
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
@ -567,8 +507,6 @@ Features:
* 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:
- set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_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
- 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
* udev:
@ -589,17 +525,12 @@ Features:
- move to LGPL
- kill scsi_id
- add trigger --subsystem-match=usb/usb_device device
* cleanup syslog 'priority' vs. 'level' wording
- reimport udev db after MOVE events for devices without dev_t
* 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
* 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)
* 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)
* 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
needs to be auto-respawned?
* 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.
@ -643,8 +576,6 @@ Features:
when we start a service in order to avoid confusion when a user
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
the kernel cmdline. Right now setting one resets also the other.
@ -696,19 +627,8 @@ Features:
* 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
* io priority during initialization
* drop cap bounding set in readahead and other services
* systemd-python:
@ -722,17 +642,43 @@ Features:
- document initcall_debug
- 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:
* dbus:
- dbus --user
- 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
* 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?
* 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"
* 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
@ -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
* register catalog database signature as file magic
Regularly:
* 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
* %m in printf() instead of strerror(errno);
* 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

84
aclocal.m4 vendored
View File

@ -474,6 +474,21 @@ m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) 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.
#
# This file is free software; the Free Software Foundation
@ -1050,6 +1065,42 @@ fi
rmdir .tst 2>/dev/null
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 -*-
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
@ -1100,38 +1151,6 @@ AC_MSG_RESULT([$_am_result])
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 -*-
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
@ -1775,7 +1794,6 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/acx_libwrap.m4])
m4_include([m4/attributes.m4])
m4_include([m4/gtk-doc.m4])
m4_include([m4/intltool.m4])

135
build-aux/config.guess vendored
View File

@ -1,8 +1,10 @@
#! /bin/sh
# 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
# under the terms of the GNU General Public License as published by
@ -50,7 +52,9 @@ version="\
GNU config.guess ($timestamp)
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
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_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.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@ -874,21 +857,21 @@ EOF
exit ;;
*:GNU:*:*)
# 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 ;;
*:GNU/*:*:*)
# 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 ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@ -901,54 +884,59 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
else
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
hexagon:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
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 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
@ -967,63 +955,54 @@ EOF
#endif
EOF
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:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
padre:Linux:*:*)
echo sparc-unknown-linux-${LIBC}
echo sparc-unknown-linux-gnu
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-${LIBC}
echo hppa64-unknown-linux-gnu
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
*) echo hppa-unknown-linux-${LIBC} ;;
PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-${LIBC}
echo powerpc64-unknown-linux-gnu
exit ;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-${LIBC}
exit ;;
ppc64le:Linux:*:*)
echo powerpc64le-unknown-linux-${LIBC}
exit ;;
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
echo powerpc-unknown-linux-gnu
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
tile*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@ -1256,21 +1235,19 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
i386)
eval $set_cc_for_build
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
i386) UNAME_PROCESSOR=x86_64 ;;
powerpc) UNAME_PROCESSOR=powerpc64 ;;
UNAME_PROCESSOR="x86_64"
fi
fi ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
fi
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)

30
build-aux/config.sub vendored
View File

@ -1,8 +1,10 @@
#! /bin/sh
# 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
# 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="\
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
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] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arceb \
| arc \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
| be32 | be64 \
@ -286,17 +290,16 @@ case $basic_machine in
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| nios | nios2 \
| ns16k | ns32k \
| open8 \
| or1k | or32 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
@ -366,7 +369,7 @@ case $basic_machine in
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
@ -404,13 +407,12 @@ case $basic_machine in
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
| orion-* \
@ -1352,7 +1354,7 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
@ -1498,6 +1500,9 @@ case $os in
-aros*)
os=-aros
;;
-kaos*)
os=-kaos
;;
-zvmoe)
os=-zvmoe
;;
@ -1589,9 +1594,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
or1k-*)
os=-elf
;;
or32-*)
os=-coff
;;

View File

@ -204,7 +204,6 @@ Unit @UNIT@ has begun shutting down.
Subject: Unit @UNIT@ has finished shutting down
Defined-By: systemd
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.
@ -212,7 +211,6 @@ Unit @UNIT@ has finished shutting down.
Subject: Unit @UNIT@ has failed
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@
Unit @UNIT@ has failed.
@ -222,7 +220,6 @@ The result is @RESULT@.
Subject: Unit @UNIT@ has begun with reloading its configuration
Defined-By: systemd
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
@ -230,7 +227,6 @@ Unit @UNIT@ has begun with reloading its configuration
Subject: Unit @UNIT@ has finished reloading its configuration
Defined-By: systemd
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
@ -240,7 +236,6 @@ The result is @RESULT@.
Subject: Process @EXECUTABLE@ could not be executed
Defined-By: systemd
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.
@ -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
Defined-By: systemd
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
running side-by-side with journald. This usually indicates that the
@ -261,7 +255,6 @@ messages queued.
Subject: Mount point is not empty
Defined-By: systemd
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
/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
Defined-By: systemd
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
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
Defined-By: systemd
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
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. */
#undef CANONICAL_HOST
/* Default DNS Servers */
#undef DNS_SERVERS
/* Define if EFI support is to be enabled */
#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 */
#undef ENABLE_POLKIT
@ -18,12 +27,12 @@
/* Define to 1 if you have the <acl/libacl.h> header file. */
#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. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <attr/xattr.h> header file. */
#undef HAVE_ATTR_XATTR_H
/* AUDIT available */
#undef HAVE_AUDIT
@ -33,10 +42,17 @@
/* Define if CHKCONFIG is available */
#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.
*/
#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
you don't. */
#undef HAVE_DECL_NAME_TO_HANDLE_AT
@ -45,6 +61,10 @@
don't. */
#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. */
#undef HAVE_DLFCN_H
@ -75,6 +95,9 @@
/* Define if glib is available */
#undef HAVE_GLIB
/* Define if gnutls is available */
#undef HAVE_GNUTLS
/* Define if IMA is available */
#undef HAVE_IMA
@ -93,9 +116,6 @@
/* Define if libcryptsetup is available */
#undef HAVE_LIBCRYPTSETUP
/* Have tcpwrap? */
#undef HAVE_LIBWRAP
/* Define to 1 if you have the <linux/btrfs.h> header file. */
#undef HAVE_LINUX_BTRFS_H
@ -133,6 +153,9 @@
/* Define if qrencode is available */
#undef HAVE_QRENCODE
/* Define if seccomp is available */
#undef HAVE_SECCOMP
/* Define to 1 if you have the `secure_getenv' function. */
#undef HAVE_SECURE_GETENV
@ -226,8 +249,8 @@
/* Define to 1 if you have the <valgrind/memcheck.h> header file. */
#undef HAVE_VALGRIND_MEMCHECK_H
/* XATTR available */
#undef HAVE_XATTR
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
#undef HAVE_VALGRIND_VALGRIND_H
/* Define if XZ is available */
#undef HAVE_XZ
@ -245,8 +268,8 @@
*/
#undef LT_OBJDIR
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Default NTP Servers */
#undef NTP_SERVERS
/* Name of package */
#undef PACKAGE
@ -284,12 +307,39 @@
/* Define to the type of arg 5 for `select'. */
#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. */
#undef STDC_HEADERS
/* Maximum System GID */
#undef SYSTEM_GID_MAX
/* Maximum System UID */
#undef SYSTEM_UID_MAX
/* Path to telinit */
#undef TELINIT
/* Time Epoch */
#undef TIME_EPOCH
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#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_INIT([systemd],
[208],
[214],
[http://bugs.freedesktop.org/enter_bug.cgi?product=systemd],
[systemd],
[http://www.freedesktop.org/wiki/Software/systemd])
@ -33,7 +33,8 @@ AC_CONFIG_AUX_DIR([build-aux])
AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
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])
AC_CANONICAL_HOST
AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
@ -59,24 +60,23 @@ AC_PROG_SED
AC_PROG_GREP
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CC_C99
AM_PROG_CC_C_O
AC_PROG_GCC_TRADITIONAL
AC_PATH_PROG([M4], [m4])
AC_PATH_PROG([XSLTPROC], [xsltproc])
AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon])
AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck])
AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon], [$PATH:/usr/sbin:/sbin])
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
m4_ifdef([GTK_DOC_CHECK], [
@ -94,7 +94,6 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
enable_introspection=no])
AC_CHECK_TOOL(OBJCOPY, objcopy)
AC_CHECK_TOOL(STRINGS, strings)
AC_CHECK_TOOL(GPERF, gperf)
if test -z "$GPERF" ; then
@ -115,6 +114,23 @@ AS_IF([test "x$enable_address_sanitizer" = "xyes"], [
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], [\
-pipe \
-Wall \
@ -130,6 +146,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Winit-self \
-Wdeclaration-after-statement \
-Wfloat-equal \
-Wsuggest-attribute=noreturn \
-Wmissing-prototypes \
-Wstrict-prototypes \
-Wredundant-decls \
@ -137,7 +154,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Wmissing-noreturn \
-Wshadow \
-Wendif-labels \
-Wcast-align \
-Wstrict-aliasing=2 \
-Wwrite-strings \
-Wno-long-long \
@ -146,6 +162,8 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Wno-missing-field-initializers \
-Wno-unused-result \
-Werror=overflow \
-Wdate-time \
-Wnested-externs \
-ffast-math \
-fno-common \
-fdiagnostics-show-option \
@ -155,22 +173,39 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-ffunction-sections \
-fdata-sections \
-fstack-protector \
-fstack-protector-strong \
-fPIE \
--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], [\
-Wp,-D_FORTIFY_SOURCE=2])],
[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], [\
-Wl,--as-needed \
-Wl,--no-undefined \
-Wl,--gc-sections \
-Wl,-z,relro \
-Wl,-z,now])
AC_SUBST([OUR_LDFLAGS], "$with_ldflags $address_sanitizer_ldflags")
-Wl,-z,now \
-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
@ -178,9 +213,11 @@ have_python=no
AC_ARG_WITH([python],
[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"], [
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"])
AS_IF([test "x$PYTHON_BINARY" = "x"],
@ -229,16 +266,37 @@ LIBS="$save_LIBS"
AC_CHECK_FUNCS([fanotify_init fanotify_mark])
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 <sys/mount.h>
#include <fcntl.h>]])
#include <fcntl.h>
#include <sched.h>
#include <linux/loop.h>]])
# This makes sure pkg.m4 is available.
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
@ -269,9 +327,9 @@ AC_ARG_ENABLE(kmod, AS_HELP_STRING([--disable-kmod], [disable loadable modules s
if test "x$enable_kmod" != "xno"; then
PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no)
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_MSG_ERROR([*** kmod version >= 14 not found]))
AC_MSG_ERROR([*** kmod version >= 15 not found]))
fi
if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then
AC_MSG_ERROR([*** kmod support requested, but libraries not found])
@ -291,6 +349,21 @@ if test "x$enable_blkid" != "xno"; then
fi
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
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]))
if test "x$enable_selinux" != "xno"; then
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
AC_MSG_ERROR([*** SELinux support requested but libraries not found])
fi
fi
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,
AS_HELP_STRING([--with-debug-shell=PATH],
[Path to debug shell binary]),
@ -364,31 +455,6 @@ if test "x$enable_xz" != "xno"; then
fi
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],
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
PAM_LIBS="-lpam -lpam_misc"
AC_DEFINE(HAVE_PAM, 1, [PAM available])
M4_DEFINES="$M4_DEFINES -DHAVE_PAM"
else
have_pam=no
fi
@ -465,44 +532,6 @@ fi
AC_SUBST(ACL_LIBS)
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]),
[case "${enableval}" in
@ -512,18 +541,17 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK
esac],
[have_smack=auto])
if test "x${have_xattr}" = xno; then
if test "x${have_smack}" = xyes; then
AC_MSG_ERROR(SMACK requires xattr support)
else
have_smack=no
fi
else
if test "x${have_smack}" = xauto; then
if test "x${have_smack}" = xauto; then
M4_DEFINES="$M4_DEFINES -DHAVE_SMACK"
have_smack=yes
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
AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available])
fi
@ -626,7 +654,7 @@ AM_CONDITIONAL(HAVE_QRENCODE, [test "$have_qrencode" = "yes"])
have_microhttpd=no
AC_ARG_ENABLE(microhttpd, AS_HELP_STRING([--disable-microhttpd], [disable microhttpd support]))
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)
if test "x$have_microhttpd" = xno -a "x$enable_microhttpd" = xyes; then
AC_MSG_ERROR([*** microhttpd support requested but libraries not found])
@ -634,6 +662,18 @@ if test "x$enable_microhttpd" != "xno"; then
fi
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
AC_ARG_ENABLE(binfmt, AS_HELP_STRING([--disable-binfmt], [disable binfmt tool]))
@ -698,6 +738,14 @@ if test "x$enable_backlight" != "xno"; then
fi
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
AC_ARG_ENABLE(logind, AS_HELP_STRING([--disable-logind], [disable login daemon]))
@ -732,6 +780,51 @@ if test "x$enable_timedated" != "xno"; then
fi
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
AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon]))
@ -757,6 +850,32 @@ if test "x$enable_polkit" != "xno"; then
fi
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
AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support]))
@ -766,6 +885,24 @@ if test "x$enable_efi" != "xno"; then
fi
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,
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_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h valgrind/valgrind.h])
# ------------------------------------------------------------------------------
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
AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages]))
AS_IF([test "x$enable_manpages" != xno], [
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])
])
AS_IF([test "x$enable_manpages" != xno], [have_manpages=yes])
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
SYSTEM_SYSVINIT_PATH=/etc/init.d
SYSTEM_SYSVRCND_PATH=/etc/rc.d
M4_DEFINES=
AC_ARG_WITH([sysvinit-path],
[AS_HELP_STRING([--with-sysvinit-path=PATH],
@ -1015,19 +1146,20 @@ AC_MSG_RESULT([
$PACKAGE_NAME $VERSION
libcryptsetup: ${have_libcryptsetup}
tcpwrap: ${have_tcpwrap}
PAM: ${have_pam}
AUDIT: ${have_audit}
IMA: ${have_ima}
AppArmor: ${have_apparmor}
SELinux: ${have_selinux}
SECCOMP: ${have_seccomp}
SMACK: ${have_smack}
XZ: ${have_xz}
ACL: ${have_acl}
XATTR: ${have_xattr}
GCRYPT: ${have_gcrypt}
QRENCODE: ${have_qrencode}
MICROHTTPD: ${have_microhttpd}
CHKCONFIG: ${have_chkconfig}
GNUTLS: ${have_gnutls}
binfmt: ${have_binfmt}
vconsole: ${have_vconsole}
readahead: ${have_readahead}
@ -1036,19 +1168,29 @@ AC_MSG_RESULT([
tmpfiles: ${have_tmpfiles}
randomseed: ${have_randomseed}
backlight: ${have_backlight}
rfkill: ${have_rfkill}
logind: ${have_logind}
machined: ${have_machined}
hostnamed: ${have_hostnamed}
timedated: ${have_timedated}
timesyncd: ${have_timesyncd}
default NTP servers: ${NTP_SERVERS}
time epoch: ${TIME_EPOCH}
localed: ${have_localed}
networkd: ${have_networkd}
resolved: ${have_resolved}
default DNS servers: ${DNS_SERVERS}
coredump: ${have_coredump}
polkit: ${have_polkit}
efi: ${have_efi}
kmod: ${have_kmod}
blkid: ${have_blkid}
dbus: ${have_dbus}
nss-myhostname: ${have_myhostname}
gudev: ${enable_gudev}
gintrospection: ${enable_introspection}
multi-seat-x: ${have_multi_seat_x}
kdbus: ${have_kdbus}
Python: ${have_python}
Python Headers: ${have_python_devel}
man pages: ${have_manpages}
@ -1056,6 +1198,7 @@ AC_MSG_RESULT([
test coverage: ${have_coverage}
Split /usr: ${enable_split_usr}
SysV compatibility: ${SYSTEM_SYSV_COMPAT}
compatibility libraries: ${have_compat_libs}
prefix: ${prefix}
rootprefix: ${with_rootprefix}
@ -1082,6 +1225,8 @@ AC_MSG_RESULT([
Extra start script: ${RC_LOCAL_SCRIPT_PATH_START}
Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP}
Debug shell: ${SUSHELL} @ ${DEBUGTTY}
Maximum System UID: ${SYSTEM_UID_MAX}
Maximum System GID: ${SYSTEM_GID_MAX}
CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
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
subdir = docs/gudev
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_libwrap.m4 \
$(top_srcdir)/m4/attributes.m4 $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \
$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@ -125,6 +124,8 @@ ACL_LIBS = @ACL_LIBS@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPARMOR_CFLAGS = @APPARMOR_CFLAGS@
APPARMOR_LIBS = @APPARMOR_LIBS@
AR = @AR@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
@ -148,6 +149,7 @@ DEBUGTTY = @DEBUGTTY@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DNS_SERVERS = @DNS_SERVERS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
@ -163,6 +165,8 @@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
GNUTLS_LIBS = @GNUTLS_LIBS@
GPERF = @GPERF@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
@ -209,12 +213,12 @@ LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBWRAP_LIBS = @LIBWRAP_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
M4 = @M4@
M4_DEFINES = @M4_DEFINES@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MICROHTTPD_CFLAGS = @MICROHTTPD_CFLAGS@
@ -224,7 +228,7 @@ MSGFMT = @MSGFMT@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJCOPY = @OBJCOPY@
NTP_SERVERS = @NTP_SERVERS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
@ -260,22 +264,24 @@ RANLIB = @RANLIB@
RC_LOCAL_SCRIPT_PATH_START = @RC_LOCAL_SCRIPT_PATH_START@
RC_LOCAL_SCRIPT_PATH_STOP = @RC_LOCAL_SCRIPT_PATH_STOP@
RT_LIBS = @RT_LIBS@
SECCOMP_CFLAGS = @SECCOMP_CFLAGS@
SECCOMP_LIBS = @SECCOMP_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SETCAP = @SETCAP@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SPHINX_BUILD = @SPHINX_BUILD@
STRINGS = @STRINGS@
STRIP = @STRIP@
SUSHELL = @SUSHELL@
SYSTEM_GID_MAX = @SYSTEM_GID_MAX@
SYSTEM_SYSVINIT_PATH = @SYSTEM_SYSVINIT_PATH@
SYSTEM_SYSVRCND_PATH = @SYSTEM_SYSVRCND_PATH@
SYSTEM_UID_MAX = @SYSTEM_UID_MAX@
TELINIT = @TELINIT@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XATTR_LIBS = @XATTR_LIBS@
XGETTEXT = @XGETTEXT@
XSLTPROC = @XSLTPROC@
XZ_CFLAGS = @XZ_CFLAGS@
@ -517,7 +523,7 @@ GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
all: all-am
.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 \
case '$(am__configure_deps)' in \
*$$dep*) \
@ -543,9 +549,9 @@ $(top_srcdir)/docs/gtk-doc.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
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
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
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_boolean
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_as_int
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>
<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>
</tr>
</tbody>
@ -293,7 +296,8 @@ Looks up a device for a type and device number.
</tr>
<tr>
<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>
</tr>
</tbody>
@ -323,7 +327,8 @@ Looks up a device for a device file.
</tr>
<tr>
<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>
</tr>
</tbody>
@ -353,7 +358,8 @@ Looks up a device for a sysfs path.
</tr>
<tr>
<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>
</tr>
</tbody>
@ -389,7 +395,8 @@ Looks up a device for a subsystem and name.
</tr>
<tr>
<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>
</tr>
</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>
(<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> * 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>,
<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>,
@ -142,6 +145,8 @@ To access udev properties for the device, use
</p>
<p>
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-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>,
@ -331,7 +336,9 @@ Gets the name of the driver used for <em class="parameter"><code>device</code></
</tr>
<tr>
<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>
</tbody>
</table></div>
@ -451,8 +458,9 @@ Gets the device file for <em class="parameter"><code>device</code></em>.
</tr>
<tr>
<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
exists.</td>
<td>The device file for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if no
device file exists. <span class="annotation">[nullable]</span>
</td>
</tr>
</tbody>
</table></div>
@ -503,7 +511,8 @@ Gets the immediate parent of <em class="parameter"><code>device</code></em>, if
</tr>
<tr>
<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>
</tr>
</tbody>
@ -541,7 +550,9 @@ device encountered where <em class="parameter"><code>subsystem</code></em> and <
</tr>
<tr>
<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>
</tr>
</tbody>
@ -707,7 +718,9 @@ Look up the value for <em class="parameter"><code>key</code></em> on <em class="
</tr>
<tr>
<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>
</tbody>
</table></div>
@ -869,7 +882,9 @@ locale is not taken into account).
</tr>
<tr>
<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>
</tr>
</tbody>
@ -877,6 +892,17 @@ locale is not taken into account).
</div>
<hr>
<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>
<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>
@ -899,8 +925,10 @@ Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on
</tr>
<tr>
<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
such attribute. Do not free this string, it is owned by <em class="parameter"><code>device</code></em>.</td>
<td>The value of the sysfs attribute or <code class="literal">NULL</code> if
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>
</tbody>
</table></div>
@ -1062,7 +1090,9 @@ not taken into account).
</tr>
<tr>
<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>
</tr>
</tbody>

View File

@ -31,10 +31,10 @@
<div class="titlepage"><div><div><h1 class="title">
<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
<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>
<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>
<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>

View File

@ -168,6 +168,10 @@
</dt>
<dd></dd>
<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>
</dt>
<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>
</dt>
<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>
<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>

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_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_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_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"/>

View File

@ -15,7 +15,7 @@
<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">
For version 208
For version 214
— the latest version of this
documentation can be found at
<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-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-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-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">
@ -83,8 +85,8 @@
<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--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-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-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">

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

View File

@ -15,7 +15,7 @@
<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">
For version 208
For version 214
— the latest version of this
documentation can be found at
<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>
<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>
</tbody>
</table></div>
@ -378,9 +378,8 @@ Find the next parent device, and fill in information from the sys
device and the udev database entry.
</p>
<p>
The returned the device is not referenced. It is attached to the
child device, and will be cleaned up when the child device
is cleaned up.
Returned device is not referenced. It is attached to the child
device, and will be cleaned up when the child device is cleaned up.
</p>
<p>
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.
</p>
<p>
The returned the device is not referenced. It is attached to the
child device, and will be cleaned up when the child device
is cleaned up.
Returned device is not referenced. It is attached to the child
device, and will be cleaned up when the child device is cleaned up.
</p>
<p>
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>
<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>
</tbody>
</table></div>

View File

@ -106,7 +106,7 @@ all resources of the hwdb context will be released.
</tr>
<tr>
<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>
</tbody>
</table></div>

View File

@ -119,7 +119,7 @@ will be released.
</tr>
<tr>
<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>
</tbody>
</table></div>

View File

@ -59,10 +59,7 @@ unsigned long long <span class="returnvalue">int</span> <a class="link" href="li
<div class="refsect1">
<a name="libudev-udev-queue.description"></a><h2>Description</h2>
<p>
The udev daemon processes events asynchronously. All events which do not have
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.
This exports the current state of the udev processing queue.
</p>
</div>
<div class="refsect1">
@ -118,7 +115,7 @@ the resources of the queue context will be released.
</tr>
<tr>
<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>
</tbody>
</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>,
<em class="parameter"><code>unsigned long long <span class="type">int</span> seqnum</code></em>);</pre>
<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>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
@ -244,7 +242,7 @@ Check if udev is currently processing a given sequence number.
</tr>
<tr>
<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>
</tbody>
</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> end</code></em>);</pre>
<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>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
@ -279,7 +278,7 @@ Check if udev is currently processing any events in a given sequence number rang
</tr>
<tr>
<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>
</tbody>
</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
(<em class="parameter"><code><span class="type">struct udev_queue</span> *udev_queue</code></em>);</pre>
<p>
Get the first entry of the list of queued events.
This function is deprecated.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
@ -304,7 +303,7 @@ Get the first entry of the list of queued events.
</tr>
<tr>
<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>
</tbody>
</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>
<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>
Get the current kernel event sequence number.
This function is deprecated.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
@ -328,7 +327,7 @@ Get the current kernel event sequence number.
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the sequence number.</td>
<td>0.</td>
</tr>
</tbody>
</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>
<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>
Get the last known udev event sequence number.
This function is deprecated.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
@ -352,7 +351,7 @@ Get the last known udev event sequence number.
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the sequence number.</td>
<td>0.</td>
</tr>
</tbody>
</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.
bluetooth:v000E*
ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies Inc.)
ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies, Inc.)
bluetooth:v000F*
ID_VENDOR_FROM_DATABASE=Broadcom Corporation
@ -55,7 +55,7 @@ bluetooth:v0010*
ID_VENDOR_FROM_DATABASE=Mitel Semiconductor
bluetooth:v0011*
ID_VENDOR_FROM_DATABASE=Widcomm, Inc.
ID_VENDOR_FROM_DATABASE=Widcomm, Inc
bluetooth:v0012*
ID_VENDOR_FROM_DATABASE=Zeevo, Inc.
@ -73,13 +73,13 @@ bluetooth:v0016*
ID_VENDOR_FROM_DATABASE=KC Technology Inc.
bluetooth:v0017*
ID_VENDOR_FROM_DATABASE=Newlogic
ID_VENDOR_FROM_DATABASE=NewLogic
bluetooth:v0018*
ID_VENDOR_FROM_DATABASE=Transilica, Inc.
bluetooth:v0019*
ID_VENDOR_FROM_DATABASE=Rohde & Schwartz GmbH & Co. KG
ID_VENDOR_FROM_DATABASE=Rohde & Schwarz GmbH & Co. KG
bluetooth:v001A*
ID_VENDOR_FROM_DATABASE=TTPCom Limited
@ -151,7 +151,7 @@ bluetooth:v0030*
ID_VENDOR_FROM_DATABASE=ST Microelectronics
bluetooth:v0031*
ID_VENDOR_FROM_DATABASE=Synopsys
ID_VENDOR_FROM_DATABASE=Synopsis
bluetooth:v0032*
ID_VENDOR_FROM_DATABASE=Red-M (Communications) Ltd
@ -190,16 +190,16 @@ bluetooth:v003D*
ID_VENDOR_FROM_DATABASE=IPextreme, Inc.
bluetooth:v003E*
ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc
ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc.
bluetooth:v003F*
ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc
ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc.
bluetooth:v0040*
ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation
bluetooth:v0041*
ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwain, Inc.
ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwan, Inc.
bluetooth:v0042*
ID_VENDOR_FROM_DATABASE=CONWISE Technology Corporation Ltd
@ -244,7 +244,7 @@ bluetooth:v004F*
ID_VENDOR_FROM_DATABASE=APT Licensing Ltd.
bluetooth:v0050*
ID_VENDOR_FROM_DATABASE=SiRF Technology, Inc.
ID_VENDOR_FROM_DATABASE=SiRF Technology
bluetooth:v0051*
ID_VENDOR_FROM_DATABASE=Tzero Technologies, Inc.
@ -366,6 +366,9 @@ bluetooth:v0077*
bluetooth:v0078*
ID_VENDOR_FROM_DATABASE=Nike, Inc.
bluetooth:v0078p0001*
ID_PRODUCT_FROM_DATABASE=Nike+ FuelBand
bluetooth:v0079*
ID_VENDOR_FROM_DATABASE=lesswire AG
@ -379,7 +382,7 @@ bluetooth:v007C*
ID_VENDOR_FROM_DATABASE=A & R Cambridge
bluetooth:v007D*
ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd.
ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd
bluetooth:v007E*
ID_VENDOR_FROM_DATABASE=Sports Tracking Technologies Ltd.
@ -406,7 +409,7 @@ bluetooth:v0085*
ID_VENDOR_FROM_DATABASE=BlueRadios, Inc.
bluetooth:v0086*
ID_VENDOR_FROM_DATABASE=equinux AG
ID_VENDOR_FROM_DATABASE=equinox AG
bluetooth:v0087*
ID_VENDOR_FROM_DATABASE=Garmin International, Inc.
@ -421,10 +424,10 @@ bluetooth:v008A*
ID_VENDOR_FROM_DATABASE=Jawbone
bluetooth:v008B*
ID_VENDOR_FROM_DATABASE=Topcon Positioning Systems, LLC
ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC
bluetooth:v008C*
ID_VENDOR_FROM_DATABASE=Qualcomm Labs, Inc.
ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.)
bluetooth:v008D*
ID_VENDOR_FROM_DATABASE=Zscan Software
@ -433,13 +436,13 @@ bluetooth:v008E*
ID_VENDOR_FROM_DATABASE=Quintic Corp.
bluetooth:v008F*
ID_VENDOR_FROM_DATABASE=Stollmann E+V GmbH
ID_VENDOR_FROM_DATABASE=Stollman E+V GmbH
bluetooth:v0090*
ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd.
bluetooth:v0091*
ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL systems GmbH & Co. KG
ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL Systems GmbH & Co. KG
bluetooth:v0092*
ID_VENDOR_FROM_DATABASE=ThinkOptics, Inc.
@ -457,10 +460,10 @@ bluetooth:v0096*
ID_VENDOR_FROM_DATABASE=ODM Technology, Inc.
bluetooth:v0097*
ID_VENDOR_FROM_DATABASE=Bluetrek Technologies Limited
ID_VENDOR_FROM_DATABASE=ConnecteDevice Ltd.
bluetooth:v0098*
ID_VENDOR_FROM_DATABASE=zero1.tv GmbH
ID_VENDOR_FROM_DATABASE=zer01.tv GmbH
bluetooth:v0099*
ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Global Distribution Ltd.
@ -511,7 +514,7 @@ bluetooth:v00A8*
ID_VENDOR_FROM_DATABASE=ARP Devices Limited
bluetooth:v00A9*
ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A.
ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A
bluetooth:v00AA*
ID_VENDOR_FROM_DATABASE=CAEN RFID srl
@ -539,3 +542,474 @@ bluetooth:v00B1*
bluetooth:v00B2*
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 platform kernel driver
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
#
# common keys
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*
keyboard:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*: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_a7=battery # Fn+F3 Power Management
KEYBOARD_KEY_a9=switchvideomode # Fn+F5
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_b3=euro
KEYBOARD_KEY_b4=dollar
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_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*5220*: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*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*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*:pnAspire*1640:*
KEYBOARD_KEY_b2=www
KEYBOARD_KEY_ee=screenlock
keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr*
KEYBOARD_KEY_a9=!switchvideomode # Fn+F5
###########################################################
# Alienware
###########################################################
@ -164,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn*
KEYBOARD_KEY_ef=mute
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
###########################################################
@ -446,6 +421,22 @@ keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHDX9494NR:pvr*
KEYBOARD_KEY_d8=!f23 # touchpad off
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
###########################################################
@ -512,11 +503,6 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_17=prog1
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
keyboard:usb:v17EFp6009*
KEYBOARD_KEY_090012=screenlock # Fn+F2
@ -553,6 +539,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr*
# Thinkpad X200_Tablet
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_63=fn
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
# 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_KEY_95=media
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
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr*
KEYBOARD_KEY_f1=f21
# IdeaPad
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr*
KEYBOARD_KEY_f1=f21
KEYBOARD_KEY_ce=f20
# enhanced USB keyboard
keyboard:usb:v04B3p301B*
KEYBOARD_KEY_90001=prog1 # ThinkVantage
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
@ -858,6 +865,14 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr*
KEYBOARD_KEY_f2=volumedown
KEYBOARD_KEY_f3=volumeup
###########################################################
# Plantronics
###########################################################
# Plantronics .Audio 626 DSP
keyboard:usb:v047FpC006*
KEYBOARD_KEY_b002f=f20 # Microphone mute button; should be micmute
###########################################################
# 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_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*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_KEY_ce=!prog1 # Fn+F1 launch settings
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_b3=!prog3 # Fn+F11 fan/cooling mode changer
# Series 9
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:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr*
KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up
KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down
KEYBOARD_KEY_96=! # Fn+F1 performance mode (?)
KEYBOARD_KEY_97=! # Fn+F12 Wi-Fi toggle
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
keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr*
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_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_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_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_KEY_05=f21 # Fn+F1 -> KEY_F21 (The actual touchpad toggle)
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_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
###########################################################
@ -1074,9 +1118,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnFOXCONN:pnQBOOK:*
keyboard:dmi:bvn*:bvr*:bd*:svnMTC:pn*:pvrA0:*
keyboard:dmi:bvn*:bvr*:bd*:svnMio*Technology:pnN890:*
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*[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*:svnHANNspree:pnSN10E100:*
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*
;;
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*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@ -1326,7 +1326,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
ppc64-*linux*|powerpc64-*linux*)
powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@ -1345,7 +1348,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
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"
;;
s390*-*linux*|s390*-*tpf*)

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,7 +19,7 @@
<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 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
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
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated
with
<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,
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>
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>
<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
library, which can be compiled and linked to with the
<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="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="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>,

View File

@ -19,7 +19,7 @@
<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 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
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
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated
with
<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,
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>
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>
<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
library, which can be compiled and linked to with the
<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="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="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>,

View File

@ -19,7 +19,7 @@
<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 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
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
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated
with
<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,
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>
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>
<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
library, which can be compiled and linked to with the
<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="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="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>,

View File

@ -19,7 +19,7 @@
<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 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
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
@ -73,10 +73,10 @@
}</pre><p>Note that new, randomized IDs may be generated
with
<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,
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>
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>
<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
library, which can be compiled and linked to with the
<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="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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,8 +19,8 @@
<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 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
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
<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="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
an external event loop and is signaled as soon as the
journal changes, because new entries or files were
@ -112,7 +112,7 @@ else {
no need to invoke this function directly as
<code class="function">sd_journal_get_timeout()</code> on these
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
errno-style error code.</p><p><code class="function">sd_journal_get_events()</code>
returns a combination of <code class="constant">POLLIN</code>,
@ -138,15 +138,15 @@ else {
probably refresh their entire display, while in the
case of <code class="constant">SD_JOURNAL_APPEND</code>, it is
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_reliable_fd()</code>,
<code class="function">sd_journal_process()</code> and
<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
<code class="constant">libsystemd-journal</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;
<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="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;systemd/sd-journal.h&gt;
@ -208,8 +208,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec);
return sd_journal_process(j);
}
</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>
}</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>
<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_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="../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 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
files automatically and interleave them automatically
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
useful for debugging, because individual journal files
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
journal object as an argument
(<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
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
<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_files()</code> calls
return 0 on success or a negative errno-style error
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_close()</code> interfaces are
available as a shared library, which can 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>
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>,
<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="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="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code>
were added in systemd-205.
<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="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_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>

View File

@ -19,14 +19,14 @@
<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 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
only argument taken is a journal context object as
allocated via
<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
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
<code class="function">sd_journal_previous_skip()</code>
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>
and <code class="function">sd_journal_next()</code> in order to
make iterating through the journal easier. See below
for an example. Similar,
for an example. Similarly,
<code class="function">SD_JOURNAL_FOREACH_BACKWARDS()</code>
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
error code. When the end or beginning of the journal
is reached, a number smaller than requested is
@ -57,13 +57,13 @@
<code class="function">sd_journal_previous()</code> reach the
end/beginning of the journal they will return 0,
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_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
<code class="constant">libsystemd-journal</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;
<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="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;systemd/sd-journal.h&gt;
@ -89,7 +89,7 @@ int main(int argc, char *argv[]) {
}
sd_journal_close(j);
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="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>,

View File

@ -19,14 +19,14 @@
<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 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
only argument taken is a journal context object as
allocated via
<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
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
<code class="function">sd_journal_previous_skip()</code>
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>
and <code class="function">sd_journal_next()</code> in order to
make iterating through the journal easier. See below
for an example. Similar,
for an example. Similarly,
<code class="function">SD_JOURNAL_FOREACH_BACKWARDS()</code>
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
error code. When the end or beginning of the journal
is reached, a number smaller than requested is
@ -57,13 +57,13 @@
<code class="function">sd_journal_previous()</code> reach the
end/beginning of the journal they will return 0,
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_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
<code class="constant">libsystemd-journal</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;
<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="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;systemd/sd-journal.h&gt;
@ -89,7 +89,7 @@ int main(int argc, char *argv[]) {
}
sd_journal_close(j);
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="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>,

View File

@ -19,7 +19,7 @@
<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 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 current journal entry. It takes four arguments:
the journal context object, a string with the field
@ -77,7 +77,7 @@
having to decompress large compressed data objects in
full.</p><p><code class="function">sd_journal_get_data_threshold()</code>
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
code. If the current entry does not include the
specified field, -ENOENT is returned. If
@ -92,16 +92,16 @@
nothing. <code class="function">sd_journal_set_data_threshold()</code>
and <code class="function">sd_journal_get_threshold()</code>
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_restart_data()</code>,
<code class="function">sd_journal_set_data_threshold()</code>
and
<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
<code class="constant">libsystemd-journal</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
<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="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>
for a complete example how to use
<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)
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.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>,

View File

@ -19,7 +19,7 @@
<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 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
specified field can take. It takes two arguments: the
journal to query and the field name to look
@ -60,20 +60,20 @@
influenced by matches set with
<code class="function">sd_journal_add_match()</code> but 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
code. <code class="function">sd_journal_enumerate_unique()</code>
returns a positive integer if the next field data has
been read, 0 when no more fields are known, or a
negative errno-style error
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_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
<code class="constant">libsystemd-journal</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
<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="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
to iterate through all values a field of the journal
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);
sd_journal_close(j);
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.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>,

View File

@ -19,8 +19,8 @@
<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 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
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
<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="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
an external event loop and is signaled as soon as the
journal changes, because new entries or files were
@ -112,7 +112,7 @@ else {
no need to invoke this function directly as
<code class="function">sd_journal_get_timeout()</code> on these
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
errno-style error code.</p><p><code class="function">sd_journal_get_events()</code>
returns a combination of <code class="constant">POLLIN</code>,
@ -138,15 +138,15 @@ else {
probably refresh their entire display, while in the
case of <code class="constant">SD_JOURNAL_APPEND</code>, it is
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_reliable_fd()</code>,
<code class="function">sd_journal_process()</code> and
<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
<code class="constant">libsystemd-journal</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;
<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="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;systemd/sd-journal.h&gt;
@ -208,8 +208,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec);
return sd_journal_process(j);
}
</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>
}</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>
<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_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="../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 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
files automatically and interleave them automatically
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
useful for debugging, because individual journal files
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
journal object as an argument
(<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
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
<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_files()</code> calls
return 0 on success or a negative errno-style error
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_close()</code> interfaces are
available as a shared library, which can 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>
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>,
<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="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="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code>
were added in systemd-205.
<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="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_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>

View File

@ -19,8 +19,8 @@
<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 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
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
<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="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
an external event loop and is signaled as soon as the
journal changes, because new entries or files were
@ -112,7 +112,7 @@ else {
no need to invoke this function directly as
<code class="function">sd_journal_get_timeout()</code> on these
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
errno-style error code.</p><p><code class="function">sd_journal_get_events()</code>
returns a combination of <code class="constant">POLLIN</code>,
@ -138,15 +138,15 @@ else {
probably refresh their entire display, while in the
case of <code class="constant">SD_JOURNAL_APPEND</code>, it is
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_reliable_fd()</code>,
<code class="function">sd_journal_process()</code> and
<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
<code class="constant">libsystemd-journal</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;
<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="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;systemd/sd-journal.h&gt;
@ -208,8 +208,7 @@ int wait_for_changes(sd_journal *j) {
pollfd.events = sd_journal_get_events(j);
poll(&amp;pollfd, 1, msec);
return sd_journal_process(j);
}
</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>
}</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>
<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_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="../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 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
files automatically and interleave them automatically
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
useful for debugging, because individual journal files
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
journal object as an argument
(<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
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
<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_files()</code> calls
return 0 on success or a negative errno-style error
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_close()</code> interfaces are
available as a shared library, which can 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>
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>,
<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="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="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code>
were added in systemd-205.
<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="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_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>

View File

@ -19,7 +19,7 @@
<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 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
system journal. The first argument is a priority
value. This is followed by a format string and its
@ -73,8 +73,8 @@
for details) instead of the format string. Each
structure should reference one field of the entry to
submit. The second argument specifies the number of
structures in the
array. <code class="function">sd_journal_sendv()</code> is
structures in the array.
<code class="function">sd_journal_sendv()</code> is
particularly useful to submit binary objects to the
journal where that is necessary.</p><p><code class="function">sd_journal_perror()</code> is a
similar to
@ -113,27 +113,38 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
be guaranteed. Using
<code class="function">sd_journal_print()</code> has the
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
log entries that are generated via
<code class="function">sd_journal_send()</code>. Using
<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
<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_send()</code> and
<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
<code class="constant">libsystemd-journal</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>
<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="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="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="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="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>

View File

@ -19,7 +19,7 @@
<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 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
files automatically and interleave them automatically
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
useful for debugging, because individual journal files
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
journal object as an argument
(<code class="function">sd_journal_next()</code> and others)
@ -90,18 +95,18 @@
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
<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_files()</code> calls
return 0 on success or a negative errno-style error
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_close()</code> interfaces are
available as a shared library, which can 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>
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>,
<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="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="constant">SD_JOURNAL_LOCAL_ONLY</code>,
<code class="constant">SD_JOURNAL_RUNTIME_ONLY</code>,
@ -112,9 +117,10 @@
and <code class="function">sd_journal_open_files()</code>
were added in systemd-205.
<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="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_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>

View File

@ -19,14 +19,14 @@
<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 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
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>
parameter is non-zero,
<code class="function">sd_listen_fds()</code> will unset the
<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
not). Further calls to
<code class="function">sd_listen_fds()</code> will then fail,
@ -50,7 +50,7 @@
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
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
<code class="varname">$LISTEN_FDS</code>/<code class="varname">$LISTEN_PID</code>
was not set or was not correctly set for this daemon and
@ -58,13 +58,10 @@
returned. Otherwise, the number of file descriptors
passed is returned. The application may find them
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithm it
implements is simple, and can easily be reimplemented
in daemons if it is important to support this
interface without using the reference
implementation.</p><p>Internally, this function checks whether the
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
library, which can be compiled and linked to with the
<code class="constant">libsystemd</code> <a href="pkg-config.html"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>
file.</p><p>Internally, this function checks whether the
<code class="varname">$LISTEN_PID</code> environment variable
equals the daemon PID. If not, it returns
immediately. Otherwise, it parses the number passed in
@ -72,31 +69,14 @@
variable, then sets the FD_CLOEXEC flag for the parsed
number of file descriptors starting from
SD_LISTEN_FDS_START. Finally, it returns the parsed
number.</p><p>For details about the algorithm 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><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
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
for supervised processes that use
socket-based activation. This
environment variable specifies the
data
<code class="function">sd_listen_fds()</code>
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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -19,19 +19,18 @@
<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 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
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
<code class="filename">sd-daemon.h</code> provide a reference
implementation of various APIs for new-style daemons,
as implemented by the
<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</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
for new-style daemons, as implemented by the
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>
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_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_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
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 */
#define SD_ALERT "&lt;1&gt;" /* action must be taken immediately */
#define SD_CRIT "&lt;2&gt;" /* critical conditions */
@ -40,7 +39,7 @@
#define SD_NOTICE "&lt;5&gt;" /* normal but significant condition */
#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
conjunction with STDERR-based logging as implemented
conjunction with stderr-based logging as implemented
by systemd. If a systemd service definition file is
configured with <code class="varname">StandardError=syslog</code>
or <code class="varname">StandardError=kmsg</code>, these
@ -53,37 +52,17 @@
log level system. To use these prefixes simply prefix
every line with one of these strings. A line that is
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
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
implementation of APIs for new-style daemons and
distributed with the systemd package. The algorithms
they implement are simple, and can easily be
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>
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="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
library, which can be compiled and linked to with the
<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="idm214184164912"></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="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_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_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="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>,

View File

@ -1,5 +1,5 @@
'\" t
.TH "BINFMT\&.D" "5" "" "systemd 208" "binfmt.d"
.TH "BINFMT\&.D" "5" "" "systemd 214" "binfmt.d"
.\" -----------------------------------------------------------------
.\" * 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/, files in
/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
If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to
/dev/null

View File

@ -19,12 +19,12 @@
<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 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
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,
<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="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>
reads configuration files from the above directories
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>
for more information on registration of additional
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
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
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.</p><p>If the administrator wants to disable a
configuration file supplied by the vendor, the
recommended way is to place a symlink to
<code class="filename">/dev/null</code> in
<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
: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>
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="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-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>,

View File

@ -88,8 +88,8 @@
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
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.</para>

View File

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

View File

@ -19,10 +19,10 @@
<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 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>.
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 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
@ -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 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></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.directives.html"><span class="citerefentry"><span class="refentrytitle">systemd.directives</span>(7)</span></a>
</p></div></div></body></html>

View File

@ -145,6 +145,11 @@
graph components.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>ControlGroup=no</varname></term>
<listitem><para>Display process control group.</para></listitem>
</varlistentry>
</variablelist>
</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
.TH "BOOTUP" "7" "" "systemd 208" "bootup"
.TH "BOOTUP" "7" "" "systemd 214" "bootup"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------

View File

@ -19,7 +19,7 @@
<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 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
system BIOS will do minimal hardware initialization,
and hand control over to a boot loader stored on a
@ -45,7 +45,7 @@
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
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
systems, services and drivers that are necessary for
operation of the system. On
@ -124,7 +124,7 @@
option (see
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>)
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
inside the initrd follows the following
structure.</p><p>The default target in the initrd is
@ -202,7 +202,7 @@
initrd-switch-root.service
|
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
structure applied:</p><pre class="programlisting"> (conflicts with (conflicts with
all system all file system
@ -229,7 +229,7 @@
systemd-reboot.service systemd-poweroff.service systemd-halt.service systemd-kexec.service
| | | |
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="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>,

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
.TH "CRYPTTAB" "5" "" "systemd 208" "crypttab"
.TH "CRYPTTAB" "5" "" "systemd 214" "crypttab"
.\" -----------------------------------------------------------------
.\" * 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\&.
.RE
.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
.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:
@ -158,7 +166,7 @@ as the password file in the third field\&.
.PP
\fItcrypt\-hidden\fR
.RS 4
Use the hidden TrueCrypt volume\&. This implies
Use the hidden TrueCrypt volume\&. This option implies
\fItcrypt\fR\&.
.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
@ -179,14 +187,8 @@ on the behavior of the passphrase and key files when using TrueCrypt encryption
.PP
\fItcrypt\-system\fR
.RS 4
Use TrueCrypt in system encryption mode\&. This implies
Use TrueCrypt in system encryption mode\&. This option implies
\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
.PP
\fItimeout=\fR

View File

@ -19,7 +19,7 @@
<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 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
during system boot.</p><p>Empty lines and lines starting with the "<code class="literal">#</code>"
character are ignored. Each of the remaining lines
@ -72,7 +72,15 @@
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.</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
they are provided by the LUKS header on the
device: <code class="varname">cipher=</code>,
@ -113,7 +121,7 @@
an empty passphrase in combination with one or
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.
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
field. Please note that there is no protection
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>
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
encryption mode. This implies
<code class="varname">tcrypt</code>.</p><p>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
"<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
encryption mode. This option implies
<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
querying for a password. If no unit is
specified, seconds is used. Supported units are
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
configuration is reloaded, this file is translated into
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
device and two TrueCrypt volumes.</p><pre class="programlisting">luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b
swap /dev/sda7 /dev/urandom swap
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-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>,

View File

@ -163,6 +163,20 @@
given by the key size.</para></listitem>
</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>
<term><varname>luks</varname></term>
@ -261,7 +275,7 @@
<term><varname>tcrypt-hidden</varname></term>
<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
inside of the volume provided in the second
@ -290,15 +304,8 @@
<term><varname>tcrypt-system</varname></term>
<listitem><para>Use TrueCrypt in system
encryption mode. This implies
<varname>tcrypt</varname>.</para>
<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>
encryption mode. This option implies
<varname>tcrypt</varname>.</para></listitem>
</varlistentry>
<varlistentry>

View File

@ -1,5 +1,5 @@
'\" t
.TH "DAEMON" "7" "" "systemd 208" "daemon"
.TH "DAEMON" "7" "" "systemd 214" "daemon"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@ -37,7 +37,7 @@ When a traditional SysV daemon starts, it should execute the following steps as
.sp -1
.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
\fBgetrlimit()\fR
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
/dev/null
to STDIN, STDOUT, STDERR\&.
to standard input, output, and error\&.
.RE
.sp
.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
\fBgetpid()\fR) to a PID file, for example
/var/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\&.
/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\&.
.RE
.sp
.RS 4
@ -231,7 +231,7 @@ Modern services for Linux should be implemented as new\-style daemons\&. This ma
.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\&.
.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
unless otherwise configured\&. The umask is reset\&.
.PP
@ -359,7 +359,7 @@ interface\&.
.\}
Instead of using the
\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
\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
@ -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
\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
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/
directory of either
multi\-user\&.target
@ -593,12 +593,19 @@ are recommended to use a configure script excerpt like the following to determin
.nf
PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([\-\-with\-systemdsystemunitdir=DIR], [Directory for systemd service files]),
[], [with_systemdsystemunitdir=$($PKG_CONFIG \-\-variable=systemdsystemunitdir systemd)])
if test "x$with_systemdsystemunitdir" != xno; then
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test \-n "$with_systemdsystemunitdir" \-a "x$with_systemdsystemunitdir" != xno ])
[AS_HELP_STRING([\-\-with\-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[with_systemdsystemunitdir=auto])
AS_IF([test "x$with_systemdsystemunitdir" = "xyes" \-o "x$with_systemdsystemunitdir" = "xauto"], [
def_systemdsystemunitdir=$($PKG_CONFIG \-\-variable=systemdsystemunitdir systemd)
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
.if n \{\
.RE
@ -788,10 +795,10 @@ If the daemon exposes interfaces via D\-Bus, write and install a D\-Bus activati
.IP " 1." 4
LSB recommendations for SysV init scripts
.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
.IP " 2." 4
Apple MacOS X Daemon Requirements
.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

View File

@ -19,7 +19,7 @@
<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 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
functionality to other processes. Traditionally,
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
manual page covers both schemes, and in
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
as part of the initialization. Note that these
steps are unnecessary for new-style daemons (see below),
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
descriptors except STDIN, STDOUT,
STDERR (i.e. the first three 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
@ -73,8 +73,8 @@
init/PID 1, as all daemons should
be.</p></li><li class="listitem"><p>In the daemon process,
connect <code class="filename">/dev/null</code>
to STDIN, STDOUT,
STDERR.</p></li><li class="listitem"><p>In the daemon process,
to standard input, output, and error.
</p></li><li class="listitem"><p>In the daemon process,
reset the umask to 0, so that the file
modes passed to <code class="function">open()</code>, <code class="function">mkdir()</code> and
suchlike directly control the access
@ -88,7 +88,7 @@
write the daemon PID (as returned by
<code class="function">getpid()</code>) to a
PID file, for example
<code class="filename">/var/run/foobar.pid</code>
<code class="filename">/run/foobar.pid</code>
(for a hypothetical daemon "foobar")
to ensure that the daemon cannot be
started more than once. This must be
@ -97,9 +97,7 @@
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.</p></li><li class="listitem"><p>In the daemon process,
foreign process.</p></li><li class="listitem"><p>In the daemon process,
drop privileges, if possible and
applicable.</p></li><li class="listitem"><p>From the daemon
process, notify the original process
@ -127,7 +125,7 @@
behavior optional and configurable via a
command line argument to ease debugging as
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
easier to supervise and control them at
runtime and simplifies their
@ -141,15 +139,16 @@
the init system, it is recommended not to
execute them when run as new-style
service.</p><p>Note that new-style init systems
guarantee execution of daemon processes in
a clean process context: it is guaranteed that
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
will be executed in their own session, with
standard input/output/error connected to
<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
received, shut down the daemon and
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
detect service errors and problems. It
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
scripts</a>.</p></li><li class="listitem"><p>If possible and
applicable, expose the daemon's control
@ -218,7 +217,7 @@
interface.</p></li><li class="listitem"><p>Instead of using the
<code class="function">syslog()</code> call to log directly to the
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
syslog by the init system. If log
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>
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
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
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
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="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
detailed below. It is common that services are
configured to be activated via more than one mechanism
@ -267,10 +266,10 @@
request is lost because client requests will be queued
by the bus system (in case of D-Bus) or the kernel (in
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
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
Specification</a>. This method of
activation is supported ubiquitously on Linux
@ -282,7 +281,7 @@
activation, both during boot-up and during
runtime and using more minimal service
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,
it is recommended to place a symlink to the
unit file in the <code class="filename">.wants/</code>
@ -295,7 +294,7 @@
for details about the
<code class="filename">.wants/</code> directories, and
<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
configuration and development, it is
recommended for all new-style daemons that
@ -366,7 +365,7 @@
example from
<code class="filename">multi-user.target</code> or
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
should employ bus activation so that they are
automatically activated when a client
@ -389,7 +388,7 @@
<code class="filename">rtkit-daemon.service</code>. This
is needed to make sure that the daemon is
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
the hardware of the respective kind is plugged
in or otherwise becomes available. In a
@ -425,7 +424,7 @@
<span class="command"><strong>enable</strong></span> of
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
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
system) can be delayed until these file system
objects change state, or become
@ -435,13 +434,13 @@
path-based activation configured in
<code class="filename">.path</code> units, as outlined
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
regular intervals benefit from timer-based
activation. In systemd, this is implemented
via <code class="filename">.timer</code> units, as
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
systems. However, there are often simpler or
better alternatives, or they can be put
@ -486,7 +485,7 @@
activation to schedule background jobs during
runtime and with minimal impact on the system,
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
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>
@ -535,7 +534,7 @@
your service file
<code class="filename">foo.service</code>, for
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
package build), packages are recommended to
install their systemd unit files in the
@ -563,12 +562,19 @@
unit installation path during source
configuration:</p><pre class="programlisting">PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
[], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
if test "x$with_systemdsystemunitdir" != xno; then
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])</pre><p>This snippet allows automatic
[AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[with_systemdsystemunitdir=auto])
AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
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
machines, and optionally allows their
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
whether a SysV init script is enabled. Other
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
not strictly necessary to port existing daemons to the
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
interfaces via D-Bus, write and install a
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="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>,

View File

@ -74,8 +74,8 @@
<orderedlist>
<listitem><para>Close all open file
descriptors except STDIN, STDOUT,
STDERR (i.e. the first three 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
@ -128,8 +128,8 @@
<listitem><para>In the daemon process,
connect <filename>/dev/null</filename>
to STDIN, STDOUT,
STDERR.</para></listitem>
to standard input, output, and error.
</para></listitem>
<listitem><para>In the daemon process,
reset the umask to 0, so that the file
@ -149,7 +149,7 @@
write the daemon PID (as returned by
<function>getpid()</function>) to a
PID file, for example
<filename>/var/run/foobar.pid</filename>
<filename>/run/foobar.pid</filename>
(for a hypothetical daemon "foobar")
to ensure that the daemon cannot be
started more than once. This must be
@ -158,9 +158,7 @@
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.</para></listitem>
foreign process.</para></listitem>
<listitem><para>In the daemon process,
drop privileges, if possible and
@ -223,15 +221,16 @@
service.</para>
<para>Note that new-style init systems
guarantee execution of daemon processes in
a clean process context: it is guaranteed that
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
will be executed in their own session, with
standard input/output/error connected to
<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
to implement the following:</para>
@ -251,7 +250,7 @@
detect service errors and problems. It
is recommended to follow the exit code
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
scripts</ulink>.</para></listitem>
@ -324,7 +323,7 @@
<listitem><para>Instead of using the
<function>syslog()</function> call to log directly to the
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
syslog by the init system. If log
priorities are necessary, these can be
@ -353,7 +352,7 @@
<para>These recommendations are similar but
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>
</refsect2>
@ -394,7 +393,7 @@
exclusively on boot (and manually by the
administrator) via SysV init scripts, as
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
Specification</ulink>. This method of
activation is supported ubiquitously on Linux
@ -408,7 +407,7 @@
description files.</para>
<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,
it is recommended to place a symlink to the
unit file in the <filename>.wants/</filename>
@ -765,12 +764,19 @@
<programlisting>PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
[], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
if test "x$with_systemdsystemunitdir" != xno; then
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])</programlisting>
[AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
[with_systemdsystemunitdir=auto])
AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [
def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
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
installation of the unit files on systemd

View File

@ -1,5 +1,5 @@
'\" t
.TH "HALT" "8" "" "systemd 208" "halt"
.TH "HALT" "8" "" "systemd 214" "halt"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@ -40,7 +40,7 @@ The following options are understood:
.PP
\fB\-\-help\fR
.RS 4
Prints a short help text and exits\&.
Print a short help text and exit\&.
.RE
.PP
\fB\-\-halt\fR
@ -79,7 +79,7 @@ Do not send wall message before halt, power\-off, reboot\&.
.RE
.SH "EXIT STATUS"
.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"
.PP
These are legacy commands available for compatibility only\&.

View File

@ -19,11 +19,11 @@
<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 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>
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
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,
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.
</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
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
@ -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
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
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
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
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>
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="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="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="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>,

View File

@ -21,7 +21,8 @@
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>
<title>halt</title>
@ -80,8 +81,7 @@
<varlistentry>
<term><option>--help</option></term>
<listitem><para>Prints a short help
text and exits.</para></listitem>
<xi:include href="standard-options.xml" xpointer="help-text" />
</varlistentry>
<varlistentry>
@ -148,7 +148,7 @@
<refsect1>
<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>
</refsect1>

View File

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

View File

@ -19,7 +19,7 @@
<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 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
during boot using the
<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
<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
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
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="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>,

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