svn commit: r267633 - head/sys/sys

Hans Petter Selasky hps at selasky.org
Thu Jun 19 20:05:32 UTC 2014


On 06/19/14 16:07, Matthew Fleming wrote:
> On Wed, Jun 18, 2014 at 10:28 PM, Hans Petter Selasky
> <hselasky at freebsd.org> wrote:
>> Author: hselasky
>> Date: Thu Jun 19 05:28:42 2014
>> New Revision: 267633
>> URL: http://svnweb.freebsd.org/changeset/base/267633
>>
>> Log:
>>    Initialize sysctl OID structure by record.
>>
>>    MFC after:    2 weeks
>>
>> Modified:
>>    head/sys/sys/sysctl.h
>>
>> Modified: head/sys/sys/sysctl.h
>> ==============================================================================
>> --- head/sys/sys/sysctl.h       Thu Jun 19 05:10:03 2014        (r267632)
>> +++ head/sys/sys/sysctl.h       Thu Jun 19 05:28:42 2014        (r267633)
>> @@ -278,19 +278,16 @@ SYSCTL_ALLOWED_TYPES(UINT64, uint64_t *a
>>   /* This constructs a "raw" MIB oid. */
>>   #define        SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr)\
>>          static struct sysctl_oid sysctl__##parent##_##name = {          \
>> -               &sysctl_##parent##_children,                            \
>> -               { NULL },                                               \
>> -               nbr,                                                    \
>> -               kind,                                                   \
>> -               a1,                                                     \
>> -               a2,                                                     \
>> -               #name,                                                  \
>> -               handler,                                                \
>> -               fmt,                                                    \
>> -               0,                                                      \
>> -               0,                                                      \
>> -               __DESCR(descr)                                          \
>> -               };                                                      \
>> +               .oid_parent = &sysctl_##parent##_children,              \
>> +               .oid_number = (nbr),                                    \
>> +               .oid_kind = (kind),                                     \
>> +               .oid_arg1 = (a1),                                       \
>> +               .oid_arg2 = (a2),                                       \
>> +               .oid_name = #name,                                      \
>> +               .oid_handler = (handler),                               \
>> +               .oid_fmt = (fmt),                                       \
>> +               .oid_descr = __DESCR(descr)                             \
>> +       };                                                              \
>>          DATA_SET(sysctl_set, sysctl__##parent##_##name)
>>
>>   #define        SYSCTL_ADD_OID(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
>>
>
> C++ kernel modules break with this change, as C++ doesn't have the
> same syntax for named initializers.
>


Hi,

Are there any existing C++ kernel modules, or in ports? Even though, C++ 
kernel modules can be compiled with C files aswell, containing the sysctls.

--HPS



More information about the svn-src-head mailing list