From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Alejandro Colomar <colomar.6.4.3@gmail.com>
Cc: mtk.manpages@gmail.com, linux-man@vger.kernel.org,
fweimer@redhat.com, libbsd@lists.freedesktop.org,
jwilk@jwilk.net
Subject: Re: [RFC v2] system_data_types.7: Draft v2
Date: Mon, 14 Sep 2020 21:33:54 +0200 [thread overview]
Message-ID: <64d8ce29-1727-4ce4-17ed-7fde3d6d6e18@gmail.com> (raw)
In-Reply-To: <c87c65a9-af82-dc91-8792-ab3d2b2323d7@gmail.com>
Hi Alex,
On 9/14/20 5:52 PM, Alejandro Colomar wrote:
> Hi Michael,
>
> On 9/14/20 5:00 PM, Michael Kerrisk (man-pages) wrote:
>> Small misunderstanding here, bu the way. I meant: after merging
>> the lists, sort by identifier name. Thus:
>>
>> union sigval
>> suseconds_t
>> time_t
>> timer_t
>> struct timespec
>> struct timeval
>
> OK.
As I think about more, maybe the list of type keywords could even
omit 'struct' and 'union', since the struct/union definition will be shown
in the following text. Your thoughts?
[...]
>>> +.IP
>>> +.EX
>>> +struct timeval {
>>> + time_t tv_sec; /* Seconds */
>>> + suseconds_t tv_usec; /* Microseconds */
>>> +};
>>> +.EE
>>> +.IP
>>> +Describes times in seconds and microseconds.
>>
>> According to POSIX, this shall be a signed integer type.
>
> ???
Ooops -- I think I misplaced that sentence. It related to suseconds_t.
[...]
>>> +.BR adjtimex (2),
>>> [...]
>>> +.BR socket (7)
>>> +.TP
>>> +.I suseconds_t
>>> +.IP
>>> +Include:
>>> +.I <sys/types.h>
>>> +.IP
>>> +Used for time in microseconds.
>>> +It shall be a signed integer type
>>
>> s/It/According to POSIX, it/
>
> As this type is POSIX-only, I thought it was redundant. Don't you?
I think it's clearer to be explicit. Otherwise, the reader has to do
some deductive work.
>>> +capable of storing values at least in the range [-1, 1000000].
>>> +.IP
>>> +Conforming to: POSIX.1-xxxx and later.>> +.IP
>>> +See also:
>>> +.\".BR getitimer (2),
>>> +.\".BR gettimeofday (2),
>>> +.\".BR select (2),
>>> +.\".BR adjtime (3),
>>> +.\".BR ntp_gettime (3),
>>> +.BR timeval (3)
>>> +.\".BR timeradd (3)
>>
>> The above is a little too circular for my taste :-).
>
> Maybe... I'll leave it commented, just in case some day the list is
> splitted.
>
>>
>> How about just saying:
>>
>> [[
>> This type is used for one of the
>> fields of the timeval structure (see below).
>> ]]
>
> That's too long for my taste :)
>
> How about?:
>
> [[
> See the timeval structure in this page.
> ]]
Vale.
[...]
>>> +.BR clock_getres (2),
>>> [...]
>>> +.BR timeradd (3)
>>> +.TP
>>> +.I timer_t
>>> +.IP
>>> +Include:
>>
>> Add "<time.h> or"
>
> POSIX says:
>
> The <time.h> header shall define the clockid_t and timer_t types as
> described in <sys/types.h>.
>
> That pattern is used by POSIX (AFAIK; I only guessed it by reading many
> of those) when the type is defined by inclusion of another header
> (<time.h> includes <sys/types.h> I guess).
>
> If I added every header that has a line like that, the lists of headers
> would be much bigger for most of the types. It could be good, but I
> don't know if we should do it. Maybe we should limit to the headers
> that are required by CXX and the ones where the POSIX docs actually
> document the type (this header doesn't define it, and instead it defers
> to <sys//types.h> for example).
>
> Your thoughts?
I think the list would not be so long. Maybe two headers sometimes,
occasionally three, but I doubt more. At least right now, I think we
should do it; I may yet be shown the error of my ways :-).
>>> +.I <sys/types.h>
>>> +.IP
>>> +Used for timer ID returned by timer_create().
>>> +There are no defined comparison or assignment operators for this type.
>>
>> Where is that mentioned in the standard, by the way?
>
> https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
>
> DESCRIPTION:
>
> [...]
>
> There are no defined comparison or assignment operators for the
> following types:
>
> [...]
>
> timer_t
Thanks. It's good that you included that sentence in the man page.
[...]
Good progress so far. Thanks, Alex!
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
next prev parent reply other threads:[~2020-09-14 19:34 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-11 12:47 [IDEA] New pages for types: structs and typedfefs Alejandro Colomar
2020-09-12 6:33 ` Michael Kerrisk (man-pages)
2020-09-12 8:59 ` Alejandro Colomar
2020-09-12 9:26 ` Alejandro Colomar
2020-09-13 12:01 ` Michael Kerrisk (man-pages)
2020-09-13 12:53 ` Alejandro Colomar
2020-09-13 20:20 ` Michael Kerrisk (man-pages)
2020-09-13 21:29 ` Alejandro Colomar
2020-09-14 0:20 ` [RFC v1] system_data_types.7: Draft (and links to it: <type>.3) Alejandro Colomar
2020-09-14 10:37 ` Michael Kerrisk (man-pages)
2020-09-14 10:55 ` Michael Kerrisk (man-pages)
2020-09-22 20:21 ` [IDEA] New pages for types: structs and typedfefs Michael Kerrisk (man-pages)
2020-09-22 20:38 ` Thorsten Glaser
2020-09-23 8:36 ` Michael Kerrisk (man-pages)
2020-09-23 19:54 ` Thorsten Glaser
2020-09-14 9:19 ` Jakub Wilk
2020-09-14 9:49 ` Alejandro Colomar
2020-09-18 2:16 ` Guillem Jover
2020-09-19 8:45 ` Michael Kerrisk (man-pages)
2020-09-14 10:22 ` Alejandro Colomar
2020-09-14 14:03 ` [RFC v2] system_data_types.7: Draft v2 Alejandro Colomar
2020-09-14 15:00 ` Michael Kerrisk (man-pages)
2020-09-14 15:52 ` Alejandro Colomar
2020-09-14 19:33 ` Michael Kerrisk (man-pages) [this message]
2020-09-15 0:47 ` [RFC v3] sigval.3, ssize_t.3, suseconds_t.3, time_t.3, timer_t.3, timespec.3, timeval.3, system_data_types.7: Document system types (draft v3) Alejandro Colomar
2020-09-15 6:22 ` Michael Kerrisk (man-pages)
2020-09-15 13:33 ` [RFC v4] system_data_types.7: Document sigval, ssize_t, suseconds_t, time_t, timer_t, timespec & timeval Alejandro Colomar
2020-09-15 21:30 ` Michael Kerrisk (man-pages)
2020-09-16 0:59 ` Thorsten Glaser
2020-09-16 8:03 ` Michael Kerrisk (man-pages)
2020-09-16 10:06 ` Andries E. Brouwer
2020-09-16 11:00 ` Michael Kerrisk (man-pages)
2020-09-16 10:52 ` [RFC v5] system_data_types.7: Document types: sigval, ssize_t, suseconds_t, time_t, timer_t, timespec, timeval Alejandro Colomar
2020-09-16 10:56 ` Alejandro Colomar
2020-09-16 11:01 ` [RFC v6] " Alejandro Colomar
2020-09-16 19:24 ` Michael Kerrisk (man-pages)
2020-09-16 19:51 ` Alejandro Colomar
2020-09-16 21:32 ` Thorsten Glaser
2020-09-17 9:23 ` Alejandro Colomar
2020-09-17 10:27 ` Michael Kerrisk (man-pages)
2020-09-17 10:42 ` [PATCH v7 0/8] Document system data types Alejandro Colomar
2020-09-17 21:05 ` Michael Kerrisk (man-pages)
2020-09-17 21:16 ` Alejandro Colomar
2020-09-17 10:42 ` [PATCH v7 1/8] system_data_types.7: Document types: sigval, ssize_t, suseconds_t, time_t, timer_t, timespec, timeval Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 2/8] sigval.3: Add link page Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 3/8] ssize_t.3: " Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 4/8] suseconds_t.3: " Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 5/8] time_t.3: " Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 6/8] timer_t.3: " Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 7/8] timespec.3: " Alejandro Colomar
2020-09-17 10:43 ` [PATCH v7 8/8] timeval.3: " Alejandro Colomar
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=64d8ce29-1727-4ce4-17ed-7fde3d6d6e18@gmail.com \
--to=mtk.manpages@gmail.com \
--cc=colomar.6.4.3@gmail.com \
--cc=fweimer@redhat.com \
--cc=jwilk@jwilk.net \
--cc=libbsd@lists.freedesktop.org \
--cc=linux-man@vger.kernel.org \
/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