1ac930a55SSrikanth Yalavarthi /* SPDX-License-Identifier: BSD-3-Clause 2ac930a55SSrikanth Yalavarthi * Copyright (c) 2022 Marvell. 3ac930a55SSrikanth Yalavarthi */ 4ac930a55SSrikanth Yalavarthi 5ac930a55SSrikanth Yalavarthi #ifndef ML_COMMON_H 6ac930a55SSrikanth Yalavarthi #define ML_COMMON_H 7ac930a55SSrikanth Yalavarthi 8ac930a55SSrikanth Yalavarthi #include <stdio.h> 9ac930a55SSrikanth Yalavarthi 10ac930a55SSrikanth Yalavarthi #define CLNRM "\x1b[0m" 11ac930a55SSrikanth Yalavarthi #define CLRED "\x1b[31m" 12ac930a55SSrikanth Yalavarthi #define CLGRN "\x1b[32m" 13ac930a55SSrikanth Yalavarthi #define CLYEL "\x1b[33m" 14ac930a55SSrikanth Yalavarthi 15ac930a55SSrikanth Yalavarthi #define ML_STR_FMT 20 16ac930a55SSrikanth Yalavarthi 17*f7c9651cSAndre Muezerie #define ml_err(fmt, ...) \ 18*f7c9651cSAndre Muezerie fprintf(stderr, CLRED "error: %s() " fmt CLNRM "\n", __func__, ##__VA_ARGS__) 19ac930a55SSrikanth Yalavarthi 20*f7c9651cSAndre Muezerie #define ml_info(fmt, ...) fprintf(stdout, CLYEL "" fmt CLNRM "\n", ##__VA_ARGS__) 21ac930a55SSrikanth Yalavarthi 22*f7c9651cSAndre Muezerie #define ml_dump(str, fmt, ...) printf("\t%-*s : " fmt "\n", ML_STR_FMT, str, ##__VA_ARGS__) 23ac930a55SSrikanth Yalavarthi 24ac930a55SSrikanth Yalavarthi #define ml_dump_begin(str) printf("\t%-*s :\n\t{\n", ML_STR_FMT, str) 25ac930a55SSrikanth Yalavarthi 26ac930a55SSrikanth Yalavarthi #define ml_dump_list(str, id, val) printf("\t%*s[%2u] : %s\n", ML_STR_FMT - 4, str, id, val) 27ac930a55SSrikanth Yalavarthi 28ac930a55SSrikanth Yalavarthi #define ml_dump_end printf("\b\t}\n\n") 29ac930a55SSrikanth Yalavarthi 3077fefa0aSSrikanth Yalavarthi static inline void 3177fefa0aSSrikanth Yalavarthi ml_print_line(uint16_t len) 3277fefa0aSSrikanth Yalavarthi { 3377fefa0aSSrikanth Yalavarthi uint16_t i; 3477fefa0aSSrikanth Yalavarthi 3577fefa0aSSrikanth Yalavarthi for (i = 0; i < len; i++) 3677fefa0aSSrikanth Yalavarthi printf("-"); 3777fefa0aSSrikanth Yalavarthi 3877fefa0aSSrikanth Yalavarthi printf("\n"); 3977fefa0aSSrikanth Yalavarthi } 4077fefa0aSSrikanth Yalavarthi 41ac930a55SSrikanth Yalavarthi #endif /* ML_COMMON_H */ 42