Lines Matching refs:ti

44 	ndr_typeinfo_t		*ti;  member
76 ndr_typeinfo_t *ti; in show_typeinfo_list() local
83 for (ti = typeinfo_list; ti; ti = ti->next) { in show_typeinfo_list()
84 switch (ti->type_op) { in show_typeinfo_list()
101 type_extern_suffix(ti, fname_type, NDLBUFSZ); in show_typeinfo_list()
102 if (ti->is_extern) { in show_typeinfo_list()
105 } else if (!ti->is_referenced) { in show_typeinfo_list()
112 ti->type_op); in show_typeinfo_list()
117 show_advice(&ti->advice, 0); in show_typeinfo_list()
118 (void) printf("%s %s {\n", p, ti->type_name->n_sym->name); in show_typeinfo_list()
120 for (i = 0; i < ti->n_member; i++) { in show_typeinfo_list()
121 mem = &ti->member[i]; in show_typeinfo_list()
136 ti->size_fixed_part, in show_typeinfo_list()
137 ti->size_variable_part, in show_typeinfo_list()
138 ti->alignment, in show_typeinfo_list()
139 ti->complete, in show_typeinfo_list()
140 ti->has_pointers); in show_typeinfo_list()
147 ndr_typeinfo_t *ti; in type_extern_suffix() local
152 for (ti = tsti; ti; ti = ti->type_down) { in type_extern_suffix()
153 switch (ti->type_op) { in type_extern_suffix()
159 ti->type_name->n_sym->name); in type_extern_suffix()
167 if (ti->type_dim) { in type_extern_suffix()
169 ti->type_dim->n_int); in type_extern_suffix()
180 (void) snprintf(p_fb, buflen, "?<%d>", ti->type_op); in type_extern_suffix()
191 ndr_typeinfo_t *ti; in type_ident_decl1() local
199 ti = tup->ti; in type_ident_decl1()
201 switch (ti->type_op) { in type_ident_decl1()
206 "", ti->type_name->n_sym->name, *fb ? " " : "", fb); in type_ident_decl1()
212 "struct ", ti->type_name->n_sym->name, *fb ? " " : "", fb); in type_ident_decl1()
218 "union ", ti->type_name->n_sym->name, *fb ? " " : "", fb); in type_ident_decl1()
234 if (ti->type_dim) { in type_ident_decl1()
236 p, ti->type_dim->n_int); in type_ident_decl1()
255 compile_error("unknown type or keyword <%d>", ti->type_op); in type_ident_decl1()
263 ndr_typeinfo_t *ti; in type_ident_decl() local
269 for (ti = tsti; ti; ti = ti->type_down, n_tt++) { in type_ident_decl()
272 tup->ti = ti; in type_ident_decl()
318 ndr_typeinfo_t *ti; in analyze_typeinfo_list() local
320 for (ti = typeinfo_list; ti; ti = ti->next) { in analyze_typeinfo_list()
321 switch (ti->type_op) { in analyze_typeinfo_list()
323 analyze_typeinfo_struct(ti); in analyze_typeinfo_list()
327 analyze_typeinfo_union(ti); in analyze_typeinfo_list()
331 analyze_typeinfo_typedef(ti); in analyze_typeinfo_list()
338 analyze_typeinfo_typedef(ndr_typeinfo_t *ti) in analyze_typeinfo_typedef() argument
346 assert(ti->type_op == TYPEDEF_KW); in analyze_typeinfo_typedef()
351 determine_advice(&ti->advice, ti->definition->n_c_advice); in analyze_typeinfo_typedef()
357 mem_np = ti->definition->n_c_members; in analyze_typeinfo_typedef()
360 assert(i < ti->n_member); in analyze_typeinfo_typedef()
361 mem = &ti->member[i]; in analyze_typeinfo_typedef()
369 assert(1 == ti->n_member); in analyze_typeinfo_typedef()
371 analyze_typeinfo_aggregate_finish(ti); in analyze_typeinfo_typedef()
374 while (offset & ti->alignment) in analyze_typeinfo_typedef()
377 ti->size_fixed_part = offset; in analyze_typeinfo_typedef()
381 analyze_typeinfo_struct(ndr_typeinfo_t *ti) in analyze_typeinfo_struct() argument
389 assert(ti->type_op == STRUCT_KW); in analyze_typeinfo_struct()
395 determine_advice(&ti->advice, ti->definition->n_c_advice); in analyze_typeinfo_struct()
401 mem_np = ti->definition->n_c_members; in analyze_typeinfo_struct()
405 assert(i < ti->n_member); in analyze_typeinfo_struct()
406 mem = &ti->member[i]; in analyze_typeinfo_struct()
408 if (!ti->advice.a_operation /* no var-size in op param */ && in analyze_typeinfo_struct()
409 i == ti->n_member-1) /* only last mem may be var-size */ in analyze_typeinfo_struct()
416 assert(i == ti->n_member); in analyze_typeinfo_struct()
418 analyze_typeinfo_aggregate_finish(ti); /* align,complete,ptrs,etc */ in analyze_typeinfo_struct()
421 while (offset & ti->alignment) in analyze_typeinfo_struct()
424 ti->size_fixed_part = offset; in analyze_typeinfo_struct()
427 mem = &ti->member[ti->n_member-1]; in analyze_typeinfo_struct()
428 ti->size_variable_part = mem->type->size_variable_part; in analyze_typeinfo_struct()
430 if (ti->size_variable_part) in analyze_typeinfo_struct()
431 ti->is_conformant = 1; in analyze_typeinfo_struct()
435 analyze_typeinfo_union(ndr_typeinfo_t *ti) in analyze_typeinfo_union() argument
443 assert(ti->type_op == UNION_KW); in analyze_typeinfo_union()
449 determine_advice(&ti->advice, ti->definition->n_c_advice); in analyze_typeinfo_union()
455 mem_np = ti->definition->n_c_members; in analyze_typeinfo_union()
459 assert(i < ti->n_member); in analyze_typeinfo_union()
460 mem = &ti->member[i]; in analyze_typeinfo_union()
470 assert(i == ti->n_member); in analyze_typeinfo_union()
472 analyze_typeinfo_aggregate_finish(ti); /* align,complete,ptrs,etc */ in analyze_typeinfo_union()
475 while (size & ti->alignment) in analyze_typeinfo_union()
478 ti->size_fixed_part = size; in analyze_typeinfo_union()
482 analyze_typeinfo_aggregate_finish(ndr_typeinfo_t *ti) in analyze_typeinfo_aggregate_finish() argument
489 for (i = 0; i < ti->n_member; i++) { in analyze_typeinfo_aggregate_finish()
490 mem = &ti->member[i]; in analyze_typeinfo_aggregate_finish()
494 ti->alignment |= mem->type->alignment; in analyze_typeinfo_aggregate_finish()
497 ti->complete = complete; in analyze_typeinfo_aggregate_finish()
498 ti->has_pointers = has_pointers; in analyze_typeinfo_aggregate_finish()
758 ndr_typeinfo_t *ti; in seed_basic_types() local
768 ti = ndr_alloc(1, sizeof (ndr_typeinfo_t)); in seed_basic_types()
770 ti->type_op = BASIC_TYPE; in seed_basic_types()
771 ti->definition = &sym->s_node; in seed_basic_types()
772 ti->type_name = &sym->s_node; in seed_basic_types()
773 ti->size_fixed_part = sym->kw->value; in seed_basic_types()
774 ti->alignment = ti->size_fixed_part - 1; in seed_basic_types()
775 ti->complete = 1; in seed_basic_types()
776 ti->is_extern = 1; in seed_basic_types()
778 append_typeinfo(ti); in seed_basic_types()
782 proto_ti.type_down = ti; in seed_basic_types()
784 ti = bind_typeinfo(&proto_ti); in seed_basic_types()
785 ti->is_extern = 1; in seed_basic_types()
795 ndr_typeinfo_t *ti; in seed_construct_types() local
799 ti = ndr_alloc(1, sizeof (ndr_typeinfo_t)); in seed_construct_types()
801 ti->type_op = construct->label; in seed_construct_types()
802 ti->definition = construct; in seed_construct_types()
804 switch (ti->type_op) { in seed_construct_types()
808 ti->type_name = construct->n_c_typename; in seed_construct_types()
815 ti->n_member = n_member; in seed_construct_types()
817 ti->member = ndr_alloc(n_member, in seed_construct_types()
822 fatal_error("seed_construct unknown %d\n", ti->type_op); in seed_construct_types()
826 determine_advice(&ti->advice, construct->n_c_advice); in seed_construct_types()
828 ti->is_referenced = 1; /* always generate */ in seed_construct_types()
830 append_typeinfo(ti); in seed_construct_types()
835 append_typeinfo(ndr_typeinfo_t *ti) in append_typeinfo() argument
842 *pp = ti; in append_typeinfo()
843 ti->next = 0; in append_typeinfo()
849 ndr_typeinfo_t *ti; in bind_typeinfo() local
852 for (ti = typeinfo_list; ti; ti = ti->next) { in bind_typeinfo()
853 if (ti->type_op != proto_ti->type_op) in bind_typeinfo()
856 switch (ti->type_op) { in bind_typeinfo()
858 if (ti->type_down != proto_ti->type_down) in bind_typeinfo()
863 if (ti->type_down != proto_ti->type_down) in bind_typeinfo()
868 if (ti->type_down != proto_ti->type_down) in bind_typeinfo()
870 if (ti->type_dim != proto_ti->type_dim) in bind_typeinfo()
878 if (ti->type_name != proto_ti->type_name) in bind_typeinfo()
883 fatal_error("bind_typeinfo unknown %d\n", ti->type_op); in bind_typeinfo()
887 return (ti); in bind_typeinfo()
890 ti = ndr_alloc(1, sizeof (ndr_typeinfo_t)); in bind_typeinfo()
892 *ti = *proto_ti; in bind_typeinfo()
893 append_typeinfo(ti); in bind_typeinfo()
895 switch (ti->type_op) { in bind_typeinfo()
897 ti->size_fixed_part = 4; in bind_typeinfo()
898 ti->alignment = 3; in bind_typeinfo()
899 ti->complete = 1; in bind_typeinfo()
900 ti->has_pointers = 1; in bind_typeinfo()
906 ti->alignment = tdti->alignment; in bind_typeinfo()
909 } else if (ti->type_dim) { in bind_typeinfo()
910 ti->size_fixed_part = tdti->size_fixed_part * in bind_typeinfo()
911 ti->type_dim->n_int; in bind_typeinfo()
913 ti->size_variable_part = tdti->size_fixed_part; in bind_typeinfo()
914 ti->is_conformant = 1; in bind_typeinfo()
920 ti->has_pointers = tdti->has_pointers; in bind_typeinfo()
921 ti->complete = 1; in bind_typeinfo()
925 compile_error("bind_type internal error op=%d", ti->type_op); in bind_typeinfo()
934 if (ti->type_op == STAR && ti->type_down->type_op == UNION_KW) { in bind_typeinfo()
943 if (ti->type_op == LB && ti->type_down->type_op == UNION_KW) { in bind_typeinfo()
947 return (ti); in bind_typeinfo()
953 ndr_typeinfo_t *ti; in find_typeinfo_by_name() local
955 for (ti = typeinfo_list; ti; ti = ti->next) { in find_typeinfo_by_name()
956 if (ti->type_name == typename) in find_typeinfo_by_name()
957 return (ti); in find_typeinfo_by_name()
963 ti = ndr_alloc(1, sizeof (ndr_typeinfo_t)); in find_typeinfo_by_name()
964 ti->type_op = BASIC_TYPE; in find_typeinfo_by_name()
965 ti->definition = typename; in find_typeinfo_by_name()
966 ti->type_name = typename; in find_typeinfo_by_name()
967 ti->size_fixed_part = 0; in find_typeinfo_by_name()
968 ti->alignment = 0; in find_typeinfo_by_name()
970 append_typeinfo(ti); in find_typeinfo_by_name()
971 return (ti); in find_typeinfo_by_name()