Lines Matching defs:lctx

48 #define VALID_CONTEXT(lctx)	ISC_MAGIC_VALID(lctx, LCTX_MAGIC)
119 isc_log_t * lctx;
242 isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category,
270 isc_log_t *lctx;
278 lctx = isc_mem_get(mctx, sizeof(*lctx));
279 if (lctx != NULL) {
280 lctx->mctx = mctx;
281 lctx->categories = NULL;
282 lctx->category_count = 0;
283 lctx->modules = NULL;
284 lctx->module_count = 0;
285 lctx->debug_level = 0;
287 ISC_LIST_INIT(lctx->messages);
289 result = isc_mutex_init(&lctx->lock);
291 isc_mem_put(mctx, lctx, sizeof(*lctx));
299 * If either fails, the lctx is destroyed and not returned
302 lctx->magic = LCTX_MAGIC;
304 isc_log_registercategories(lctx, isc_categories);
305 isc_log_registermodules(lctx, isc_modules);
306 result = isc_logconfig_create(lctx, &lcfg);
315 lctx->logconfig = lcfg;
317 *lctxp = lctx;
324 if (lctx != NULL)
325 isc_log_destroy(&lctx);
332 isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) {
339 REQUIRE(VALID_CONTEXT(lctx));
341 lcfg = isc_mem_get(lctx->mctx, sizeof(*lcfg));
344 lcfg->lctx = lctx;
424 isc_logconfig_get(isc_log_t *lctx) {
425 REQUIRE(VALID_CONTEXT(lctx));
427 ENSURE(lctx->logconfig != NULL);
429 return (lctx->logconfig);
433 isc_logconfig_use(isc_log_t *lctx, isc_logconfig_t *lcfg) {
437 REQUIRE(VALID_CONTEXT(lctx));
439 REQUIRE(lcfg->lctx == lctx);
442 * Ensure that lcfg->channellist_count == lctx->category_count.
450 LOCK(&lctx->lock);
452 old_cfg = lctx->logconfig;
453 lctx->logconfig = lcfg;
455 UNLOCK(&lctx->lock);
464 isc_log_t *lctx;
471 lctx = *lctxp;
472 mctx = lctx->mctx;
474 if (lctx->logconfig != NULL) {
475 lcfg = lctx->logconfig;
476 lctx->logconfig = NULL;
480 DESTROYLOCK(&lctx->lock);
482 while ((message = ISC_LIST_HEAD(lctx->messages)) != NULL) {
483 ISC_LIST_UNLINK(lctx->messages, message, link);
489 lctx->buffer[0] = '\0';
490 lctx->debug_level = 0;
491 lctx->categories = NULL;
492 lctx->category_count = 0;
493 lctx->modules = NULL;
494 lctx->module_count = 0;
495 lctx->mctx = NULL;
496 lctx->magic = 0;
498 isc_mem_put(mctx, lctx, sizeof(*lctx));
520 REQUIRE(lcfg->lctx != NULL && lcfg->lctx->logconfig != lcfg);
522 mctx = lcfg->lctx->mctx;
558 isc_mem_free(lcfg->lctx->mctx, lcfg->tag);
570 isc_log_registercategories(isc_log_t *lctx, isc_logcategory_t categories[]) {
573 REQUIRE(VALID_CONTEXT(lctx));
584 if (lctx->categories == NULL)
585 lctx->categories = categories;
592 for (catp = lctx->categories; catp->name != NULL; )
610 catp->id = lctx->category_count++;
614 isc_log_categorybyname(isc_log_t *lctx, const char *name) {
617 REQUIRE(VALID_CONTEXT(lctx));
620 for (catp = lctx->categories; catp->name != NULL; )
637 isc_log_registermodules(isc_log_t *lctx, isc_logmodule_t modules[]) {
640 REQUIRE(VALID_CONTEXT(lctx));
651 if (lctx->modules == NULL)
652 lctx->modules = modules;
659 for (modp = lctx->modules; modp->name != NULL; )
677 modp->id = lctx->module_count++;
681 isc_log_modulebyname(isc_log_t *lctx, const char *name) {
684 REQUIRE(VALID_CONTEXT(lctx));
687 for (modp = lctx->modules; modp->name != NULL; )
723 mctx = lcfg->lctx->mctx;
793 isc_log_t *lctx;
801 lctx = lcfg->lctx;
803 REQUIRE(category == NULL || category->id < lctx->category_count);
804 REQUIRE(module == NULL || module->id < lctx->module_count);
822 for (i = 0; i < lctx->category_count; i++) {
832 isc_log_write(isc_log_t *lctx, isc_logcategory_t *category,
842 isc_log_doit(lctx, category, module, level, ISC_FALSE,
848 isc_log_vwrite(isc_log_t *lctx, isc_logcategory_t *category,
855 isc_log_doit(lctx, category, module, level, ISC_FALSE,
860 isc_log_write1(isc_log_t *lctx, isc_logcategory_t *category,
870 isc_log_doit(lctx, category, module, level, ISC_TRUE,
876 isc_log_vwrite1(isc_log_t *lctx, isc_logcategory_t *category,
883 isc_log_doit(lctx, category, module, level, ISC_TRUE,
888 isc_log_iwrite(isc_log_t *lctx, isc_logcategory_t *category,
900 isc_log_doit(lctx, category, module, level, ISC_FALSE,
906 isc_log_ivwrite(isc_log_t *lctx, isc_logcategory_t *category,
914 isc_log_doit(lctx, category, module, level, ISC_FALSE,
919 isc_log_iwrite1(isc_log_t *lctx, isc_logcategory_t *category,
931 isc_log_doit(lctx, category, module, level, ISC_TRUE,
937 isc_log_ivwrite1(isc_log_t *lctx, isc_logcategory_t *category,
945 isc_log_doit(lctx, category, module, level, ISC_TRUE,
950 isc_log_setcontext(isc_log_t *lctx) {
951 isc_lctx = lctx;
955 isc_log_setdebuglevel(isc_log_t *lctx, unsigned int level) {
958 REQUIRE(VALID_CONTEXT(lctx));
960 LOCK(&lctx->lock);
962 lctx->debug_level = level;
966 if (lctx->debug_level == 0)
967 for (channel = ISC_LIST_HEAD(lctx->logconfig->channels);
976 UNLOCK(&lctx->lock);
980 isc_log_getdebuglevel(isc_log_t *lctx) {
981 REQUIRE(VALID_CONTEXT(lctx));
983 return (lctx->debug_level);
1006 isc_mem_free(lcfg->lctx->mctx, lcfg->tag);
1007 lcfg->tag = isc_mem_strdup(lcfg->lctx->mctx, tag);
1013 isc_mem_free(lcfg->lctx->mctx, lcfg->tag);
1034 isc_log_closefilelogs(isc_log_t *lctx) {
1037 REQUIRE(VALID_CONTEXT(lctx));
1039 LOCK(&lctx->lock);
1040 for (channel = ISC_LIST_HEAD(lctx->logconfig->channels);
1049 UNLOCK(&lctx->lock);
1061 isc_log_t *lctx;
1066 lctx = lcfg->lctx;
1068 REQUIRE(category_id < lctx->category_count);
1069 REQUIRE(module == NULL || module->id < lctx->module_count);
1073 * Ensure lcfg->channellist_count == lctx->category_count.
1079 new_item = isc_mem_get(lctx->mctx, sizeof(*new_item));
1110 isc_log_t *lctx;
1115 lctx = lcfg->lctx;
1117 REQUIRE(lctx->category_count != 0);
1119 if (lctx->category_count == lcfg->channellist_count)
1122 bytes = lctx->category_count * sizeof(ISC_LIST(isc_logchannellist_t));
1124 lists = isc_mem_get(lctx->mctx, bytes);
1135 isc_mem_put(lctx->mctx, lcfg->channellists, bytes);
1139 lcfg->channellist_count = lctx->category_count;
1379 isc_log_wouldlog(isc_log_t *lctx, int level) {
1397 if (lctx == NULL || lctx->logconfig == NULL)
1400 return (ISC_TF(level <= lctx->logconfig->highest_level ||
1401 (lctx->logconfig->dynamic &&
1402 level <= lctx->debug_level)));
1406 isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category,
1424 REQUIRE(lctx == NULL || VALID_CONTEXT(lctx));
1435 if (lctx == NULL)
1438 REQUIRE(category->id < lctx->category_count);
1439 REQUIRE(module->id < lctx->module_count);
1441 if (! isc_log_wouldlog(lctx, level))
1452 LOCK(&lctx->lock);
1454 lctx->buffer[0] = '\0';
1456 lcfg = lctx->logconfig;
1502 lctx->debug_level == 0)
1506 if (lctx->debug_level < level)
1541 if (lctx->buffer[0] == '\0') {
1542 (void)vsnprintf(lctx->buffer, sizeof(lctx->buffer),
1570 message =ISC_LIST_HEAD(lctx->messages);
1590 ISC_LIST_UNLINK(lctx->messages,
1593 isc_mem_put(lctx->mctx,
1606 if (strcmp(lctx->buffer, message->text)
1613 UNLOCK(&lctx->lock);
1624 new = isc_mem_get(lctx->mctx,
1626 strlen(lctx->buffer) + 1);
1633 strcpy(new->text, lctx->buffer);
1637 ISC_LIST_APPEND(lctx->messages,
1711 lctx->buffer);
1754 lctx->buffer);
1764 UNLOCK(&lctx->lock);