From: "Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>
To: Walter Harms <wharms@bfs.de>,
"linux-man@vger.kernel.org" <linux-man@vger.kernel.org>
Subject: Re: timespec_get() part of C11
Date: Wed, 28 Apr 2021 22:20:37 +0200 [thread overview]
Message-ID: <4e07ad86-e943-e2b7-9487-11b63d8b9fa3@gmail.com> (raw)
In-Reply-To: <f79cbb6ecda24a1e90fb3c242d97c218@bfs.de>
Hi Walter,
Thanks for the page! Please see some comments below (I'll tell you more
in the next iteration).
Cheers,
Alex
P.S.: How's it going with the other page you were working on? :)
On 4/24/21 7:41 PM, Walter Harms wrote:
> .\" Copyright (c) 2021 wharms
> .\" %%%LICENSE_START(VERBATIM)
> .\" Permission is granted to make and distribute verbatim copies of this
> .\" manual provided the copyright notice and this permission notice are
> .\" preserved on all copies.
> .\"
> .\" Permission is granted to copy and distribute modified versions of this
> .\" manual under the conditions for verbatim copying, provided that the
> .\" entire resulting derived work is distributed under the terms of a
> .\" permission notice identical to this one.
> .\"
> .\" Since the Linux kernel and libraries are constantly changing, this
> .\" manual page may be incorrect or out-of-date. The author(s) assume no
> .\" responsibility for errors or omissions, or for damages resulting from
> .\" the use of the information contained herein. The author(s) may not
> .\" have taken the same level of care in the production of this manual,
> .\" which is licensed free of charge, as they might when working
> .\" professionally.
> .\"
> .\" Formatted or processed versions of this manual, if unaccompanied by
> .\" the source, must acknowledge the copyright and authors of this work.
> .\" %%%LICENSE_END
> .\"
> .ds N1 The example is simplified code and not production ready.
> .de N2
> .SH COLOPHON
> This page is part of release 4.16 of the Linux
4.16? :)
> .I man-pages
> project.
> A description of the project,
> information about reporting bugs,
> and the latest version of this page,
> can be found at
> \%https://www.kernel.org/doc/man\-pages/.
> ..
You can remove the COLOPHON. It is automatically created at release time.
>
> .TH timespec_get 1 "2021-04-20" Linux "User Manuals"
Please, see `man 7 man-pages`, subsection 'Title line'.
> .SH NAME
> timespec_get \- get time in high resolution
"high resolution" is relative. It's like when you call Y is the "new
X"... until it gets old. I'd prefer expressing something like "get time
in seconds and nanoseconds", don't you?
> .SH SYNOPSIS
> .B #include <time.h>
> .PP
> .BI "int timespec_get( struct timespec *"ts ", int " base ");"
Don't add extra spaces inside the parentheses '( xxx', just like you'd
do in normal english.
If there are no spaces, there's no need for using quotes: '");"' == ');'.
Also, use spaces to separate arguments to '.BI' always.
.BI "int timespec_get(struct timespec *" ts ", int " base );
> .SH DESCRIPTION
> The function
> .B timespec_get()
> will fill
No need to use future here. 'fills' is simpler.
> .I ts
> wth the current time. The argument is a
'The argument': I think I prefer to mention the argument name.
s/The argument /\n.I ts\n/?
> .I struct timespec
> what is specified like:
> .nf
Please, see `man 7 man-pages`, subsection 'Indentation of structure
definitions, shell session logs, and so on'.
> struct timespec
> {
> time_t tv_sec; /* Seconds. */
> long tv_nsec; /* Nanoseconds. */
Please, align comments.
> };
> .fi
> The elements of the struct hold the seconds and nanoseconds since epoch.
> The system clock will round the nanosecond argument.
> .PP
> The second argument
> .B base
> indicate the time base. POSIX requieres
> .I TIME_UTC
> only. All others are implementation defined.
> .SH RETURN VALUE
> The function will return
> .I base
> or 0 for failure.
> .SH EXAMPLE
> The example program will show the current time
> in YYYY-MM-DD hh:mm:ss and then the nanoseconds .
> .EX
> /* compile with:
> * gcc timespec.c -o timespec
> */
> #include <stdio.h>
> #include <time.h>
>
> int main(void)
> {
> struct timespec ts;
> char buf[30];
> timespec_get(&ts, TIME_UTC);
> strftime(buf, sizeof(buf), "%F %T", gmtime(&ts.tv_sec));
> printf("Current time: %s ", buf);
> printf("UTC and %ld nsec\\n", ts.tv_nsec);
> return (0);
> }
> .EE
> \*(N1
> .SH NOTE
> This function is equal to the POSIX function
> .BR "clock_gettime(CLOCK_REALTIME, ts)" .
> .PP
> The ts.tv_sec is equal to the return value of
> .BR time(NULL) .
> .SH "CONFORMING TO"
> The function is a C11 requirement and appears first time in
> .BR "glibc 2.16 " .
> .SH "SEE ALSO"
> .BR clock_gettime(3) ,
> .BR time (2),
> .BR time (7)
> \*(N2
>
--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/
prev parent reply other threads:[~2021-04-28 20:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-24 17:41 timespec_get() part of C11 Walter Harms
2021-04-28 20:20 ` Alejandro Colomar (man-pages) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4e07ad86-e943-e2b7-9487-11b63d8b9fa3@gmail.com \
--to=alx.manpages@gmail.com \
--cc=linux-man@vger.kernel.org \
--cc=wharms@bfs.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox