Lines Matching defs:channel

52  * This is the structure that holds each named channel.  A simple linked
53 * list chains all of the channels together, so an individual channel is
83 isc_logchannel_t * channel;
152 * Used when ISC_LOG_PRINTLEVEL is enabled for a channel.
205 * because its channel member is pointed to a channel that is created
220 const isc_logmodule_t *module, isc_logchannel_t *channel);
240 #define FACILITY(channel) (channel->destination.facility)
241 #define FILE_NAME(channel) (channel->destination.file.name)
242 #define FILE_STREAM(channel) (channel->destination.file.stream)
243 #define FILE_VERSIONS(channel) (channel->destination.file.versions)
244 #define FILE_MAXSIZE(channel) (channel->destination.file.maximum_size)
245 #define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
345 * config. If the channel creation fails, the lcfg is not
378 * Set the default category's channel to default_stderr,
382 default_channel.channel = ISC_LIST_HEAD(lcfg->channels);
495 isc_logchannel_t *channel;
512 while ((channel = ISC_LIST_HEAD(lcfg->channels)) != NULL) {
513 ISC_LIST_UNLINK(lcfg->channels, channel, link);
515 if (channel->type == ISC_LOG_TOFILE) {
517 * The filename for the channel may have ultimately
522 DE_CONST(FILE_NAME(channel), filename);
525 if (FILE_STREAM(channel) != NULL)
526 (void)fclose(FILE_STREAM(channel));
529 isc_mem_free(mctx, channel->name);
530 isc_mem_put(mctx, channel, sizeof(*channel));
697 isc_logchannel_t *channel;
714 channel = isc_mem_get(mctx, sizeof(*channel));
715 if (channel == NULL)
718 channel->name = isc_mem_strdup(mctx, name);
719 if (channel->name == NULL) {
720 isc_mem_put(mctx, channel, sizeof(*channel));
724 channel->type = type;
725 channel->level = level;
726 channel->flags = flags;
727 ISC_LINK_INIT(channel, link);
731 FACILITY(channel) = destination->facility;
740 FILE_NAME(channel) =
742 FILE_STREAM(channel) = NULL;
743 FILE_VERSIONS(channel) = destination->file.versions;
744 FILE_MAXSIZE(channel) = destination->file.maximum_size;
745 FILE_MAXREACHED(channel) = ISC_FALSE;
749 FILE_NAME(channel) = NULL;
750 FILE_STREAM(channel) = destination->file.stream;
751 FILE_MAXSIZE(channel) = 0;
752 FILE_VERSIONS(channel) = ISC_LOG_ROLLNEVER;
760 isc_mem_free(mctx, channel->name);
761 isc_mem_put(mctx, channel, sizeof(*channel));
765 ISC_LIST_PREPEND(lcfg->channels, channel, link);
772 default_channel.channel = channel;
783 isc_logchannel_t *channel;
795 for (channel = ISC_LIST_HEAD(lcfg->channels); channel != NULL;
796 channel = ISC_LIST_NEXT(channel, link))
797 if (strcmp(name, channel->name) == 0)
800 if (channel == NULL)
804 result = assignchannel(lcfg, category->id, module, channel);
809 * the default channel.
812 result = assignchannel(lcfg, i, module, channel);
945 isc_logchannel_t *channel;
956 for (channel = ISC_LIST_HEAD(lctx->logconfig->channels);
957 channel != NULL;
958 channel = ISC_LIST_NEXT(channel, link))
959 if (channel->type == ISC_LOG_TOFILE &&
960 (channel->flags & ISC_LOG_DEBUGONLY) != 0 &&
961 FILE_STREAM(channel) != NULL) {
962 (void)fclose(FILE_STREAM(channel));
963 FILE_STREAM(channel) = NULL;
1024 isc_logchannel_t *channel;
1029 for (channel = ISC_LIST_HEAD(lctx->logconfig->channels);
1030 channel != NULL;
1031 channel = ISC_LIST_NEXT(channel, link))
1033 if (channel->type == ISC_LOG_TOFILE &&
1034 FILE_STREAM(channel) != NULL) {
1035 (void)fclose(FILE_STREAM(channel));
1036 FILE_STREAM(channel) = NULL;
1047 const isc_logmodule_t *module, isc_logchannel_t *channel)
1059 REQUIRE(channel != NULL);
1072 new_item->channel = channel;
1078 * Remember the highest logging level set by any channel in the
1080 * message is too high to be logged by any channel.
1082 if (channel->type != ISC_LOG_TONULL) {
1083 if (lcfg->highest_level < channel->level)
1084 lcfg->highest_level = channel->level;
1085 if (channel->level == ISC_LOG_DYNAMIC)
1303 isc_log_open(isc_logchannel_t *channel) {
1310 REQUIRE(channel->type == ISC_LOG_TOFILE);
1311 REQUIRE(FILE_STREAM(channel) == NULL);
1313 path = FILE_NAME(channel);
1325 if ((FILE_MAXSIZE(channel) == 0 &&
1326 FILE_VERSIONS(channel) != ISC_LOG_ROLLNEVER) ||
1327 (FILE_MAXSIZE(channel) > 0 &&
1328 statbuf.st_size >= FILE_MAXSIZE(channel)))
1340 if (FILE_VERSIONS(channel) == ISC_LOG_ROLLNEVER)
1342 result = isc_logfile_roll(&channel->destination.file);
1344 if ((channel->flags & ISC_LOG_OPENERR) == 0) {
1348 FILE_NAME(channel),
1350 channel->flags |= ISC_LOG_OPENERR;
1356 result = isc_stdio_open(path, "a", &FILE_STREAM(channel));
1369 * highest_level, or if there is a dynamic channel and the level is
1403 isc_logchannel_t *channel;
1449 * If the channel list end was reached and a match was made,
1468 * default channel.
1481 channel = category_channels->channel;
1484 if (((channel->flags & ISC_LOG_DEBUGONLY) != 0) &&
1488 if (channel->level == ISC_LOG_DYNAMIC) {
1491 } else if (channel->level < level)
1494 if ((channel->flags & ISC_LOG_PRINTTIME) != 0 &&
1503 if ((channel->flags & ISC_LOG_PRINTLEVEL) != 0 &&
1631 printtime = ISC_TF((channel->flags & ISC_LOG_PRINTTIME)
1633 printtag = ISC_TF((channel->flags &
1636 printcolon = ISC_TF((channel->flags & ISC_LOG_PRINTTAG)
1638 printcategory = ISC_TF((channel->flags & ISC_LOG_PRINTCATEGORY)
1640 printmodule = ISC_TF((channel->flags & ISC_LOG_PRINTMODULE)
1642 printlevel = ISC_TF((channel->flags & ISC_LOG_PRINTLEVEL)
1644 buffered = ISC_TF((channel->flags & ISC_LOG_BUFFERED)
1647 switch (channel->type) {
1649 if (FILE_MAXREACHED(channel)) {
1659 if (FILE_VERSIONS(channel) !=
1661 (stat(FILE_NAME(channel), &statbuf) != 0 &&
1663 statbuf.st_size < FILE_MAXSIZE(channel)) {
1664 (void)fclose(FILE_STREAM(channel));
1665 FILE_STREAM(channel) = NULL;
1666 FILE_MAXREACHED(channel) = ISC_FALSE;
1674 if (FILE_STREAM(channel) == NULL) {
1675 result = isc_log_open(channel);
1678 (channel->flags & ISC_LOG_OPENERR) == 0) {
1681 FILE_NAME(channel),
1683 channel->flags |= ISC_LOG_OPENERR;
1687 channel->flags &= ~ISC_LOG_OPENERR;
1692 fprintf(FILE_STREAM(channel),
1708 fflush(FILE_STREAM(channel));
1715 if (FILE_MAXSIZE(channel) > 0) {
1716 INSIST(channel->type == ISC_LOG_TOFILE);
1720 if (fstat(fileno(FILE_STREAM(channel)),
1722 statbuf.st_size > FILE_MAXSIZE(channel))
1723 FILE_MAXREACHED(channel) = ISC_TRUE;
1736 (void)syslog(FACILITY(channel) | syslog_level,