BTF_KIND_UNION
return kind == BTF_KIND_STRUCT || kind == BTF_KIND_UNION;
return kind == BTF_KIND_STRUCT || kind == BTF_KIND_UNION;
case BTF_KIND_UNION:
BTF_INFO_KIND(show->state.type->info) == BTF_KIND_UNION)
case BTF_KIND_UNION:
bool is_union = BTF_INFO_KIND(t->info) == BTF_KIND_UNION;
[BTF_KIND_UNION] = "UNION",
[BTF_KIND_UNION] = &struct_ops,
if (BTF_INFO_KIND(t->info) == BTF_KIND_UNION && vlen != 1 && !(*flag & PTR_UNTRUSTED))
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
[BTF_KIND_UNION] = "UNION",
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
return btf_add_composite(btf, BTF_KIND_UNION, name, byte_sz);
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
return btf_kflag(t) ? BTF_KIND_UNION : BTF_KIND_STRUCT;
case BTF_KIND_UNION: {
case BTF_KIND_UNION: {
if ((t_kind == BTF_KIND_STRUCT || t_kind == BTF_KIND_UNION) &&
kind != BTF_KIND_UNION &&
case BTF_KIND_UNION: {
if (kind != BTF_KIND_STRUCT && kind != BTF_KIND_UNION)
(cand_kind == BTF_KIND_UNION && fwd_kind != BTF_FWD_UNION))
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
return btf_kind(t) == BTF_KIND_UNION;
return kind == BTF_KIND_STRUCT || kind == BTF_KIND_UNION;
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
case BTF_KIND_UNION: {
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION:
case BTF_KIND_UNION: return "union";
t->info = BTF_INFO_ENC(BTF_KIND_UNION, 0, vlen);
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
(targ_k == BTF_KIND_UNION && local_f);
case BTF_KIND_UNION:
return (local_k == BTF_KIND_UNION) == targ_f;
case BTF_KIND_UNION:
case BTF_KIND_UNION: {
[BTF_KIND_UNION] = "UNION",
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 1, 2), 4), /* [2] */
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 1, 2), 4), /* [3] */
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 1, 2), 4), /* [3] */
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 1, 2), 2), /* [2] */
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 0, 2), 8),
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 0, 2), 8),
BTF_TYPE_ENC(0, BTF_INFO_ENC(BTF_KIND_UNION, 0, 2), 8),
case BTF_KIND_UNION:
ASSERT_EQ(btf_kind(t), BTF_KIND_UNION, "union_kind");
exp->local_union = find_btf_type(local_btf, "a_union", BTF_KIND_UNION);
exp->targ_union = find_btf_type(targ_btf, "a_union", BTF_KIND_UNION);
{ "U", BTF_KIND_UNION, -1 },
BTF_TYPE_ENC(name, BTF_INFO_ENC(BTF_KIND_UNION, 0, nr_elems), sz)