Lines Matching refs:gmp
350 geom_lookupid(struct gmesh *gmp, const void *id)
354 for (gip = gmp->lg_ident; gip->lg_id != NULL; gip++)
361 geom_lookupidptr(struct gmesh *gmp, const void *id)
365 gip = geom_lookupid(gmp, id);
372 geom_xml2tree(struct gmesh *gmp, char *p)
382 memset(gmp, 0, sizeof *gmp);
383 LIST_INIT(&gmp->lg_class);
392 mt->mesh = gmp;
410 gmp->lg_ident = calloc(sizeof *gmp->lg_ident, mt->nident + 1);
412 if (gmp->lg_ident == NULL)
416 LIST_FOREACH(cl, &gmp->lg_class, lg_class) {
417 gmp->lg_ident[i].lg_id = cl->lg_id;
418 gmp->lg_ident[i].lg_ptr = cl;
419 gmp->lg_ident[i].lg_what = ISCLASS;
422 gmp->lg_ident[i].lg_id = ge->lg_id;
423 gmp->lg_ident[i].lg_ptr = ge;
424 gmp->lg_ident[i].lg_what = ISGEOM;
427 gmp->lg_ident[i].lg_id = pr->lg_id;
428 gmp->lg_ident[i].lg_ptr = pr;
429 gmp->lg_ident[i].lg_what = ISPROVIDER;
433 gmp->lg_ident[i].lg_id = co->lg_id;
434 gmp->lg_ident[i].lg_ptr = co;
435 gmp->lg_ident[i].lg_what = ISCONSUMER;
441 LIST_FOREACH(cl, &gmp->lg_class, lg_class) {
443 ge->lg_class = geom_lookupidptr(gmp, ge->lg_class);
445 pr->lg_geom = geom_lookupidptr(gmp, pr->lg_geom);
447 co->lg_geom = geom_lookupidptr(gmp, co->lg_geom);
449 co->lg_provider = geom_lookupidptr(gmp,
464 geom_gettree(struct gmesh *gmp)
472 error = geom_xml2tree(gmp, p);
478 geom_gettree_geom(struct gmesh *gmp, const char *c, const char *g, int parents)
488 error = geom_xml2tree(gmp, p);
510 geom_deletetree(struct gmesh *gmp)
517 free(gmp->lg_ident);
518 gmp->lg_ident = NULL;
520 cl = LIST_FIRST(&gmp->lg_class);