/*
----------------------------------------------------------------------
 hex_strings.h - Definitions for strings used in the gw6c application.
----------------------------------------------------------------------
 $Id: hex_strings.h,v 1.14 2007/05/02 13:32:21 cnepveu Exp $
----------------------------------------------------------------------
  Copyright (c) 2007 Hexago Inc. All rights reserved.

  LICENSE NOTICE: You may use and modify this source code only if you
  have executed a valid license agreement with Hexago Inc. granting
  you the right to do so, the said license agreement governing such
  use and modifications.   Copyright or other intellectual property
  notices are not to be removed from the source code.
----------------------------------------------------------------------
*/

#ifndef _HEX_STRINGS_H_
#define _HEX_STRINGS_H_


#define TARGET_NAME "gw6c"


#define HEX_STR_ENV_PRINT_VALUE           "%-30.30s   %s"
#define HEX_STR_NOT_DEF_AS_CLIENT_ERROR       "%i is not defined as a client error. Might be a TSP error?"
#define HEX_STR_UNKNOWN_HOST_ADD_KEY        "%s is an unknown host, do you want to add its key?"
#define HEX_STR_SYSLOG_FACILITY_NOT_SUPPORTED   "The 'syslog_facility' directive is not supported on this platform. Directive ignored."
#define HEX_STR_LOG_SYSLOG_NOT_SUPPORTED      "Logging to Syslog (log=syslog) is not supported on this platform. Directive ignored."
#define HEX_STR_WARN_SERVER_KEY_AUTO_ADDED      "Server key is automatically added."
#define HEX_STR_WARN_STORED_LOCAL_KEY_NO_MATCH    "Local key stored in %s for host %s doesn't match host key. *NOT CONNECTING*"
#define HEX_STR_CLIENT_INITIALIZING         "----- Gateway6 Client Version %s Initializing -------------------------"
#define HEX_STR_API_EQUALS              "API = %s, "
#define HEX_STR_ALLOC_LEASE_EXPIRED         "Allocation lease expired. Sending back TSP request."
#define HEX_STR_ALLOC_LEASE_MONITOR_ACTIVATED   "Allocation lease monitor activated."
#define HEX_STR_ASKING_FOR_TUNNEL         "Asking for a tunnel."
#define HEX_STR_AUTHENTICATING            "Authenticating %s."
#define HEX_STR_AUTH_ERROR              "Authentication error."
#define HEX_STR_AUTH_SUCCESS            "Authentication success."
#define HEX_STR_BN_BN2BIN_FAILED          "oi %d != bin_size %d."
#define HEX_STR_BAD_CLIENT_IPV4_RECVD       "Bad value received from server for client_address_ipv4."
#define HEX_STR_BAD_CLIENT_IPV6_RECVD       "Bad value received from server for client_address_ipv6."
#define HEX_STR_BAD_SERVER_PREFIX_RECVD       "Bad value received from server for prefix."
#define HEX_STR_BAD_PREFIX_LEN_RECVD        "Bad value received from server for prefix_length."
#define HEX_STR_BAD_SERVER_IPV4_RECVD       "Bad value received from server for server_address_ipv4."
#define HEX_STR_BAD_SERVER_IPV6_RECVD       "Bad value received from server for server_address_ipv6."
#define HEX_STR_CANT_OPEN_TMP_FILE          "Cannot open temporary file."
#define HEX_STR_CANT_FIND_V4V6_IFACE        "Cannot find a V4V6 interface on this machine."
#define HEX_STR_CANNOT_OPEN_LOG_FILE        "Cannot open log file %s."
#define HEX_STR_CANT_AUTO_CLIENT_IPV4_TO_V6     "Cannot use 'auto' as client IPv4 address while connecting to a v6 server."
#define HEX_STR_CANT_AUTO_CLIENT_IPV6_TO_V4     "Cannot use 'auto' as client IPv6 address while connecting to a v4 server."
#define HEX_STR_CHDIR_TO              "Changed directory to: %s."
#define HEX_STR_CHECKING_LINUX_IPV6_SUPPORT     "Checking for Linux IPv6 support..."
#define HEX_STR_SETUP_PROXY             "Client proxying is %s."
#define HEX_STR_DNS_DELEG_NOT_SUP_HOSTTYPE_HOST   "Config: DNS delegation is not supported for host_type=host."
#define HEX_STR_DNS_NOT_RESOLVING         "Config: DNS server name %s is not resolving."
#define HEX_STR_CFG_WARN_KEEPALIVE_TRUE_0     "Config: Keepalive is TRUE with interval 0, forcing FALSE."
#define HEX_STR_CFG_BAD_HOST_TYPE         "Config: Bad host_type. Expecting 'host' or 'router'. Read '%s'."
#define HEX_STR_CFG_BAD_PREFIX_LEN          "Config: Bad prefix length. Expecting between 0 and 64. Read '%d'."
#define HEX_STR_CFG_BAD_ROUTING_PROTO       "Config: Bad routing protocol. Expecting 'default_route' or 'bgp'."
#define HEX_STR_CFG_NO_IF_TUNNEL_V4V6       "Config: if_tunnel_v4v6 must be specified."
#define HEX_STR_CFG_NO_IF_TUNNEL_V6UDPV4      "Config: if_tunnel_v6udpv4 must be specified."
#define HEX_STR_CFG_NO_IF_TUNNEL_V6UDPV4_FORCE_V6V4 "Config: if_tunnel_v6udpv4 not specified. Forcing tunnel_mode to v6v4."
#define HEX_STR_CFG_NO_IF_TUNNEL_V6V4       "Config: if_tunnel_v6v4 must be specified."
#define HEX_STR_CFG_NO_IF_TUNNEL_V6V4_FORCE_V6UDPV4 "Config: if_tunnel_v6v4 not specified. Forcing tunnel_mode to v6udpv4."
#define HEX_STR_CFG_BAD_CHARS_IF_TUNNEL_V4V6    "Config: Illegal characters in if_tunnel_v4v6."
#define HEX_STR_CFG_BAD_CHARS_IF_TUNNEL_V6UDPV4   "Config: Illegal characters in if_tunnel_v6udpv4."
#define HEX_STR_CFG_BAD_CHARS_IF_TUNNEL_V6V4    "Config: Illegal characters in if_tunnel_v6v4."
#define HEX_STR_CFG_BAD_CHARS_USERID        "Config: Illegal characters in userid."
#define HEX_STR_CFG_BAD_IP_IN_CLIENT_V4       "Config: Invalid IPv4 address in client_v4 ->[%s]."
#define HEX_STR_CFG_BAD_IP_IN_CLIENT_V6       "Config: Invalid IPv6 address in client_v6 ->[%s]."
#define HEX_STR_CFG_BAD_SERVER_NAME         "Config: Invalid server name."
#define HEX_STR_CFG_BAD_TEMPLATE_NAME       "Config: Invalid template file name."
#define HEX_STR_LOG_FILENAME_TOO_LONG       "Config: Log filename must be at most %d characters long. '%s' is too long."
#define HEX_STR_CFG_NEED_PASSWD           "Config: passwd must be specified."
#define HEX_STR_CFG_NEED_SERVER           "Config: server must be specified."
#define HEX_STR_CFG_NEED_TEMPLATE         "Config: template must be specified."
#define HEX_STR_CFG_CANT_TUNMODE_AND_PROXY_CLIENT "Config: tunnel_mode incompatible with proxy_client option."
#define HEX_STR_CFG_NEED_USERID           "Config: userid must be specified."
#define HEX_STR_CFG_USERID_TOO_LONG         "Config: userid too long. Must be less than 63 characters."
#define HEX_STR_CONNECT_RUDP            "Establishing connection to tunnel broker %s using reliable UDP."
#define HEX_STR_CONNECT_RUDPV6            "Establishing connection to tunnel broker %s using reliable UDPv6."
#define HEX_STR_CONNECT_TCP             "Establishing connection to tunnel broker %s using TCP."
#define HEX_STR_CONNECT_TCPV6           "Establishing connection to tunnel broker %s using TCPv6."
#define HEX_STR_CONNECTED             "Connection to %s established."
#define HEX_STR_CANT_DELETE_SERVICE         "Could not delete service %s: %i."
#define HEX_STR_CANT_OPEN_SCM           "Could not open the SCM."
#define HEX_STR_COULD_NOT_CONFIGURE_LOGGING     "Could not configure logging."
#define HEX_STR_COULD_NOT_MALLOC_FOR_CONFIG     "Could not allocate memory for logging configuration data."
#define HEX_STR_CANT_GET_TIMESTAMP_FOR_LOG      "Could not get timestamp for logging."
#define HEX_STR_DH_GEN_ERROR            "DH generation error."
#define HEX_STR_DH_SHARED_COMPUTE_ERROR       "DH shared key computation error."
#define HEX_STR_DH_SHARED_KEY           "DH shared key: %s."
#define HEX_STR_DSA_SIGN_R              "DSA sign r:%s."
#define HEX_STR_DSA_SIGN_S              "DSA sign s:%s."
#define HEX_STR_DATA_TO_ICMP6_SOCK          "Data written on the ICMP6 socket: %i bytes."
#define HEX_STR_FORGOT_USERNAME           "Did you forget to specify a username?"
#define HEX_STR_DISCONNECTED_RETRY          "Disconnected. Retrying in %i seconds."
#define HEX_STR_DISCONNECTED_RETRY_NOW        "Disconnected. Retrying."
#define HEX_STR_ENTERED_TSP_THREAD_START      "Entered the TSP thread starter."
#define HEX_STR_START_SRVS_CTRL_DISP_ERR_CODE   "Error code for StartServiceCtrlDispatcher: %u."
#define HEX_STR_ERR_CONFIG_TUN_DEV_REASON     "Error configuring tun device %s : %s."
#define HEX_STR_ERR_CONFIG_TUN_DEV          "Error configuring tun device: %s."
#define HEX_STR_CANT_FIND_IFACE_NAME        "Error finding interface name."
#define HEX_STR_ERR_FROM_CFG_FILE         "Error from config file: %s."
#define HEX_STR_ERR_IN_CFG_FILE_LINE        "Error in configuration file line %i."
#define HEX_STR_ERR_IN_KEY_VERIF          "Error in key verification."
#define HEX_STR_ERR_IN_NETSENDRECV          "Error in netsendrecv()."
#define HEX_STR_ERR_IN_TUN_ACK            "Error in tunnel ackknowledge."
#define HEX_STR_ERR_OPEN_CFG_FILE         "Error opening configuration file %s."
#define HEX_STR_ERR_OPEN_DEV            "Error opening device: %s."
#define HEX_STR_ERR_OPEN_TUN_DEV          "Error opening tun device: %s."
#define HEX_STR_ERR_PARSE_CLI_ARGS          "Error parsing command line arguments."
#define HEX_STR_ERR_READING_TUN_DEV         "Error reading from tun device."
#define HEX_STR_ERR_RD_TUN_DEV_BUFSMALL       "Error reading from tun device. Buffer too small."
#define HEX_STR_ERR_FROM_SERVER           "Error received from server: %s."
#define HEX_STR_ERR_ROTATING_LOG_FILE       "Error rotating log file."
#define HEX_STR_ERR_FIND_SRC_IP           "Error while trying to find source IP address."
#define HEX_STR_ERR_FIND_SRC_IP_PORT        "Error while trying to find source IP port."
#define HEX_STR_ERR_VERIF_CFG_FILE          "Error while verifying the configuration file (%s)."
#define HEX_STR_ERR_WAITING_SCRIPT          "Error while waiting for the script to complete."
#define HEX_STR_ERR_WRITE_SOCKET          "Error writing to socket."
#define HEX_STR_ERR_WRITE_TUN_DEV         "Error writing to tun device."
#define HEX_STR_ERRS_IN_SERVER_RESP         "Errors in server response."
#define HEX_STR_CONNECTING_TO_BROKER        "Establishing connection with tunnel broker %s..."
#define HEX_STR_EXEC_CFG_SCRIPT           "Executing configuration script: %s."
#define HEX_STR_FATAL_NOT_ROOT_FOR_TUN        "You must be root to setup a tunnel."
#define HEX_STR_CANT_FIND_LOCALHOST_IP        "Failed to get localhost IP address."
#define HEX_STR_GETTING_CAPS_FROM_SERVER      "Getting capabilities from server."
#define HEX_STR_GOING_DAEMON            "Going daemon."
#define HEX_STR_GOT_QUIT_SIGNAL           "Got quit signal."
#define HEX_STR_GOT_TUNNEL_PARAMS_SETTING_UP    "Got tunnel parameters from server. Setting up local tunnel."
#define HEX_STR_ICMP_ECHO_REPLY           "ICMP echo reply on the ICMP socket, size: %i."
#define HEX_STR_IPV6_SUPPORT_FOUND          "IPv6 support found."
#define HEX_STR_INCOMING_DATA_FROM_TUNNEL     "Incoming data from TUNNEL."
#define HEX_STR_BAD_SIG_FROM_SERVER         "Incorrect signature from server."
#define HEX_STR_INITIALIZATION_ERROR        "DH initialization error."
#define HEX_STR_INITIALIZING_HELP_OPT       "Initializing (use -h for help)."
#define HEX_STR_RUNNING_TEMPLATE_FAILED       "Interface setup (running the template %s) failed. Quitting."
#define HEX_STR_LOG_LEVEL_OUT_OF_BOUNDS       "Config: Invalid log level for %s (%d is out of bounds)."
#define HEX_STR_INVALID_OR_UNSUP_TUNNEL_MODE    "Config: Invalid or unsupported tunnel_mode."
#define HEX_STR_INVALID_PAYLOAD_SIZE        "Invalid payload size."
#define HEX_STR_INVALID_RESPONSE_FROM_SERVER    "Invalid response from server."
#define HEX_STR_INVALID_RESPONSE_RECEIVED     "Invalid response received."
#define HEX_STR_INVALID_VAL_FOR_KEEPALIVE     "Config: Invalid value for keepalive: %s."
#define HEX_STR_INVALID_VAL_FOR_LOG         "Config: Invalid value for log: %s."
#define HEX_STR_INVALID_VAL_FOR_LOG_ROTATION    "Config: Invalid value for log_rotation: %s."
#define HEX_STR_INVALID_VAL_FOR_LOG_ROTATION_SIZE "Config: Invalid value for log_rotation_size: %d."
#define HEX_STR_INVALID_VAL_FOR_PROXY_CLIENT    "Config: Invalid value for proxy_client: %s."
#define HEX_STR_INVALID_VAL_FOR_SYSLOG_FACILITY   "Config: Invalid value for syslog_facility: %s."
#define HEX_STR_KEEPALIVE_TIMEOUT         "Connection timeout occured."
#define HEX_STR_KEY_VERIF_ERROR           "Key verification error."
#define HEX_STR_LAST_ERROR              "Last error is %i: %s."
#define HEX_STR_LOG_FILE_CLOSED           "Log file %s closed while it should be open."
#define HEX_STR_LOGGING_NOT_CONFIGURED        "Logging not configured, cannot log correctly! Message was: '%s'."
#define HEX_STR_MATCHING_KEY_FOUND_USED       "Matching server key found and used."
#define HEX_STR_MALLOC_ERROR            "Memory allocation error."
#define HEX_STR_MALLOC_ERR_FOR_PAYLOAD        "Memory allocation error for payload."
#define HEX_STR_MALLOC_ERR_IN_ASK         "Memory allocation error in ask."
#define HEX_STR_MALLOC_FAILURE            "Memory allocation failure."
#define HEX_STR_MALLOC_FAILED_WHILE_LOG_FILE    "Memory allocation failed while trying to log to file %s."
#define HEX_STR_NO_IPV6_SUPPORT_FOUND       "No IPv6 support found."
#define HEX_STR_NO_RUDP_REPLY           "No RUDP reply."
#define HEX_STR_NO_COMMON_AUTH_MECH         "No common authentication method found. Check server name."
#define HEX_STR_NO_SUCCESS              "No success: %s."
#define HEX_STR_NO_VALID_SERVER           "No valid server specified."
#define HEX_STR_CANT_MALLOC_FOR_PAYLOAD       "Not able to allocate memory for payload."
#define HEX_STR_CANT_CONNECT_SERVICE_PORT     "Not able to connect to server port %s."
#define HEX_STR_CANT_R_SERVER_SOCKET        "Not able to read from server socket."
#define HEX_STR_CANT_RW_SERVER_SOCKET       "Not able to read/write to server socket."
#define HEX_STR_CANT_SENDRECV_SERVER_SOCKET     "Not able to sendrecv() to server socket."
#define HEX_STR_CANT_W_SERVER_SOCKET        "Not able to write to server socket."
#define HEX_STR_CANT_W_TSP_REQ_SERVER_SOCKET    "Not able to write TSP request to server socket."
#define HEX_STR_NO_CONFIG_CANNOT_LOG_TO_FILE    "No configuration. Cannot log to file."
#define HEX_STR_NO_MEM_FOR_CHALLENGE        "Not enough memory for ChallengeString."
#define HEX_STR_NO_MEM_FOR_STRING         "Not enough memory for String."
#define HEX_STR_NOT_ENOUGH_MEM            "Not enough memory."
#define HEX_STR_NO_LOG_FILENAME_IN_CONFIG     "No log file name in configuration. Cannot log to file."
#define HEX_STR_NOOP_CFG_VALID            "Nothing was done! Your config file appears to be valid."
#define HEX_STR_OUT_DATA_TO_TUNNEL          "Outgoing data to TUNNEL."
#define HEX_STR_PASSDS_ENC_KEY            "PASSDSS: encryption key: %s."
#define HEX_STR_PASSDS_INTEG_KEY          "PASSDSS: integrity key: %s."
#define HEX_STR_PASSDS_IV             "PASSDSS: iv: %s."
#define HEX_STR_PAYLOAD_BIGGER_PROTOFRMSIZE     "Payload size is bigger than PROTOCOLFRAMESIZE."
#define HEX_STR_PING_XMIT_FAILED          "PING: transmit failed, error code %u."
#define HEX_STR_PROCESS_SERVER_RESPONSE       "Processing response from server."
#define HEX_STR_RCVD_DATA_INVALID         "Received data is invalid."
#define HEX_STR_LOG_CFG_RECEIVED_NULL_CFG     "Received NULL configuration."
#define HEX_STR_TUN_MODE_NOT_SUPPORTED        "Requested tunnel mode not supported on server %s."
#define HEX_STR_MESSAGE_ROTATING          "** ROTATING LOG FILE **"
#define HEX_STR_QUITTING              "Quitting."
#define HEX_STR_SERVICE_RUNNING           "SERVICE_RUNNING"
#define HEX_STR_SERVICE_STOPPED           "SERVICE_STOPPED"
#define HEX_STR_SCRIPT_COMPLETED_OK         "Script completed successfully."
#define HEX_STR_SCRIPT_FAILED           "Script failed to execute correctly."
#define HEX_STR_SERVER_DISCONNECT_NEGO        "Server %s disconnected during tunnel negotiation."
#define HEX_STR_SERVER_NOT_IPV4           "Server cannot be resolved in IPv4."
#define HEX_STR_SERVER_NOT_IPV6           "Server cannot be resolved in IPv6."
#define HEX_STR_SERVER_KEY_ACCEPTED_ADDED     "Server key accepted and added."
#define HEX_STR_SERVER_KEY_REJECTED         "Server key rejected."
#define HEX_STR_SERVER_KEY_REJECTED_USER      "Server key rejected by the user."
#define HEX_STR_SERVICE               "Service"
#define HEX_STR_SERVICE_PORT_INVALID        "Service port not valid: %s."
#define HEX_STR_CANT_REGISTER_TSP         "Service "TARGET_NAME" could not be registered."
#define HEX_STR_CANT_UNREGISTER_TSP         "Service "TARGET_NAME" could not be unregistered."
#define HEX_STR_TSP_REGISTERED            "Service "TARGET_NAME" has been registered."
#define HEX_STR_TSP_UNREGISTERED          "Service "TARGET_NAME" has been unregistered."
#define HEX_STR_SERVICE_CTRL_FUNC         "Service_Ctrl function."
#define HEX_STR_SIGNAL_RECEIVED           "Signal received: %i."
#define HEX_STR_SIG_MAIN_THREAD_STOP        "Signaled main thread to stop."
#define HEX_STR_SIG_SERVICE_STOP_CLIENT_QUIT    "Signaling service to stop because client quit."
#define HEX_STR_SIG_VERIF_ERROR           "Signature verification error."
#define HEX_STR_SIGNED_HASH             "Signed hash: %s."
#define HEX_STR_SLEEPING_FOR_ALLOC_LEASE      "Sleeping until allocations lease expires."
#define HEX_STR_START_SERVS_CTRL_DISP_RETURNED    "StartServiceCtrlDispatcher returned!"
#define HEX_STR_STATUS_ERROR_IN_NEGO        "Status error %i in tunnel negotiation: %s."
#define HEX_STR_TEMPLATE_NOT_FOUND          "Template \"%s\" could not be found."
#define HEX_STR_TSPC_STARTING_UP          "GW6C starting up."
#define HEX_STR_DNS_MUST_BE_FQDN          "The DNS server must be an FDQN address, not a numeric IP address."
#define HEX_STR_SETUP_HOST_TYPE           "The host type is '%s'."
#define HEX_STR_SETUP_TUNNEL_TYPE         "The tunnel type is %s."
#define HEX_STR_ERRS_IN_CFG_FILE          "There were errors in the configuration file (%s)."
#define HEX_STR_TRY_MODPROBE_IPV6         "Try \"modprobe ipv6\"."
#define HEX_STR_TRY_MODPROBE_TUN          "Try \"modprobe tun\"."
#define HEX_STR_MODE_V6UDPV4_MUST_CONN_V4     "Tunnel mode v6udpv4 must connect to v4 server."
#define HEX_STR_CANT_CONTACT_V6_DRIVER        "Unable to contact IPv6 driver."
#define HEX_STR_CANT_CREATE_ICMP_HNDL_FILE      "Unable to create Icmp Handle File."
#define HEX_STR_CANT_CREATE_EVENT_OBJECT      "Unable to create an event object."
#define HEX_STR_CANT_ESTABLISH_CONNECTION     "Cannot connect to tunnel broker %s. Verify broker name and connection."
#define HEX_STR_CANT_FORK             "Unable to fork."
#define HEX_STR_CANT_GET_SRC_ADDRESS        "Unable to get source address."
#define HEX_STR_CANT_INIT_TUN_DEV         "Unable to initialize tun device."
#define HEX_STR_CANT_READ_TEMPLATE_FROM_CFG     "Unable to read the template name from the config file. Is it specified? Do you have %s in the current directory?"
#define HEX_STR_CANT_ROTATE_LOG_NO_FILENAME     "Unable to rotate the log file. No file name specified."
#define HEX_STR_CANT_ROTATE_LOG_CANT_STAT     "Unable to rotate the log file. Could not determine file size."
#define HEX_STR_CANT_ROTATE_LOG_CANT_FLUSH      "Unable to rotate the log file. Could not flush contents."
#define HEX_STR_CANT_ROTATE_LOG_BACKUP_NAME     "Unable to rotate the log file. Could not generate a backup file name."
#define HEX_STR_CANT_ROTATE_LOG_CANT_COPY     "Unable to rotate the log file. Could not backup the file."
#define HEX_STR_CANT_ROTATE_LOG_CANT_OPEN_NEW   "Unable to rotate the log file. Could not open new empty log file."
#define HEX_STR_CANT_SEND_REQUEST_TO        "Unable to send request to %s."
#define HEX_STR_CANT_WRITE_LOG_BUFFER_TO_FILE   "Unable to write log buffer to file. Some logs may be lost."
#define HEX_STR_CANT_FPRINTF_TO_LOG         "Unable to write to the log file."
#define HEX_STR_UNABLE_INIT_TUN_DEV                     "Unable to initialize tun device."
#define HEX_STR_USING_TSP_PROTO_VER         "Using TSP protocol version %s."
#define HEX_STR_USING_AS_SOURCE_IPV4        "Using [%s] as source IPv4 address."
#define HEX_STR_USING_AS_SOURCE_IPV6        "Using [%s] as source IPv6 address."
#define HEX_STR_USING_AUTH_ANONYMOUS        "Using AUTH-ANONYMOUS authentication mechanism."
#define HEX_STR_USING_AUTH_PLAIN          "Using AUTH-PLAIN authentication mechanism."
#define HEX_STR_USING_AUTH_DIGEST_MD5       "Using DIGEST-MD5 authentication mechanism."
#define HEX_STR_USING_AUTH_PASSDSS_3DES_1     "Using PASSDSS-3DES-1 authentication mechanism."
#define HEX_STR_VERIF_AND_FIX_CFG_FILE        "Verifying and fixing the config file..."
#define HEX_STR_WAITING_FOR_SETUP_SCRIPT      "Waiting for setup script to complete."
#define HEX_STR_EXPECTED_CONTENT_LENGTH       "Was expecting 'Content-length:'. Received %s."
#define HEX_STR_WRONG_TEMPLATE_NAME         "Wrong template name in %s. Updating %s -> %s."
#define HEX_STR_WSASTRINGTOADDRESS_ERR        "WSAStringToAddress error: %i."
#define HEX_STR_YOUR_IPV4_IP_IS           "Your IPv4 address is %s."
#define HEX_STR_YOUR_IPV6_IP_IS           "Your IPv6 address is %s."
#define HEX_STR_YOUR_IPV4_PREFIX_IS     "Your IPv4 prefix is %s/%s."
#define HEX_STR_YOUR_IPV6_PREFIX_IS     "Your IPv6 prefix is %s/%s."
#define HEX_STR_ALLOC_NOT_SUPPORTED         "alloc %u not supported."
#define HEX_STR_BAD_STRING_LENGTH         "Invalid string length %u."
#define HEX_STR_CANT_HANDLE_BN_SIZE         "Cannot handle BN of size %d."
#define HEX_STR_DISABLED              "disabled"
#define HEX_STR_DONE                "Done."
#define HEX_STR_ERROR_CODE_EQUALS         "Error code = %d, "
#define HEX_STR_ENABLED               "enabled"
#define HEX_STR_GETNAMEINFO_FAILED          "getnameinfo() failed: %ld."
#define HEX_STR_USING_UDP_NO_LISTENER       "If you are using UDP, there is probably no UDP listener at %s."
#define HEX_STR_INPUT_BUF_TOO_SMALL         "Input buffer too small."
#define HEX_STR_KEEPALIVE_INITIALIZED       "Keepalive initialized with %s as a peer. Max KA value of %i."
#define HEX_STR_KEEPALIVE_INTERVAL          "Keepalive interval: %s."
#define HEX_STR_LEN_NOT_SUPPORTED         "len %u not supported."
#define HEX_STR_MESSAGE_EQUALS            "Message = %s"
#define HEX_STR_NAME_FOUND              "Name found: %s."
#define HEX_STR_NEXT_KA_IN              "Next KA scheduled in %.1f seconds."
#define HEX_STR_NON_SERVICE             "Non-Service"
#define HEX_STR_RECV_INVALID_TSP_DATA       "Received invalid TSP data."
#define HEX_STR_RECV                "Received:"
#define HEX_STR_REPLY_RUDP_PACKET         "Reply: RUDP packet %i, RTO %f, sequence 0x%x timestamp %i."
#define HEX_STR_RUDP_PACKET             "RUDP packet %i, RTO %f, sequence 0x%x timestamp %i."
#define HEX_STR_S_NULL                "s == NULL."
#define HEX_STR_SENT                "Sent:"
#define HEX_STR_TRYING_GET_MORE_BYTES       "Trying to get more bytes %d than in buffer %d."
#define HEX_STR_TSPGETCAPABILITIES_ERROR      "Error getting capabilities. Error is %i: %s."
#define HEX_STR_TSPMAIN_RETURNED          "tspMain returned %i."
#define HEX_STR_TSPSETUPINTERFACE_STARTING      "tspSetupInterface beginning."
#define HEX_STR_NO_V4V6_ON_PLATFORM         "v4v6 is not supported on this platform."
#define HEX_STR_V4V6_TUNNEL_SETUP_FAILED      "v4v6 tunnel interface failed to setup correctly."
#define HEX_STR_V6UDPV4_TUNNEL_SETUP_FAILED     "v6udpv4 tunnel interface failed to setup correctly."
#define HEX_STR_NO_V6UDPV4_ON_PLATFORM        "v6udpv4 (NAT traversal) is not supported on this platform."
#define HEX_STR_WINDOWS_CODE_INITIALIZED      "Windows code initialized. Running as %s"
#define HEX_STR_RECEIVED_REDIRECTION        "Received a TSP redirection message from broker %s (%s)."
#define HEX_STR_RDR_ADD_BROKER_INTERNAL_ERR     "Internal error trying to add a broker to the broker redirection list."
#define HEX_STR_RDR_ADD_BROKER_NO_MEM       "Failed to allocate memory for a new broker in the broker redirection list."
#define HEX_STR_RDR_ADD_BROKER_ADDRESS_TRUNC    "Failed to set the address of a new broker in the broker redirection list."
#define HEX_STR_RDR_CREATE_LIST_CANT_ADD      "Failed to add a new broker while creating the broker redirection list."
#define HEX_STR_RDR_SORTING_BROKER_LIST       "Sorting the broker redirection list."
#define HEX_STR_RDR_SORT_LIST_CANT_GET_DIST     "Failed to get broker timing information while sorting the broker redirection list."
#define HEX_STR_RDR_SORT_LIST_CANT_ALLOC      "Failed to allocate memory for a new broker while sorting the broker redirection list."
#define HEX_STR_RDR_SORT_LIST_CANT_INSERT     "Failed to insert a new broker while sorting the broker redirection list."
#define HEX_STR_RDR_CANT_EXTRACT_PAYLOAD      "Failed to parse the XML payload while handling broker redirection."
#define HEX_STR_RDR_CANT_CREATE_LIST        "Failed to create the broker redirection list."
#define HEX_STR_RDR_CANT_SORT_LIST          "Failed to sort the broker redirection list."
#define HEX_STR_RDR_CANT_SAVE_LIST          "Failed to write the broker redirection list to file."
#define HEX_STR_RDR_CANT_LOG            "Failed to log broker redirection details."
#define HEX_STR_RDR_NULL_LIST           "Received an empty broker list while handling broker redirection."
#define HEX_STR_RDR_READ_LAST_SERVER_INT_ERR    "Internal error trying to read the last server from the last_server file."
#define HEX_STR_RDR_WRITE_LAST_SERVER_INT_ERR   "Internal error trying to write the last server to the last_server file."
#define HEX_STR_RDR_WRITE_LAST_SERVER_CANT_OPEN   "Failed to open %s to save the last server."
#define HEX_STR_RDR_WRITE_LAST_SERVER_CANT_WRITE  "Failed to write last server %s to %s."
#define HEX_STR_RDR_WRITE_BROKER_LIST_INT_ERR   "Internal error trying to write the broker list to the broker_list file."
#define HEX_STR_RDR_WRITE_BROKER_LIST_CANT_OPEN   "Failed to open %s to save the broker list."
#define HEX_STR_RDR_WRITE_BROKER_LIST_CANT_WRITE  "Failed to write the broker list to %s."
#define HEX_STR_RDR_READ_BROKER_LIST_INT_ERR    "Internal error trying to read the broker list from the broker_list file."
#define HEX_STR_RDR_READ_BROKER_LIST_CANT_ADD   "Failed to add a new broker while creating the broker redirection list from file %s."
#define HEX_STR_RDR_CANT_WRITE_LAST_SERVER      "Failed to write %s as the last server to the last server file %s."
#define HEX_STR_RDR_TRYING_LAST_SERVER        "Trying last server %s."
#define HEX_STR_RDR_NO_LAST_SERVER_FOUND      "Could not find last server in last_server file %s. Trying broker %s instead."
#define HEX_STR_RDR_CANT_OPEN_LAST_SERVER     "Could not open last_server file %s. Trying broker %s instead."
#define HEX_STR_RDR_ERROR_READING_LAST_SERVER   "Error reading last_server file %s."
#define HEX_STR_RDR_READING_BROKER_LIST       "Trying to read broker list from broker_list file %s."
#define HEX_STR_RDR_READ_BROKER_LIST_EMPTY      "The broker list is empty."
#define HEX_STR_RDR_READ_BROKER_LIST_CREATED    "The broker list was created successfully."
#define HEX_STR_RDR_CANT_OPEN_BROKER_LIST     "Could not open broker_list file %s."
#define HEX_STR_RDR_ERROR_READING_BROKER_LIST   "Error creating broker list from broker_list file %s."
#define HEX_STR_RDR_BROKER_LIST_END         "Reached the end of the broker list."
#define HEX_STR_RDR_NEXT_IN_BROKER_LIST       "Moving to the next broker in the broker list (%s)."
#define HEX_STR_RDR_BROKER_LIST_INTERNAL_ERROR    "Internal error processing the broker list."
#define HEX_STR_RDR_ERROR_PROCESSING_REDIRECTION  "Error processing a TSP redirection message from %s."
#define HEX_STR_RDR_BROKER_LIST_IS          "The broker redirection list is %s."
#define HEX_STR_RDR_SORTED_BROKER_LIST_IS     "The optimized broker redirection list is %s."
#define HEX_STR_INVALID_VAL_FOR_AUSS        "Config: Invalid value for always_use_same_server: %s."
#define HEX_STR_CFG_LAST_SERVER_TOO_LONG      "Config: last_server too long. Must be less than %u characters."
#define HEX_STR_CFG_BROKER_LIST_TOO_LONG      "Config: broker_list too long. Must be less than %u characters."
#define HEX_STR_RDR_TOO_MANY_BROKERS        "More brokers in the broker list than the allowed limit (%u). Discarding."
#define HEX_STR_RDR_CANT_INIT_THREAD_ARG      "Error initializing the thread creation argument for broker timing."
#define HEX_STR_RDR_CREATING_DISTANCE_THREAD    "Creating broker timing thread for %s."
#define HEX_STR_RDR_CANT_CREATE_DISTANCE_THREAD   "Error creating timing thread for %s."
#define HEX_STR_RDR_WAITING_FOR_THREAD        "Waiting for %s timing thread to complete."
#define HEX_STR_RDR_ERR_WAITING_FOR_THREAD      "Error waiting for %s timing thread to complete."
#define HEX_STR_RDR_DISTANCE_CALCULATION_TIMEOUT  "A timeout occured during broker timing for %s."
#define HEX_STR_RDR_DISTANCE_CALCULATION_OK     "Broker timing for %s completed successfully (%u ms)."
#define HEX_STR_RDR_DISTANCE_CALCULATION_ERR    "An error occured during broker timing for %s."
#define HEX_STR_RDR_DISTANCE_THREAD_MALLOC_FAIL   "Error allocating memory in broker timing thread for %s."
#define HEX_STR_RDR_ERROR_CREATE_STAT_ENGINE    "Error allocating a stat engine to send an echo request to %s."
#define HEX_STR_RDR_ERROR_INIT_STAT_ENGINE      "Error initializing a stat engine to send an echo request to %s."
#define HEX_STR_RDR_ERROR_GET_SOCKADDRESS     "Error creating an address structure to send an echo request to %s."
#define HEX_STR_RDR_ERROR_RESOLVING_DN        "Unable to resolve %s to an IP address."
#define HEX_STR_RDR_ERROR_CONNECT_SOCKET      "Error creating a connected socket to send an echo request to %s."
#define HEX_STR_RDR_ERROR_PREPARING_RUDP_MSG    "Error creating an RUDP message to send an echo request to %s."
#define HEX_STR_RDR_MAX_ECHO_REPLY_ATTEMPTS     "Maximal number of echo request attempts (%u) reached for %s."
#define HEX_STR_RDR_SENDING_ECHO_REQUEST      "Sending echo request message #%u to %s."
#define HEX_STR_RDR_SEND_ECHO_REQUEST_FAILED    "Error sending an echo request message to %s (%s)."
#define HEX_STR_RDR_WAITING_ECHO_REPLY        "Waiting for an echo reply from %s."
#define HEX_STR_RDR_WAITING_ECHO_REPLY_TIMEOUT    "Timed out waiting for an echo reply from %s."
#define HEX_STR_RDR_RECEIVING_RUDP_MESSAGE      "Receiving an RUDP message from %s."
#define HEX_STR_RDR_ERR_RECEIVING_RUDP_FROM     "Error receiving an RUDP message from %s (%s)."
#define HEX_STR_RDR_RECEIVED_RUDP_OK        "Received RUDP message from %s correctly."
#define HEX_STR_RDR_RECV_RUDP_SEQ_DIFFERS     "Sequence number of RUDP message from %s differs."
#define HEX_STR_RDR_ERR_WAITING_ECHO_REPLY      "Error waiting for an echo reply from %s."
#define HEX_STR_RDR_RCV_EXPECTED_ECHO_REPLY     "Received expected echo reply from %s: %s."
#define HEX_STR_RDR_RCV_UNEXPECTED_ECHO_REPLY   "Received unexpected echo reply from %s: %s."
#define HEX_STR_RDR_CANT_MALLOC_THREAD_ARRAY    "Error allocating memory for the broker timing threads."
#define HEX_STR_RDR_CANT_MALLOC_THREAD_ARGS     "Error allocating memory for the broker timing thread arguments."
#define HEX_STR_RDR_WRONG_ADDRESS_FAMILY      "Broker address %s is not compatible with the configured tunnel mode."
#define HEX_STR_GUI_NAMED_PIPE_CREATION_FAILED    "Creation of the named pipe to the GUI failed."
#define HEX_STR_LIFETIME_INTERVAL         "Allocation lease lifetime: %i."
#define HEX_STR_INIT_MESSAGING_FAILED          "Failed initialization of the messaging subsystem. Communication with GUI unavailable.S"
#define HEX_STR_UNINIT_MESSAGING_FAILED        "Failed uninitialization of the messaging subsystem."
#define HEX_STR_HAP6_MAKING_DEVICES_ACCESSIBLE        "About to make the requested devices accessible."
#define HEX_STR_HAP6_ABOUT_TO_PERFORM_SETUP         "About to perform HAP6 setup."
#define HEX_STR_HAP6_ABOUT_TO_PERFORM_TEARDOWN        "About to perform HAP6 teardown."
#define HEX_STR_HAP6_ATTEMPTING_DDNS_DELETE         "Attempting to perform a DDNS deletion for %s.%s."
#define HEX_STR_HAP6_ATTEMPTING_DDNS_UPDATE         "Attempting to perform a DDNS update for %s.%s/%s."
#define HEX_STR_HAP6_CONNECTING_TO_DDNS_PROXY       "Connecting to the DDNS proxy (%s)."
#define HEX_STR_HAP6_CREATING_DDNS_REQUEST          "Creating a DDNS request for %s."
#define HEX_STR_HAP6_DISCONNECTING_FROM_DDNS_PROXY      "Disconnecting from the DDNS proxy."
#define HEX_STR_HAP6_EXECUTING_EXTERNAL_COMMAND       "Executing an external command: %s."
#define HEX_STR_HAP6_EXECUTING_PROXY_CONFIG_SCRIPT      "Executing the HAP6 HTTP proxy configuration script."
#define HEX_STR_HAP6_EXECUTING_SETUP_SCRIPT         "Executing the HAP6 setup script."
#define HEX_STR_HAP6_EXECUTING_TEARDOWN_SCRIPT        "Executing the HAP6 teardown script."
#define HEX_STR_HAP6_GENERATING_PROXY_CONFIG_FILE     "Generating the HTTP proxy configuration file."
#define HEX_STR_HAP6_ERR_PROCESSING_DDNS_REQUEST      "Errors occured while processing the DDNS request for %s.%s."
#define HEX_STR_HAP6_ERR_ADDRESS_NOT_V4_OR_V6       "Host address for the DDNS request is not an IPv4 or IPv6 address."
#define HEX_STR_HAP6_ERR_CANT_CONNECT_TO_DDNS_PROXY     "Unable to connect to the DDNS proxy."
#define HEX_STR_HAP6_ERR_CANT_DISCONNECT_FROM_DDNS_PROXY  "Unable to disconnect from the DDNS proxy correctly."
#define HEX_STR_HAP6_ERR_READING_DEVICE_MAPPING_CONFIG    "An error occured trying read the device mapping information from the configuration file."
#define HEX_STR_HAP6_ERR_EXECUTING_SCRIPT         "An error occured trying to execute the requested script."
#define HEX_STR_HAP6_ERR_QUEUEING_DDNS_REQUEST        "An error occured trying to queue the required DDNS requests."
#define HEX_STR_HAP6_ERR_SETTING_ENV_VARS         "An error occured trying to set the required environment variables."
#define HEX_STR_HAP6_ERR_WRITING_SCRIPT_CALL_LINE     "An error occured while trying to write the script invocation command to the buffer."
#define HEX_STR_HAP6_ERR_INVALID_ARGS_FOR_DDNS_THREAD   "Invalid arguments for the DDNS processing thread."
#define HEX_STR_HAP6_ERR_INVALID_FUNCTION_ARGS        "Invalid function arguments."
#define HEX_STR_HAP6_ERR_NO_SPACE_IN_BUFFER_FOR_CALL_LINE "Not enough space in the buffer to generate the script invocation command."
#define HEX_STR_HAP6_ERR_DDNS_ACTION_INVALID        "The DDNS request action is invalid."
#define HEX_STR_HAP6_ERR_ENV_VAR_UNKNOWN          "The environment variable to be set is unknown."
#define HEX_STR_HAP6_ERR_SCRIPT_EXIT_ERROR          "The executed script did not complete successfully."
#define HEX_STR_HAP6_ERR_ADDRESS_TOO_LONG_FOR_REQ     "The host address is too long to create a DDNS request."
#define HEX_STR_HAP6_ERR_NAME_TOO_LONG_FOR_REQ        "The host name is too long to create a DDNS request."
#define HEX_STR_HAP6_ERR_UNKNOWN_SCRIPT           "The script to be executed is unknown."
#define HEX_STR_HAP6_ERR_CANT_CREATE_REQ          "Unable create the requested DDNS request."
#define HEX_STR_HAP6_ERR_NO_MEM_FOR_STATUS_COPY       "Unable to allocate memory for a copy of the device status."
#define HEX_STR_HAP6_ERR_NO_MEM_FOR_DDNS_REQ        "Unable to allocate memory for the DDNS request."
#define HEX_STR_HAP6_ERR_NO_MEM_FOR_STATUS_NAME       "Unable to allocate memory for the device name in the device status."
#define HEX_STR_HAP6_ERR_NO_MEM_FOR_STATUS          "Unable to allocate memory for the device status."
#define HEX_STR_HAP6_ERR_CANT_CLEAR_STATUS          "Unable to clear the status information."
#define HEX_STR_HAP6_ERR_CANT_COPY_HOST_NAME        "Unable to copy the host name from the device status."
#define HEX_STR_HAP6_ERR_CANT_CREATE_PREP_MAPPING_FILE    "Unable to create the prepared device mapping configuration file."
#define HEX_STR_HAP6_ERR_CANT_GET_TIME            "Unable to determine the current time."
#define HEX_STR_HAP6_ERR_CANT_FREE_DDNS_REQ_QUEUE     "Unable to free the DDNS request processing queue."
#define HEX_STR_HAP6_ERR_CANT_FREE_DDNS_REQ         "Unable to free the DDNS request."
#define HEX_STR_HAP6_ERR_CANT_GEN_PROXY_CONFIG_FILE     "Unable to generate the proxy configuration file."
#define HEX_STR_HAP6_ERR_CANT_INIT_STATUS         "Unable to initialize status information."
#define HEX_STR_HAP6_ERR_CANT_INIT_DDNS_REQ_QUEUE     "Unable to initialize the DDNS request processing queue."
#define HEX_STR_HAP6_ERR_CANT_INIT_MAPPING_CONF_MODULE    "Unable to initialize the device mapping configuration module."
#define HEX_STR_HAP6_ERR_CANT_LOAD_MAPPING_CONF_FILE    "Unable to load the device mapping configuration file."
#define HEX_STR_HAP6_ERR_CANT_OPEN_PREP_MAPPING_FILE    "Unable to open the prepared device mapping configuration file for writing."
#define HEX_STR_HAP6_ERR_CANT_INIT_PLATFORM         "Unable to perform the platform-specific initialization."
#define HEX_STR_HAP6_ERR_CANT_SHUTDOWN_PLATFORM       "Unable to perform the platform-specific shutdown operations."
#define HEX_STR_HAP6_ERR_CANT_PREP_SCRIPT_CALL        "Unable to prepare the script invocation command."
#define HEX_STR_HAP6_ERR_CANT_PUSH_DDNS_REQ_BACK      "Unable to push the DDNS request back on the DDNS request processing queue."
#define HEX_STR_HAP6_ERR_CANT_PUSH_NEW_DDNS_REQ       "Unable to push the new DDNS request on the DDNS request processing queue."
#define HEX_STR_HAP6_ERR_CANT_REMOVE_PREP_MAPPING_FILE    "Unable to remove the prepared device mapping configuration file."
#define HEX_STR_HAP6_ERR_CANT_SEND_STATUS_TO_GUI      "Unable to send the DDNS request status to the GUI."
#define HEX_STR_HAP6_ERR_CANT_SET_ENV_VAR         "Unable to set the requested environment variable."
#define HEX_STR_HAP6_ERR_CANT_SIGNAL_SHUTDOWN       "Unable to signal that the module is shutting down."
#define HEX_STR_HAP6_ERR_CANT_START_DDNS_THREAD       "Unable to start the DDNS request processing thread."
#define HEX_STR_HAP6_ERR_CANT_UPDATE_DDNS_REQ_STATUS    "Unable to update the DDNS request status."
#define HEX_STR_HAP6_ERR_CANT_WRITE_TO_PREP_MAPPING_FILE  "Unable to write an entry to the prepared device mapping configuration file."
#define HEX_STR_HAP6_ERR_SET_STATUS_UNEXPECTED_STATE    "Unexpected situation while trying to set the device status."
#define HEX_STR_HAP6_SETUP_COMPLETED            "HAP6 setup completed."
#define HEX_STR_HAP6_SHUTDOWN_COMPLETED           "HAP6 shutdown completed."
#define HEX_STR_HAP6_TEARDOWN_COMPLETED           "HAP6 teardown completed."
#define HEX_STR_HAP6_ADDRESS_IS_IPV4            "Host address is an IPv4 address; IPv6 address will be %s."
#define HEX_STR_HAP6_ADDRESS_IS_IPV6            "Host address is an IPv6 address; IPv6 address will be %s."
#define HEX_STR_HAP6_NOT_TIME_FOR_REQ           "It is still not time to process this DDNS request. Pushing it back on the queue."
#define HEX_STR_HAP6_TIME_FOR_REQ             "It is time to process this DDNS request."
#define HEX_STR_HAP6_POPPED_DDNS_REQ            "Popped a DDNS request for %s.%s from the DDNS request processing queue."
#define HEX_STR_HAP6_PREPARING_TO_QUEUE           "Preparing to queue the required DDNS requests."
#define HEX_STR_HAP6_REACHED_MAX_ATTEMPTS         "Reached the maximum number of DDNS request attempts (%u) for %s.%s. Giving up."
#define HEX_STR_HAP6_READING_MAPPING_CONFIG         "Reading the device mapping configuration."
#define HEX_STR_HAP6_RECEIVED_DDNS_SERVAIL          "Received a SERVFAIL reply from the DDNS proxy."
#define HEX_STR_HAP6_RECEIVED_DDNS_ERROR          "Received an error reply from the DDNS proxy. The request for %s.%s was not processed successfully."
#define HEX_STR_HAP6_RESTARTING_HTTP            "Restarting the HTTP server."
#define HEX_STR_HAP6_SHUTTING_DOWN              "Shutting down HAP6."
#define HEX_STR_HAP6_STARTING_DDNS_THREAD         "Starting the DDNS processing thread."
#define HEX_STR_HAP6_DDNS_REQ_PROCESSED_SUCCESS       "The DDNS request was processed successfully."
#define HEX_STR_HAP6_PROXY_READY              "The HTTP proxy configuration has been adjusted, and the required DDNS requests have been queued for processing."
#define HEX_STR_HAP6_DDNS_REQ_ELIGIBLE_IN         "This DDNS request will be eligible for processing in %u seconds."
#define HEX_STR_HAP6_VERIFYING_IF_PROCESS_NOW       "Verifying if the DDNS request for %s.%s should be processed now."
#define HEX_STR_HAP6_ERR_PROCESSING_DDNS_REQS   "An error occured during the processing of the DDNS requests."
#define HEX_STR_HAP6_ERR_CANT_START_PLATFORM_THREAD   "Unable to start a platform-specific thread."
#define HEX_STR_HAP6_ERR_CANT_SIGNAL_MODULE_SHUTDOWN    "Unable to signal the module shutdown event."
#define HEX_STR_HAP6_ERR_CANT_CREATE_PLATFORM_WAIT_EVENT    "Unable to create a platform-specific wait event."
#define HEX_STR_HAP6_ERR_CANT_CLOSE_SHUTDOWN_EVENT    "Unable to close the module shutdown event."
#define HEX_STR_HAP6_ERR_CANT_CLOSE_THREAD_HANDLE   "Unable to close the DDNS request processing thread handle."
#define HEX_STR_HAP6_ERR_CANT_INIT_MODULE   "Unable to perform module initialization."
#define HEX_STR_HAP6_ERR_CANT_DO_TEARDOWN   "Unable to perform teardown."
#define HEX_STR_HAP6_ERR_CANT_DO_SHUTDOWN   "Unable to perform module shutdown."
#define HEX_STR_HAP6_ERR_FAILED_TO_SETUP_HAP6_FEATURES    "Failed to setup the HAP6 features."
#define HEX_STR_HAP6_ERR_FAILED_TO_EXPOSE_DEVICES   "Failed to make the HomeAccess devices accessible."
#define HEX_STR_HAP6_WARN_DEVICE_ADDRESS_NOT_IN_PREFIX "Device %s mapping refused: Device address '%s' is not within your delegated prefix '%s'."

#define HEX_STR_INVALID_IPHLPAPI_DLL          "Can't find required IPHLPAPI.DLL file, or invalid version."
#define HEX_STR_CANT_GET_LOCAL_DNSSERVERS     "Failed to retrieve local system DNS servers"

#endif


syntax highlighted by Code2HTML, v. 0.9.1