};
static const sd_json_dispatch_field dispatch_table[] = {
- { "class", _SD_JSON_VARIANT_TYPE_INVALID, sd_json_dispatch_uint16, offsetof(struct params, class), SD_JSON_MANDATORY },
+ { "class", _SD_JSON_VARIANT_TYPE_INVALID, sd_json_dispatch_uint16, offsetof(struct params, class), 0 },
{ "type", _SD_JSON_VARIANT_TYPE_INVALID, sd_json_dispatch_uint16, offsetof(struct params, type), SD_JSON_MANDATORY },
{ "name", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, offsetof(struct params, name), SD_JSON_MANDATORY },
{}
};
_cleanup_(dns_resource_key_unrefp) DnsResourceKey *key = NULL;
- struct params p;
+ struct params p = {
+ .class = DNS_CLASS_IN,
+ };
int r;
assert(v);
SD_VARLINK_DEFINE_STRUCT_TYPE(
ResourceKey,
- SD_VARLINK_FIELD_COMMENT("The RR class, almost always IN, i.e 0x01."),
- SD_VARLINK_DEFINE_FIELD(class, SD_VARLINK_INT, 0),
+ SD_VARLINK_FIELD_COMMENT("The RR class, almost always IN, i.e 0x01. If unspecified defaults to IN."),
+ SD_VARLINK_DEFINE_FIELD(class, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("The RR types, one of A, AAAA, PTR, …"),
SD_VARLINK_DEFINE_FIELD(type, SD_VARLINK_INT, 0),
SD_VARLINK_FIELD_COMMENT("The domain name."),