editmesh_bevel.c: void MESH_OT_bevel(wmOperatorType *ot) { ... RNA_def_pointer(ot->srna, "prwdgt", "ProfileWidget", "", "Widget for editing profile path"); ... } static bool edbm_bevel_calc(wmOperator *op) { ... const PointerRNA prwdgt_ptr = RNA_pointer_get(op->ptr, "prwdgt"); ... } rna_profile.c: static void rna_def_profilewidget_points_api(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; PropertyRNA *parm; FunctionRNA *func; RNA_def_property_srna(cprop, "ProfilePoints"); srna = RNA_def_struct(brna, "ProfilePoints", NULL); RNA_def_struct_sdna(srna, "ProfileWidget"); RNA_def_struct_ui_text(srna, "Profile Point", "Collection of Profile Points"); ... }