Date: Thu, 9 Jan 2014 09:29:26 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Adrian Chadd <adrian@freebsd.org> Cc: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>, Bruce Evans <bde@freebsd.org> Subject: Re: Using sys/types.h types in sys/socket.h Message-ID: <20140109092602.M957@besplex.bde.org> In-Reply-To: <CAJ-VmonemTxS6zvdGU_SvOtnV3bzJ-rKtJcrTEfJ_NY3u7kndA@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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140109092602.M957>
