Lines Matching refs:tl
270 struct tlist *tl = calloc(1, sizeof(*tl));
271 tl->name = strdup(name);
272 ASN1_TAILQ_INIT(&tl->template);
273 return tl;
287 tlist_count(struct tlist *tl)
292 ASN1_TAILQ_FOREACH(q, &tl->template, members) {
299 tlist_add(struct tlist *tl)
301 ASN1_TAILQ_INSERT_TAIL(&tlistmaster, tl, tmembers);
305 tlist_print(struct tlist *tl)
311 fprintf(f, "static const struct asn1_template asn1_%s[] = {\n", tl->name);
312 fprintf(f, "/* 0 */ %s,\n", tl->header);
313 ASN1_TAILQ_FOREACH(q, &tl->template, members) {
314 int last = (ASN1_TAILQ_LAST(&tl->template, templatehead) == q);
334 struct tlist *tl = tlist_find_by_name(tname);
336 return tlist_cmp(tl, ql);
340 tlist_cmp(const struct tlist *tl, const struct tlist *ql)
345 ret = strcmp(tl->header, ql->header);
349 ASN1_TAILQ_FOREACH(t, &tl->template, members) {
374 tlist_find_dup(const struct tlist *tl)
379 if (tlist_cmp(ql, tl) == 0) {
809 struct tlist *tl;
813 tl = tlist_new(varname);
815 template_members(&tl->template, basetype, name, type, optional, isstruct, need_offset);
826 if (ASN1_TAILQ_EMPTY(&tl->template) && compact_tag(type)->type != TNull)
829 tlist_header(tl, "{ 0%s%s, sizeof(%s%s), ((void *)%lu) }",
832 isstruct ? "struct " : "", basetype, tlist_count(tl));
834 dup = tlist_find_dup(tl);
836 if (strcmp(dup, tl->name) == 0)
840 *dupname = tl->name;
841 tlist_print(tl);
842 tlist_add(tl);