Lines Matching refs:channel

93 	isc_logchannel_t *		channel;  member
229 const isc_logmodule_t *module, isc_logchannel_t *channel);
235 greatest_version(isc_logchannel_t *channel, int *greatest);
238 roll_log(isc_logchannel_t *channel);
252 #define FACILITY(channel) (channel->destination.facility) argument
253 #define FILE_NAME(channel) (channel->destination.file.name) argument
254 #define FILE_STREAM(channel) (channel->destination.file.stream) argument
255 #define FILE_VERSIONS(channel) (channel->destination.file.versions) argument
256 #define FILE_MAXSIZE(channel) (channel->destination.file.maximum_size) argument
257 #define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached) argument
393 default_channel.channel = ISC_LIST_HEAD(lcfg->channels); in isc_logconfig_create()
506 isc_logchannel_t *channel; in isc_logconfig_destroy() local
523 while ((channel = ISC_LIST_HEAD(lcfg->channels)) != NULL) { in isc_logconfig_destroy()
524 ISC_LIST_UNLINK(lcfg->channels, channel, link); in isc_logconfig_destroy()
526 if (channel->type == ISC_LOG_TOFILE) { in isc_logconfig_destroy()
533 DE_CONST(FILE_NAME(channel), filename); in isc_logconfig_destroy()
536 if (FILE_STREAM(channel) != NULL) in isc_logconfig_destroy()
537 (void)fclose(FILE_STREAM(channel)); in isc_logconfig_destroy()
540 isc_mem_free(mctx, channel->name); in isc_logconfig_destroy()
541 isc_mem_put(mctx, channel, sizeof(*channel)); in isc_logconfig_destroy()
708 isc_logchannel_t *channel; in isc_log_createchannel() local
724 channel = isc_mem_get(mctx, sizeof(*channel)); in isc_log_createchannel()
725 if (channel == NULL) in isc_log_createchannel()
728 channel->name = isc_mem_strdup(mctx, name); in isc_log_createchannel()
729 if (channel->name == NULL) { in isc_log_createchannel()
730 isc_mem_put(mctx, channel, sizeof(*channel)); in isc_log_createchannel()
734 channel->type = type; in isc_log_createchannel()
735 channel->level = level; in isc_log_createchannel()
736 channel->flags = flags; in isc_log_createchannel()
737 ISC_LINK_INIT(channel, link); in isc_log_createchannel()
741 FACILITY(channel) = destination->facility; in isc_log_createchannel()
750 FILE_NAME(channel) = in isc_log_createchannel()
752 FILE_STREAM(channel) = NULL; in isc_log_createchannel()
753 FILE_VERSIONS(channel) = destination->file.versions; in isc_log_createchannel()
754 FILE_MAXSIZE(channel) = destination->file.maximum_size; in isc_log_createchannel()
755 FILE_MAXREACHED(channel) = ISC_FALSE; in isc_log_createchannel()
759 FILE_NAME(channel) = NULL; in isc_log_createchannel()
760 FILE_STREAM(channel) = destination->file.stream; in isc_log_createchannel()
761 FILE_MAXSIZE(channel) = 0; in isc_log_createchannel()
762 FILE_VERSIONS(channel) = ISC_LOG_ROLLNEVER; in isc_log_createchannel()
770 isc_mem_put(mctx, channel->name, strlen(channel->name) + 1); in isc_log_createchannel()
771 isc_mem_put(mctx, channel, sizeof(*channel)); in isc_log_createchannel()
775 ISC_LIST_PREPEND(lcfg->channels, channel, link); in isc_log_createchannel()
782 default_channel.channel = channel; in isc_log_createchannel()
793 isc_logchannel_t *channel; in isc_log_usechannel() local
805 for (channel = ISC_LIST_HEAD(lcfg->channels); channel != NULL; in isc_log_usechannel()
806 channel = ISC_LIST_NEXT(channel, link)) in isc_log_usechannel()
807 if (strcmp(name, channel->name) == 0) in isc_log_usechannel()
810 if (channel == NULL) in isc_log_usechannel()
814 result = assignchannel(lcfg, category->id, module, channel); in isc_log_usechannel()
822 result = assignchannel(lcfg, i, module, channel); in isc_log_usechannel()
955 isc_logchannel_t *channel; in isc_log_setdebuglevel() local
966 for (channel = ISC_LIST_HEAD(lctx->logconfig->channels); in isc_log_setdebuglevel()
967 channel != NULL; in isc_log_setdebuglevel()
968 channel = ISC_LIST_NEXT(channel, link)) in isc_log_setdebuglevel()
969 if (channel->type == ISC_LOG_TOFILE && in isc_log_setdebuglevel()
970 (channel->flags & ISC_LOG_DEBUGONLY) != 0 && in isc_log_setdebuglevel()
971 FILE_STREAM(channel) != NULL) { in isc_log_setdebuglevel()
972 (void)fclose(FILE_STREAM(channel)); in isc_log_setdebuglevel()
973 FILE_STREAM(channel) = NULL; in isc_log_setdebuglevel()
1034 isc_logchannel_t *channel; in isc_log_closefilelogs() local
1039 for (channel = ISC_LIST_HEAD(lctx->logconfig->channels); in isc_log_closefilelogs()
1040 channel != NULL; in isc_log_closefilelogs()
1041 channel = ISC_LIST_NEXT(channel, link)) in isc_log_closefilelogs()
1043 if (channel->type == ISC_LOG_TOFILE && in isc_log_closefilelogs()
1044 FILE_STREAM(channel) != NULL) { in isc_log_closefilelogs()
1045 (void)fclose(FILE_STREAM(channel)); in isc_log_closefilelogs()
1046 FILE_STREAM(channel) = NULL; in isc_log_closefilelogs()
1057 const isc_logmodule_t *module, isc_logchannel_t *channel) in assignchannel() argument
1069 REQUIRE(channel != NULL); in assignchannel()
1082 new_item->channel = channel; in assignchannel()
1092 if (channel->type != ISC_LOG_TONULL) { in assignchannel()
1093 if (lcfg->highest_level < channel->level) in assignchannel()
1094 lcfg->highest_level = channel->level; in assignchannel()
1095 if (channel->level == ISC_LOG_DYNAMIC) in assignchannel()
1144 greatest_version(isc_logchannel_t *channel, int *greatestp) { in greatest_version() argument
1157 REQUIRE(channel->type == ISC_LOG_TOFILE); in greatest_version()
1163 basenam = strrchr(FILE_NAME(channel), sep); in greatest_version()
1165 basename2 = strrchr(FILE_NAME(channel), '\\'); in greatest_version()
1174 dirname = FILE_NAME(channel); in greatest_version()
1176 DE_CONST(FILE_NAME(channel), basenam); in greatest_version()
1187 if (basenam != FILE_NAME(channel)) in greatest_version()
1215 roll_log(isc_logchannel_t *channel) { in roll_log() argument
1227 if (FILE_VERSIONS(channel) == ISC_LOG_ROLLNEVER) in roll_log()
1230 path = FILE_NAME(channel); in roll_log()
1238 result = greatest_version(channel, &greatest); in roll_log()
1252 if (FILE_VERSIONS(channel) == ISC_LOG_ROLLINFINITE || in roll_log()
1253 FILE_VERSIONS(channel) > greatest) in roll_log()
1261 while (--greatest >= FILE_VERSIONS(channel)) { in roll_log()
1296 if (FILE_VERSIONS(channel) != 0) { in roll_log()
1319 isc_log_open(isc_logchannel_t *channel) { in isc_log_open() argument
1326 REQUIRE(channel->type == ISC_LOG_TOFILE); in isc_log_open()
1327 REQUIRE(FILE_STREAM(channel) == NULL); in isc_log_open()
1329 path = FILE_NAME(channel); in isc_log_open()
1341 if ((FILE_MAXSIZE(channel) == 0 && in isc_log_open()
1342 FILE_VERSIONS(channel) != ISC_LOG_ROLLNEVER) || in isc_log_open()
1343 (FILE_MAXSIZE(channel) > 0 && in isc_log_open()
1344 statbuf.st_size >= FILE_MAXSIZE(channel))) in isc_log_open()
1356 if (FILE_VERSIONS(channel) == ISC_LOG_ROLLNEVER) in isc_log_open()
1358 result = roll_log(channel); in isc_log_open()
1360 if ((channel->flags & ISC_LOG_OPENERR) == 0) { in isc_log_open()
1364 FILE_NAME(channel), in isc_log_open()
1366 channel->flags |= ISC_LOG_OPENERR; in isc_log_open()
1372 result = isc_stdio_open(path, "a", &FILE_STREAM(channel)); in isc_log_open()
1420 isc_logchannel_t *channel; in isc_log_doit() local
1498 channel = category_channels->channel; in isc_log_doit()
1501 if (((channel->flags & ISC_LOG_DEBUGONLY) != 0) && in isc_log_doit()
1505 if (channel->level == ISC_LOG_DYNAMIC) { in isc_log_doit()
1508 } else if (channel->level < level) in isc_log_doit()
1511 if ((channel->flags & ISC_LOG_PRINTTIME) != 0 && in isc_log_doit()
1520 if ((channel->flags & ISC_LOG_PRINTLEVEL) != 0 && in isc_log_doit()
1645 printtime = ISC_TF((channel->flags & ISC_LOG_PRINTTIME) in isc_log_doit()
1647 printtag = ISC_TF((channel->flags & ISC_LOG_PRINTTAG) in isc_log_doit()
1649 printcategory = ISC_TF((channel->flags & ISC_LOG_PRINTCATEGORY) in isc_log_doit()
1651 printmodule = ISC_TF((channel->flags & ISC_LOG_PRINTMODULE) in isc_log_doit()
1653 printlevel = ISC_TF((channel->flags & ISC_LOG_PRINTLEVEL) in isc_log_doit()
1656 switch (channel->type) { in isc_log_doit()
1658 if (FILE_MAXREACHED(channel)) { in isc_log_doit()
1668 if (FILE_VERSIONS(channel) != in isc_log_doit()
1670 (stat(FILE_NAME(channel), &statbuf) != 0 && in isc_log_doit()
1672 statbuf.st_size < FILE_MAXSIZE(channel)) { in isc_log_doit()
1673 (void)fclose(FILE_STREAM(channel)); in isc_log_doit()
1674 FILE_STREAM(channel) = NULL; in isc_log_doit()
1675 FILE_MAXREACHED(channel) = ISC_FALSE; in isc_log_doit()
1683 if (FILE_STREAM(channel) == NULL) { in isc_log_doit()
1684 result = isc_log_open(channel); in isc_log_doit()
1687 (channel->flags & ISC_LOG_OPENERR) == 0) { in isc_log_doit()
1690 FILE_NAME(channel), in isc_log_doit()
1692 channel->flags |= ISC_LOG_OPENERR; in isc_log_doit()
1696 channel->flags &= ~ISC_LOG_OPENERR; in isc_log_doit()
1701 fprintf(FILE_STREAM(channel), "%s%s%s%s%s%s%s%s%s%s\n", in isc_log_doit()
1715 fflush(FILE_STREAM(channel)); in isc_log_doit()
1722 if (FILE_MAXSIZE(channel) > 0) { in isc_log_doit()
1723 INSIST(channel->type == ISC_LOG_TOFILE); in isc_log_doit()
1727 if (fstat(fileno(FILE_STREAM(channel)), in isc_log_doit()
1729 statbuf.st_size > FILE_MAXSIZE(channel)) in isc_log_doit()
1730 FILE_MAXREACHED(channel) = ISC_TRUE; in isc_log_doit()
1743 (void)syslog(FACILITY(channel) | syslog_level, in isc_log_doit()