Using sys/types.h types in sys/socket.h
Bruce Evans
brde at optusnet.com.au
Fri Jan 10 11:38:39 UTC 2014
On Wed, 8 Jan 2014, Adrian Chadd wrote:
> On 8 January 2014 14:29, Bruce Evans <brde at optusnet.com.au> wrote:
>> On Wed, 8 Jan 2014, Adrian Chadd wrote:
>>
>>> On 7 January 2014 20:48, Bruce Evans <brde at 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
More information about the freebsd-arch
mailing list