Lines Matching refs:sgrp
70 cpc_setgrp_t *sgrp; in cpc_setgrp_new() local
72 sgrp = emalloc(sizeof (*sgrp)); in cpc_setgrp_new()
73 sgrp->current = -1; in cpc_setgrp_new()
74 sgrp->cpc = cpc; in cpc_setgrp_new()
75 sgrp->smt = smt; in cpc_setgrp_new()
76 sgrp->has_sysonly_set = 0; in cpc_setgrp_new()
77 return (sgrp); in cpc_setgrp_new()
118 cpc_setgrp_newset(cpc_setgrp_t *sgrp, const char *spec, int *errcnt) in cpc_setgrp_newset() argument
125 if ((set = cpc_strtoset(sgrp->cpc, spec, sgrp->smt)) == NULL) { in cpc_setgrp_newset()
130 if ((new = realloc(sgrp->sets, (1 + sgrp->nelem) * sizeof (*new))) in cpc_setgrp_newset()
137 sgrp->sets = new; in cpc_setgrp_newset()
138 sgrp->sets[sgrp->nelem].set = set; in cpc_setgrp_newset()
144 sgrp->sets[sgrp->nelem].nreqs = 0; in cpc_setgrp_newset()
145 sgrp->sets[sgrp->nelem].sysonly = 1; in cpc_setgrp_newset()
146 cpc_walk_requests(sgrp->cpc, set, &(sgrp->sets[sgrp->nelem]), in cpc_setgrp_newset()
149 if (sgrp->sets[sgrp->nelem].sysonly == 1) in cpc_setgrp_newset()
150 sgrp->has_sysonly_set = 1; in cpc_setgrp_newset()
152 sgrp->sets[sgrp->nelem].picnums = emalloc(sgrp->sets[sgrp->nelem].nreqs in cpc_setgrp_newset()
155 sgrp->sets[sgrp->nelem].hdr = emalloc((sgrp->sets[sgrp->nelem].nreqs * in cpc_setgrp_newset()
161 cpc_walk_requests(sgrp->cpc, set, sgrp->sets[sgrp->nelem].picnums, in cpc_setgrp_newset()
167 sgrp->sets[sgrp->nelem].hdr[0] = '\0'; in cpc_setgrp_newset()
168 for (i = 0; i < sgrp->sets[sgrp->nelem].nreqs; i++) { in cpc_setgrp_newset()
170 sgrp->sets[sgrp->nelem].picnums[i]); in cpc_setgrp_newset()
171 (void) strncat(sgrp->sets[sgrp->nelem].hdr, hdr, in cpc_setgrp_newset()
172 sgrp->sets[sgrp->nelem].nreqs * CHARS_PER_REQ); in cpc_setgrp_newset()
174 sgrp->sets[sgrp->nelem].hdr[strlen(sgrp->sets[sgrp->nelem].hdr)] = '\0'; in cpc_setgrp_newset()
176 if ((sgrp->sets[sgrp->nelem].name = strdup(spec)) == NULL) { in cpc_setgrp_newset()
182 if ((sgrp->sets[sgrp->nelem].data1 = cpc_buf_create(sgrp->cpc, set)) in cpc_setgrp_newset()
184 (sgrp->sets[sgrp->nelem].data2 = cpc_buf_create(sgrp->cpc, set)) in cpc_setgrp_newset()
186 (sgrp->sets[sgrp->nelem].scratch = cpc_buf_create(sgrp->cpc, set)) in cpc_setgrp_newset()
193 if (sgrp->current < 0) in cpc_setgrp_newset()
194 sgrp->current = 0; in cpc_setgrp_newset()
195 sgrp->nelem++; in cpc_setgrp_newset()
196 return (sgrp); in cpc_setgrp_newset()
200 cpc_setgrp_getbufs(cpc_setgrp_t *sgrp, cpc_buf_t ***data1, cpc_buf_t ***data2, in cpc_setgrp_getbufs() argument
203 if ((uint_t)sgrp->current >= sgrp->nelem) in cpc_setgrp_getbufs()
206 *data1 = &(sgrp->sets[sgrp->current].data1); in cpc_setgrp_getbufs()
207 *data2 = &(sgrp->sets[sgrp->current].data2); in cpc_setgrp_getbufs()
208 *scratch = &(sgrp->sets[sgrp->current].scratch); in cpc_setgrp_getbufs()
210 return (sgrp->sets[sgrp->current].nreqs); in cpc_setgrp_getbufs()
260 cpc_setgrp_delset(cpc_setgrp_t *sgrp) in cpc_setgrp_delset() argument
264 if ((uint_t)sgrp->current >= sgrp->nelem) in cpc_setgrp_delset()
265 sgrp->current = sgrp->nelem - 1; in cpc_setgrp_delset()
266 if (sgrp->current < 0) in cpc_setgrp_delset()
268 free(sgrp->sets[sgrp->current].name); in cpc_setgrp_delset()
269 free(sgrp->sets[sgrp->current].hdr); in cpc_setgrp_delset()
270 free(sgrp->sets[sgrp->current].picnums); in cpc_setgrp_delset()
271 (void) cpc_buf_destroy(sgrp->cpc, sgrp->sets[sgrp->current].data1); in cpc_setgrp_delset()
272 (void) cpc_buf_destroy(sgrp->cpc, sgrp->sets[sgrp->current].data2); in cpc_setgrp_delset()
273 (void) cpc_buf_destroy(sgrp->cpc, sgrp->sets[sgrp->current].scratch); in cpc_setgrp_delset()
274 for (l = sgrp->current; l < sgrp->nelem - 1; l++) in cpc_setgrp_delset()
275 sgrp->sets[l] = sgrp->sets[l + 1]; in cpc_setgrp_delset()
276 sgrp->nelem--; in cpc_setgrp_delset()
280 cpc_setgrp_free(cpc_setgrp_t *sgrp) in cpc_setgrp_free() argument
282 if (sgrp->sets) { in cpc_setgrp_free()
283 while (sgrp->nelem) in cpc_setgrp_free()
284 cpc_setgrp_delset(sgrp); in cpc_setgrp_free()
285 free(sgrp->sets); in cpc_setgrp_free()
287 free(sgrp); in cpc_setgrp_free()
291 cpc_setgrp_getset(cpc_setgrp_t *sgrp) in cpc_setgrp_getset() argument
293 if ((uint_t)sgrp->current >= sgrp->nelem) in cpc_setgrp_getset()
295 return (sgrp->sets[sgrp->current].set); in cpc_setgrp_getset()
299 cpc_setgrp_getname(cpc_setgrp_t *sgrp) in cpc_setgrp_getname() argument
301 if ((uint_t)sgrp->current >= sgrp->nelem) in cpc_setgrp_getname()
303 return (sgrp->sets[sgrp->current].name); in cpc_setgrp_getname()
307 cpc_setgrp_gethdr(cpc_setgrp_t *sgrp) in cpc_setgrp_gethdr() argument
309 if ((uint_t)sgrp->current >= sgrp->nelem) in cpc_setgrp_gethdr()
311 return (sgrp->sets[sgrp->current].hdr); in cpc_setgrp_gethdr()
315 cpc_setgrp_numsets(cpc_setgrp_t *sgrp) in cpc_setgrp_numsets() argument
317 return (sgrp->nelem); in cpc_setgrp_numsets()
321 cpc_setgrp_nextset(cpc_setgrp_t *sgrp) in cpc_setgrp_nextset() argument
323 if (sgrp->current < 0) in cpc_setgrp_nextset()
326 if (++sgrp->current >= sgrp->nelem) in cpc_setgrp_nextset()
327 sgrp->current = 0; in cpc_setgrp_nextset()
329 return (cpc_setgrp_getset(sgrp)); in cpc_setgrp_nextset()
336 cpc_setgrp_reset(cpc_setgrp_t *sgrp) in cpc_setgrp_reset() argument
338 if (sgrp->current > 0) in cpc_setgrp_reset()
339 sgrp->current = 0; in cpc_setgrp_reset()
346 cpc_setgrp_accum(cpc_setgrp_t *accum, cpc_setgrp_t *sgrp) in cpc_setgrp_accum() argument
351 cpc_setgrp_reset(sgrp); in cpc_setgrp_accum()
352 if (accum->nelem != sgrp->nelem) in cpc_setgrp_accum()
355 for (i = 0; i < sgrp->nelem; i++) { in cpc_setgrp_accum()
356 if (accum->sets[i].nreqs != sgrp->sets[i].nreqs) in cpc_setgrp_accum()
358 cpc_buf_add(sgrp->cpc, accum->sets[i].data1, in cpc_setgrp_accum()
359 accum->sets[i].data1, sgrp->sets[i].data1); in cpc_setgrp_accum()
367 cpc_setgrp_sysonly(cpc_setgrp_t *sgrp) in cpc_setgrp_sysonly() argument
369 return ((int)sgrp->sets[sgrp->current].sysonly); in cpc_setgrp_sysonly()
376 cpc_setgrp_has_sysonly(cpc_setgrp_t *sgrp) in cpc_setgrp_has_sysonly() argument
378 return (sgrp->has_sysonly_set); in cpc_setgrp_has_sysonly()