.typedef_int_exists = 1,
                .typedef_enum_exists = 1,
                .typedef_void_ptr_exists = 1,
+               .typedef_restrict_ptr_exists = 1,
                .typedef_func_proto_exists = 1,
                .typedef_arr_exists = 1,
 
                .typedef_int_matches = 1,
                .typedef_enum_matches = 1,
                .typedef_void_ptr_matches = 1,
+               .typedef_restrict_ptr_matches = 1,
                .typedef_func_proto_matches = 1,
                .typedef_arr_matches = 1,
 
 
        bool typedef_int_exists;
        bool typedef_enum_exists;
        bool typedef_void_ptr_exists;
+       bool typedef_restrict_ptr_exists;
        bool typedef_func_proto_exists;
        bool typedef_arr_exists;
 
        bool typedef_int_matches;
        bool typedef_enum_matches;
        bool typedef_void_ptr_matches;
+       bool typedef_restrict_ptr_matches;
        bool typedef_func_proto_matches;
        bool typedef_arr_matches;
 
 typedef enum { TYPEDEF_ENUM_VAL1, TYPEDEF_ENUM_VAL2 } enum_typedef;
 
 typedef void *void_ptr_typedef;
+typedef int *restrict restrict_ptr_typedef;
 
 typedef int (*func_proto_typedef)(long);
 
        int_typedef f8;
        enum_typedef f9;
        void_ptr_typedef f10;
-       func_proto_typedef f11;
-       arr_typedef f12;
+       restrict_ptr_typedef f11;
+       func_proto_typedef f12;
+       arr_typedef f13;
 };
 
 /* no types in target */
 
 typedef enum { TYPEDEF_ENUM_VAL1, TYPEDEF_ENUM_VAL2 } enum_typedef;
 
 typedef void *void_ptr_typedef;
+typedef int *restrict restrict_ptr_typedef;
 
 typedef int (*func_proto_typedef)(long);
 
        bool typedef_int_exists;
        bool typedef_enum_exists;
        bool typedef_void_ptr_exists;
+       bool typedef_restrict_ptr_exists;
        bool typedef_func_proto_exists;
        bool typedef_arr_exists;
 
        bool typedef_int_matches;
        bool typedef_enum_matches;
        bool typedef_void_ptr_matches;
+       bool typedef_restrict_ptr_matches;
        bool typedef_func_proto_matches;
        bool typedef_arr_matches;
 
        out->typedef_int_exists = bpf_core_type_exists(int_typedef);
        out->typedef_enum_exists = bpf_core_type_exists(enum_typedef);
        out->typedef_void_ptr_exists = bpf_core_type_exists(void_ptr_typedef);
+       out->typedef_restrict_ptr_exists = bpf_core_type_exists(restrict_ptr_typedef);
        out->typedef_func_proto_exists = bpf_core_type_exists(func_proto_typedef);
        out->typedef_arr_exists = bpf_core_type_exists(arr_typedef);
 
        out->typedef_int_matches = bpf_core_type_matches(int_typedef);
        out->typedef_enum_matches = bpf_core_type_matches(enum_typedef);
        out->typedef_void_ptr_matches = bpf_core_type_matches(void_ptr_typedef);
+       out->typedef_restrict_ptr_matches = bpf_core_type_matches(restrict_ptr_typedef);
        out->typedef_func_proto_matches = bpf_core_type_matches(func_proto_typedef);
        out->typedef_arr_matches = bpf_core_type_matches(arr_typedef);