Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jan 2014 22:38:20 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Adrian Chadd <adrian@FreeBSD.org>
Cc:        "freebsd-arch@freebsd.org" <freebsd-arch@FreeBSD.org>
Subject:   Re: Using sys/types.h types in sys/socket.h
Message-ID:  <20140110222640.F2338@besplex.bde.org>
In-Reply-To: <CAJ-VmoncQm2KWjhhAHhArkSGR-wQOxhYeNxzp15R0h5UffQhzA@mail.gmail.com>
References:  <CAJ-Vmo=MWPQWfP9duWPPwaKee5Zp9Gemj3GKqE8=bxkjn_1YYA@mail.gmail.com> <9C1291B5-215B-440E-B8B0-6308840F755C@bsdimp.com> <CAJ-Vmom3FQOb1ZQTwbmbSiT90N6tmKOoPg8JPQAapkJg2TXqFA@mail.gmail.com> <5821DA91-E9C7-4D1A-A108-63E74CFF1FC5@bsdimp.com> <20140108152632.L969@besplex.bde.org> <CAJ-VmonemTxS6zvdGU_SvOtnV3bzJ-rKtJcrTEfJ_NY3u7kndA@mail.gmail.com> <20140109092602.M957@besplex.bde.org> <CAJ-VmoncQm2KWjhhAHhArkSGR-wQOxhYeNxzp15R0h5UffQhzA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Wed, 8 Jan 2014, Adrian Chadd wrote:

> On 8 January 2014 14:29, Bruce Evans <brde@optusnet.com.au> wrote:
>> On Wed, 8 Jan 2014, Adrian Chadd wrote:
>>
>>> On 7 January 2014 20:48, Bruce Evans <brde@optusnet.com.au> wrote:
>>>>
>>>> Style(9) specifies sorting by size first (it actually mean by alignment
>>>> first).  That is not very easy since the size^Walignment of typedefed
>>>> types should be opaque.  In practice, assuming what it is mostly gives
>>>> correct results.  It gives exactly the opposite of the above:
>>>>
>>>>     N-bit u_int holding ptr
>>>>     M-bit pointer              /* assume M <= N and alignment == size */
>>>>     32-bit u_int (can spell it u_int, not uint32_t, to pack better with
>>>> int)
>>>>     32-bit int                 /* assume plain int gives this */
>>>
>>>
>>> So:
>>>
>>> /*
>>> * sendfile(2) kqueue information
>>> */
>>> struct sf_hdtr_kq {
>>>        uintptr_t kq_ident;     /* ident (from userland?) */
>>>        void *kq_udata;         /* user data pointer */
>>>        uint32_t kq_flags;      /* extra flags to pass in */
>>>        int kq_fd;              /* kq fd to post completion events on */
>>> };
>>>
>>> ?
>>
>>
>> Also fix the indentation (use 1 tab after 'void' and 'int' and not the
>> allowed ugliness of 2 tabs after all type names).
>>
>> Bruce
>
> /*
> * sendfile(2) kqueue information
> */
> struct sf_hdtr_kq {
>        __uintptr_t kq_ident;   /* ident (from userland?) */
>        void    *kq_udata;      /* user data pointer */
>        __uint32_t kq_flags;    /* extra flags to pass in */
>        int     kq_fd;  /* kq fd to post completion events on */
> };
>
> Ok, so I've removed one tab from the comments and added a tab after void/int.
>
> How's that?

Now the last comment is misindented.

This also has the unrelated change of using __ufoo instead of ufoo.  I
think that is only correct if the types are supposed to be almost opaque,
with the details not part of the API.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140110222640.F2338>