| /* |
| * Copyright (c) 2022 Apple Inc. All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * https://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef DNS_OBJ_LOG_H |
| #define DNS_OBJ_LOG_H |
| |
| // Overrides the default assert print. |
| #ifndef DEBUG_ASSERT_MESSAGE |
| #define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \ |
| log_fault("AssertMacros: " PUB_S ", " PUB_S " file: " PUB_S ", line: %d, value: %ld", assertion, (message != 0) ? message : "", file, line, (long) (value)) |
| #endif |
| |
| //====================================================================================================================== |
| // MARK: - Headers |
| |
| #include "mDNSDebug.h" |
| #include "domain_name_labels.h" |
| #include "dns_obj_domain_name.h" |
| |
| //====================================================================================================================== |
| // MARK: - Macros |
| |
| // Short version logging for DNS object. |
| |
| #ifndef log_debug |
| #define log_debug(FORMAT, ...) LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_DEBUG, FORMAT, ## __VA_ARGS__) |
| #endif |
| |
| #ifndef log_info |
| #define log_info(FORMAT, ...) LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_INFO, FORMAT, ## __VA_ARGS__) |
| #endif |
| |
| #ifndef log_default |
| #define log_default(FORMAT, ...) LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_DEFAULT, FORMAT, ## __VA_ARGS__) |
| #endif |
| |
| #ifndef log_error |
| #define log_error(FORMAT, ...) LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_ERROR, FORMAT, ## __VA_ARGS__) |
| #endif |
| |
| #ifndef log_fault |
| #define log_fault(FORMAT, ...) LogRedact(MDNS_LOG_CATEGORY_DEFAULT, MDNS_LOG_FAULT, FORMAT, ## __VA_ARGS__) |
| #endif |
| |
| |
| // Log specifier for domain name labels in bytes. |
| #if MDNSRESPONDER_SUPPORTS(APPLE, OS_LOG) |
| #define PUB_NAME_LABELS PUB_DM_NAME |
| #define PRI_NAME_LABELS PRI_DM_NAME |
| #define NAME_LABELS_PARAM(labels) ((labels != NULL) ? (int)domain_name_labels_length(labels) : 0), (labels) |
| #else |
| #define PUB_NAME_LABELS PUB_DM_NAME |
| #define PRI_NAME_LABELS PUB_NAME_LABELS |
| #define NAME_LABELS_PARAM(labels) (labels) |
| #endif |
| |
| // Log specifier for domain name object. |
| #if MDNSRESPONDER_SUPPORTS(APPLE, OS_LOG) |
| #define PUB_DNS_DM_NAME PUB_DM_NAME |
| #define PRI_DNS_DM_NAME PRI_DM_NAME |
| #define DNS_DM_NAME_PARAM(NAME) (((NAME) != NULL) ? (int)dns_obj_domain_name_get_length(NAME) : 0), (((NAME) != NULL) ? dns_obj_domain_name_get_labels(NAME) : NULL) |
| #else |
| #define PUB_DNS_DM_NAME PUB_DM_NAME |
| #define PRI_DNS_DM_NAME PUB_DNS_DM_NAME |
| #define DNS_DM_NAME_PARAM(NAME) (((NAME) != NULL) ? dns_obj_domain_name_get_labels(NAME) : NULL) |
| #endif |
| |
| #endif // DNS_OBJ_LOG_H |