Lines Matching defs:kctx

104 au_close(au_kcontext_t *kctx, caddr_t *d, int flag, au_event_t e_type,
112 ASSERT(kctx != NULL);
128 au_close_time(kctx, dchain, flag, e_type, e_mod, e_time);
231 au_close_time(au_kcontext_t *kctx, token_t *dchain, int flag, au_event_t e_type,
251 ASSERT(kctx != NULL);
254 ? kctx->auk_auditstate
277 if (kctx->auk_hostaddr_valid)
279 kctx->auk_info.ai_termid.at_type;
284 if (kctx->auk_policy & AUDIT_ZONENAME) {
291 if (kctx->auk_policy & AUDIT_TRAIL)
295 if (kctx->auk_policy & AUDIT_SEQ)
299 if (kctx->auk_hostaddr_valid)
312 if (kctx->auk_hostaddr_valid)
314 kctx->auk_info.ai_termid.at_type;
330 if (kctx->auk_policy & AUDIT_SEQ) {
347 if (kctx->auk_policy & AUDIT_TRAIL) {
357 au_enqueue(kctx, record, &hadr, &sadr, 1, flag & AU_DONTBLOCK);
359 au_enqueue(kctx, record, &hadr, &sadr, 0, flag & AU_DONTBLOCK);
361 AS_INC(as_totalsize, byte_count, kctx);
366 au_enqueue(au_kcontext_t *kctx, au_buff_t *m, adr_t *hadrp, adr_t *sadrp,
369 if (kctx == NULL)
372 mutex_enter(&(kctx->auk_queue.lock));
374 if (!dontblock && (kctx->auk_queue.cnt >= kctx->auk_queue.hiwater) &&
375 audit_sync_block(kctx)) {
376 mutex_exit(&(kctx->auk_queue.lock));
388 kctx->auk_sequence++;
389 adr_int32(sadrp, (int32_t *)&(kctx->auk_sequence), 1);
392 if (kctx->auk_queue.head)
393 kctx->auk_queue.tail->next_rec = m;
395 kctx->auk_queue.head = m;
397 kctx->auk_queue.tail = m;
399 if (++(kctx->auk_queue.cnt) >
400 kctx->auk_queue.lowater && kctx->auk_queue.rd_block)
401 cv_broadcast(&(kctx->auk_queue.read_cv));
403 mutex_exit(&(kctx->auk_queue.lock));
406 AS_INC(as_enqueue, 1, kctx);
415 au_dequeue(au_kcontext_t *kctx, au_buff_t *freeto)
420 ASSERT(kctx != NULL);
422 mutex_enter(&(kctx->auk_queue.lock));
424 ASSERT(kctx->auk_queue.head != NULL);
427 l = m = kctx->auk_queue.head;
435 kctx->auk_queue.cnt -= n;
437 kctx->auk_queue.head = l;
442 if (kctx->auk_queue.cnt <= kctx->auk_queue.lowater &&
443 kctx->auk_queue.wt_block)
444 cv_broadcast(&(kctx->auk_queue.write_cv));
446 mutex_exit(&(kctx->auk_queue.lock));
453 AS_INC(as_written, n, kctx);
465 audit_sync_block(au_kcontext_t *kctx)
467 ASSERT(MUTEX_HELD(&(kctx->auk_queue.lock)));
474 : (kctx->auk_auditstate != AUC_AUDITING)) ||
475 (kctx->auk_policy & AUDIT_CNT)) {
478 AS_INC(as_dropped, 1, kctx);
484 if (kctx->auk_queue.rd_block &&
485 kctx->auk_queue.cnt > kctx->auk_queue.lowater)
486 cv_broadcast(&(kctx->auk_queue.read_cv));
489 AS_INC(as_wblocked, 1, kctx);
492 kctx->auk_queue.wt_block++;
493 cv_wait(&(kctx->auk_queue.write_cv), &(kctx->auk_queue.lock));
494 kctx->auk_queue.wt_block--;
495 } while (kctx->auk_queue.cnt >= kctx->auk_queue.hiwater);
507 audit_async_block(au_kcontext_t *kctx, caddr_t *rpp)
509 ASSERT(kctx != NULL);
511 mutex_enter(&(kctx->auk_queue.lock));
513 if (kctx->auk_queue.cnt >= kctx->auk_queue.hiwater) {
514 mutex_exit(&(kctx->auk_queue.lock));
519 mutex_exit(&(kctx->auk_queue.lock));
531 au_door_upcall(au_kcontext_t *kctx, au_dbuf_t *aubuf)
550 mutex_enter(&(kctx->auk_svc_lock));
551 rc = door_upcall(kctx->auk_current_vp, &darg, NULL,
554 mutex_exit(&(kctx->auk_svc_lock));
560 mutex_enter(&(kctx->auk_eagain_mutex));
561 (void) cv_reltimedwait(&(kctx->auk_eagain_cv),
562 &(kctx->auk_eagain_mutex), ticks_to_wait,
564 mutex_exit(&(kctx->auk_eagain_mutex));
568 mutex_exit(&(kctx->auk_svc_lock)); /* no retry */
584 au_doormsg(au_kcontext_t *kctx, uint32_t message_code, void *message)
607 rc = au_door_upcall(kctx, buf);
619 au_doorio(au_kcontext_t *kctx) {
644 if (kctx->auk_queue.bufsz != kctx->auk_queue.buflen) {
645 size_t new_sz = kctx->auk_queue.bufsz;
647 kmem_free(kctx->auk_dbuffer, AU_DBUF_HEADER +
648 kctx->auk_queue.buflen);
650 kctx->auk_dbuffer = kmem_alloc(AU_DBUF_HEADER + new_sz,
654 kctx->auk_queue.buflen = new_sz;
656 if (!kctx->auk_queue.head)
662 cAR = kctx->auk_queue.head; /* start at head of queue */
666 bp = &(kctx->auk_dbuffer->aub_buf[0]);
675 len = (ssize_t)MIN(sz, kctx->auk_queue.buflen - off);
695 if ((kctx->auk_queue.buflen == off) || (part == 0)) {
702 kctx->auk_dbuffer->aub_type = partial_state;
703 kctx->auk_dbuffer->aub_size = off;
704 error = au_door_upcall(kctx, kctx->auk_dbuffer);
712 au_dequeue(kctx, sp);
760 au_kcontext_t *kctx;
765 kctx = GET_KCTX_GZ;
769 (kctx->auk_auditstate == AUC_INIT_AUDIT)) {
771 AS_INC(as_dropped, 1, kctx);
797 au_kcontext_t *kctx = GET_KCTX_GZ;
800 if ((kctx->auk_auditstate != AUC_AUDITING) &&
801 (kctx->auk_auditstate != AUC_INIT_AUDIT))
808 estate = kctx->auk_ets[event];
811 success = kctx->auk_info.ai_namask.as_success & estate;
813 failure = kctx->auk_info.ai_namask.as_failure & estate;
834 au_kcontext_t *kctx;
836 kctx = GET_KCTX_GZ;
838 au_close(kctx, ad, AU_DONTBLOCK | AU_OK, aid, PAD_NONATTR|amod, e_time);
850 au_kcontext_t *kctx;
856 kctx = GET_KCTX_GZ;
858 if (audit_async_block(kctx, (caddr_t *)&attr->audi_ad)) {
872 au_close_time(kctx, (token_t *)attr->audi_ad, attr->audi_flag,
875 au_close_time(kctx, (token_t *)attr->audi_ad, attr->audi_flag,
879 AS_INC(as_generated, 1, kctx);
880 AS_INC(as_nonattrib, 1, kctx);