Lines Matching defs:gc

104  * tsol_gc_t, or "gc"
107 * only mechanism to access the contents of gcdb. More than one gc
108 * entries may refer to the same gcdb record. gc's in the system are
115 * greater than zero, it contains one or more gc's, each pointing to
450 tsol_gc_t *gc;
461 for (gc = gcgrp->gcgrp_head; gc != NULL; gc = gc->gc_next) {
462 if (gc->gc_db == gcdb) {
463 ASSERT(gc->gc_grp == gcgrp);
465 gc->gc_refcnt++;
466 ASSERT(gc->gc_refcnt != 0);
471 char *, "found gc(1) in gcgrp(2)",
472 tsol_gc_t *, gc, tsol_gcgrp_t *, gcgrp);
474 return (gc);
478 gc = kmem_zalloc(sizeof (*gc), KM_NOSLEEP);
479 if (gc != NULL) {
481 gcgrp->gcgrp_head = gcgrp->gcgrp_tail = gc;
483 gcgrp->gcgrp_tail->gc_next = gc;
484 gc->gc_prev = gcgrp->gcgrp_tail;
485 gcgrp->gcgrp_tail = gc;
491 gc->gc_grp = gcgrp;
493 gc->gc_db = gcdb;
494 gc->gc_refcnt = 1;
497 "added gc(1) to gcgrp(2)", tsol_gc_t *, gc,
504 return (gc);
508 gc_inactive(tsol_gc_t *gc)
510 tsol_gcgrp_t *gcgrp = gc->gc_grp;
514 ASSERT(gc->gc_refcnt == 0);
516 if (gc->gc_prev != NULL)
517 gc->gc_prev->gc_next = gc->gc_next;
519 gcgrp->gcgrp_head = gc->gc_next;
520 if (gc->gc_next != NULL)
521 gc->gc_next->gc_prev = gc->gc_prev;
523 gcgrp->gcgrp_tail = gc->gc_prev;
531 "removed inactive gc(1) from gcgrp(2)",
532 tsol_gc_t *, gc, tsol_gcgrp_t *, gcgrp);
536 gc->gc_grp = NULL;
537 gc->gc_prev = gc->gc_next = NULL;
539 if (gc->gc_db != NULL)
540 GCDB_REFRELE(gc->gc_db);
542 kmem_free(gc, sizeof (*gc));
1241 tsol_gc_t *gc = NULL;
1283 if ((gc = attrp->igsa_gc) != NULL) {
1284 gcgrp = gc->gc_grp;
1368 if (gc != NULL) {
1380 gcdb = gc->gc_db;
1385 char *, "ire(1), tsl(2): all gc failed match",
1852 tsol_ire_init_gwattr(ire_t *ire, uchar_t ipversion, tsol_gc_t *gc)
1889 * note that gc may be set to NULL to clear out igsa_gc.
1891 attrp->igsa_gc = gc;
1893 if (gc != NULL) {
1894 gcgrp = gc->gc_grp;