Lines Matching refs:ksreq
185 kstatioc_enter(struct kstat_req *ksreq)
193 if (!ISSET(ksreq->ks_rflags, KSTATIOC_F_IGNVER) &&
194 ksreq->ks_version != kstat_version) {
207 kstatioc_leave(struct kstat_req *ksreq, struct kstat *ks)
221 ksreq->ks_updated = ks->ks_created;
222 ksreq->ks_interval.tv_sec = 0;
223 ksreq->ks_interval.tv_nsec = 0;
224 ksreq->ks_datalen = 0;
225 ksreq->ks_dataver = 0;
229 ksreq->ks_dataver = ks->ks_dataver;
230 ksreq->ks_interval = ks->ks_interval;
232 if (ksreq->ks_data == NULL) {
235 ksreq->ks_datalen = ks->ks_datalen;
236 ksreq->ks_updated = ks->ks_updated;
264 ulen = ksreq->ks_datalen;
265 ksreq->ks_datalen = klen; /* KSTAT_F_REALLOC */
266 ksreq->ks_updated = updated;
272 ksreq->ks_version = kstat_version;
273 ksreq->ks_id = ks->ks_id;
275 if (strlcpy(ksreq->ks_provider, ks->ks_provider,
276 sizeof(ksreq->ks_provider)) >= sizeof(ksreq->ks_provider))
278 ksreq->ks_instance = ks->ks_instance;
279 if (strlcpy(ksreq->ks_name, ks->ks_name,
280 sizeof(ksreq->ks_name)) >= sizeof(ksreq->ks_name))
282 ksreq->ks_unit = ks->ks_unit;
284 ksreq->ks_created = ks->ks_created;
285 ksreq->ks_type = ks->ks_type;
286 ksreq->ks_state = ks->ks_state;
293 error = copyout(buf, ksreq->ks_data, min(klen, ulen));
302 kstatioc_find_id(struct kstat_req *ksreq)
307 error = kstatioc_enter(ksreq);
311 key.ks_id = ksreq->ks_id;
315 return (kstatioc_leave(ksreq, ks));
319 kstatioc_nfind_id(struct kstat_req *ksreq)
324 error = kstatioc_enter(ksreq);
328 key.ks_id = ksreq->ks_id;
332 return (kstatioc_leave(ksreq, ks));
336 kstatioc_find_pv(struct kstat_req *ksreq)
341 error = kstatioc_enter(ksreq);
345 key.ks_provider = ksreq->ks_provider;
346 key.ks_instance = ksreq->ks_instance;
347 key.ks_name = ksreq->ks_name;
348 key.ks_unit = ksreq->ks_unit;
352 return (kstatioc_leave(ksreq, ks));
356 kstatioc_nfind_pv(struct kstat_req *ksreq)
361 error = kstatioc_enter(ksreq);
365 key.ks_provider = ksreq->ks_provider;
366 key.ks_instance = ksreq->ks_instance;
367 key.ks_name = ksreq->ks_name;
368 key.ks_unit = ksreq->ks_unit;
372 return (kstatioc_leave(ksreq, ks));
376 kstatioc_find_nm(struct kstat_req *ksreq)
381 error = kstatioc_enter(ksreq);
385 key.ks_name = ksreq->ks_name;
386 key.ks_unit = ksreq->ks_unit;
387 key.ks_provider = ksreq->ks_provider;
388 key.ks_instance = ksreq->ks_instance;
392 return (kstatioc_leave(ksreq, ks));
396 kstatioc_nfind_nm(struct kstat_req *ksreq)
401 error = kstatioc_enter(ksreq);
405 key.ks_name = ksreq->ks_name;
406 key.ks_unit = ksreq->ks_unit;
407 key.ks_provider = ksreq->ks_provider;
408 key.ks_instance = ksreq->ks_instance;
412 return (kstatioc_leave(ksreq, ks));
418 struct kstat_req *ksreq = (struct kstat_req *)data;
429 error = kstatioc_find_id(ksreq);
432 error = kstatioc_nfind_id(ksreq);
435 error = kstatioc_find_pv(ksreq);
438 error = kstatioc_nfind_pv(ksreq);
441 error = kstatioc_find_nm(ksreq);
444 error = kstatioc_nfind_nm(ksreq);