# Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

# \brief Message Utility Message File
#
# This is the source of the set of messages generated by the message and
# logging components.  The associated .h and .cc files are created by hand from
# this file though and are not built during the build process; this is to avoid
# the chicken-and-egg situation where we need the files to build the message
# compiler, yet we need the compiler to build the files.

$NAMESPACE isc::log

% LOG_BAD_DESTINATION unrecognized log destination: %1
A logger destination value was given that was not recognized. The
destination should be one of "console", "file", or "syslog".

% LOG_BAD_SEVERITY unrecognized log severity: %1
A logger severity value was given that was not recognized. The severity
should be one of "DEBUG", "INFO", "WARN", "ERROR", "FATAL" or "NONE".

% LOG_BAD_STREAM bad log console output stream: %1
Logging has been configured so that output is written to the terminal
(console) but the stream on which it is to be written is not recognised.
Allowed values are "stdout" and "stderr".

% LOG_DUPLICATE_MESSAGE_ID duplicate message ID (%1) in compiled code
During start-up, BIND 10 detected that the given message identification
had been defined multiple times in the BIND 10 code.  This indicates a
programming error; please submit a bug report.

% LOG_DUPLICATE_NAMESPACE line %1: duplicate $NAMESPACE directive found
When reading a message file, more than one $NAMESPACE directive was found.
(This directive is used to set a C++ namespace when generating header
files during software development.)  Such a condition is regarded as an
error and the read will be abandoned.

% LOG_INPUT_OPEN_FAIL unable to open message file %1 for input: %2
The program was not able to open the specified input message file for
the reason given.

% LOG_INVALID_MESSAGE_ID line %1: invalid message identification '%2'
An invalid message identification (ID) has been found during the read of
a message file.  Message IDs should comprise only alphanumeric characters
and the underscore, and should not start with a digit.

% LOG_NAMESPACE_EXTRA_ARGS line %1: $NAMESPACE directive has too many arguments
The $NAMESPACE directive in a message file takes a single argument, a
namespace in which all the generated symbol names are placed.  This error
is generated when the compiler finds a $NAMESPACE directive with more
than one argument.

% LOG_NAMESPACE_INVALID_ARG line %1: $NAMESPACE directive has an invalid argument ('%2')
The $NAMESPACE argument in a message file should be a valid C++ namespace.
This message is output if the simple check on the syntax of the string
carried out by the reader fails.

% LOG_NAMESPACE_NO_ARGS line %1: no arguments were given to the $NAMESPACE directive
The $NAMESPACE directive in a message file takes a single argument,
a C++ namespace in which all the generated symbol names are placed.
This error is generated when the compiler finds a $NAMESPACE directive
with no arguments.

% LOG_NO_MESSAGE_ID line %1: message definition line found without a message ID
Within a message file, message are defined by lines starting with a "%".
The rest of the line should comprise the message ID and text describing
the message.  This error indicates the message compiler found a line in
the message file comprising just the "%" and nothing else.

% LOG_NO_MESSAGE_TEXT line %1: line found containing a message ID ('%2') and no text
Within a message file, message are defined by lines starting with a "%".
The rest of the line should comprise the message ID and text describing
the message.  This error indicates the message compiler found a line
in the message file comprising just the "%" and message identification,
but no text.

% LOG_NO_SUCH_MESSAGE could not replace message text for '%1': no such message
During start-up a local message file was read.  A line with the listed
message identification was found in the file, but the identification is
not one contained in the compiled-in message dictionary.  This message
may appear a number of times in the file, once for every such unknown
message identification.

There may be several reasons why this message may appear:

- The message ID has been mis-spelled in the local message file.

- The program outputting the message may not use that particular message
(e.g. it originates in a module not used by the program).

- The local file was written for an earlier version of the BIND 10 software
and the later version no longer generates that message.

Whatever the reason, there is no impact on the operation of BIND 10.

% LOG_OPEN_OUTPUT_FAIL unable to open %1 for output: %2
Originating within the logging code, the program was not able to open
the specified output file for the reason given.

% LOG_PREFIX_EXTRA_ARGS line %1: $PREFIX directive has too many arguments
Within a message file, the $PREFIX directive takes a single argument,
a prefix to be added to the symbol names when a C++ file is created.
This error is generated when the compiler finds a $PREFIX directive with
more than one argument.

Note: the $PREFIX directive is deprecated and will be removed in a future
version of BIND 10.

% LOG_PREFIX_INVALID_ARG line %1: $PREFIX directive has an invalid argument ('%2')
Within a message file, the $PREFIX directive takes a single argument,
a prefix to be added to the symbol names when a C++ file is created.
As such, it must adhere to restrictions on C++ symbol names (e.g. may
only contain alphanumeric characters or underscores, and may nor start
with a digit).  A $PREFIX directive was found with an argument (given
in the message) that violates those restrictions.

Note: the $PREFIX directive is deprecated and will be removed in a future
version of BIND 10.

% LOG_READING_LOCAL_FILE reading local message file %1
This is an informational message output by BIND 10 when it starts to read
a local message file.  (A local message file may replace the text of
one or more messages; the ID of the message will not be changed though.)

% LOG_READ_ERROR error reading from message file %1: %2
The specified error was encountered reading from the named message file.

% LOG_UNRECOGNISED_DIRECTIVE line %1: unrecognised directive '%2'
Within a message file, a line starting with a dollar symbol was found
(indicating the presence of a directive) but the first word on the line
(shown in the message) was not recognised.

% LOG_WRITE_ERROR error writing to %1: %2
The specified error was encountered by the message compiler when writing
to the named output file.
