Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


sd_bus_message_get_monotonic_usec(3) — Linux manual page

NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |NOTES |HISTORY |SEE ALSO |COLOPHON

SD_BUS...IC_USEC(3) sd_bus_message_get_monotonic_usecSD_BUS...IC_USEC(3)

NAME        top

       sd_bus_message_get_monotonic_usec,       sd_bus_message_get_realtime_usec, sd_bus_message_get_seqnum -       Retrieve the sender timestamps and sequence number of a message

SYNOPSIS        top

#include <systemd/sd-bus.h>int sd_bus_message_get_monotonic_usec(sd_bus_message *message,uint64_t *usec);int sd_bus_message_get_realtime_usec(sd_bus_message *message,uint64_t *usec);int sd_bus_message_get_seqnum(sd_bus_message *message,uint64_t *seqnum);

DESCRIPTION        top

sd_bus_message_get_monotonic_usec()returns the monotonic       timestamp of the time the message was sent. This value is in       microseconds since theCLOCK_MONOTONICepoch, seeclock_gettime(2)       for details.       Similarly,sd_bus_message_get_realtime_usec()returns the realtime       (wallclock) timestamp of the time the message was sent. This value       is in microseconds since Jan 1st, 1970, i.e. in theCLOCK_REALTIME       clock.sd_bus_message_get_seqnum()returns the kernel-assigned sequence       number of the message. The kernel assigns a global, monotonically       increasing sequence number to all messages transmitted on the       local system, at the time the message was sent. This sequence       number is useful for determining message send order, even across       different buses of the local system. The sequence number combined       with the boot ID of the system (as returned bysd_id128_get_boot(3)) is a suitable globally unique identifier for       bus messages.       Note that the sending order and receiving order of messages might       differ, in particular for broadcast messages. This means that the       sequence number and the timestamps of messages a client reads are       not necessarily monotonically increasing.       These timestamps and the sequence number are attached to each       message by the kernel and cannot be manipulated by the sender.       Note that these timestamps are only available on some bus       transports, and only after support for them has been negotiated       with thesd_bus_negotiate_timestamp(3) call.

RETURN VALUE        top

       On success, these calls return 0 or a positive integer. On       failure, these calls return a negative errno-style error code.       On success, the timestamp or sequence number is returned in the       specified 64-bit unsigned integer variable.Errors       Returned errors may indicate the following problems:-EINVAL           A specified parameter is invalid.-ENODATA           No timestamp or sequence number information is attached to the           passed message. This error is returned if the underlying           transport does not support timestamping or assigning of           sequence numbers, or if this feature has not been negotiated           withsd_bus_negotiate_timestamp(3).

NOTES        top

       Functions described here are available as a shared library, which       can be compiled against and linked to with thelibsystemd pkg-config(1) file.       The code described here usesgetenv(3), which is declared to be       not multi-thread-safe. This means that the code calling the       functions described here must not callsetenv(3) from a parallel       thread. It is recommended to only do calls tosetenv()from an       early phase of the program when no other threads have been       started.

HISTORY        top

sd_bus_message_get_monotonic_usec(),sd_bus_message_get_realtime_usec(), andsd_bus_message_get_seqnum()were added in version 209.

SEE ALSO        top

systemd(1),sd-bus(3),sd_bus_new(3),sd_bus_negotiate_timestamp(3),clock_gettime(2),sd_id128_get_boot(3)

COLOPHON        top

       This page is part of thesystemd (systemd system and service       manager) project.  Information about the project can be found at       ⟨http://www.freedesktop.org/wiki/Software/systemd⟩.  If you have a       bug report for this manual page, see       ⟨http://www.freedesktop.org/wiki/Software/systemd/#bugreports⟩.       This page was obtained from the project's upstream Git repository       ⟨https://github.com/systemd/systemd.git⟩ on 2025-08-11.  (At that       time, the date of the most recent commit that was found in the       repository was 2025-08-11.)  If you discover any rendering       problems in this HTML version of the page, or you believe there is       a better or more up-to-date source for the page, or you have       corrections or improvements to the information in this COLOPHON       (which isnot part of the original manual page), send a mail to       man-pages@man7.orgsystemd 258~rc2SD_BUS...IC_USEC(3)

Pages that refer to this page:sd-bus(3)sd_bus_negotiate_fds(3)systemd.directives(7)systemd.index(7)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp