#ifndef COMMON_H #define COMMON_H #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <syslog.h> #include <regex.h> #include <sys/param.h> #include <string.h> #include <json_hal_common.h> #include "libdmtree/dmapi.h" #define ROOT_NODE "Device." #define BBF_ADD_EVENT "AddObj" #define BBF_DEL_EVENT "DelObj" #define BBF_EVENT "event" #define MAX_DM_KEY_LEN 256 #define MAX_DM_PATH 1024 #define MAX_DM_VALUE 4096 #define DM_VALUE_SEP "," #define DELIM '.' extern DMOBJ *DEAMON_DM_ROOT_OBJ; bool is_str_eq(const char *s1, const char *s2); void set_debug_level(unsigned char level); void print_error(const char *format, ...); void print_warning(const char *format, ...); void print_info(const char *format, ...); void print_debug(const char *format, ...); bool get_boolean_string(char *value); int get_proto_type(const char *proto); int get_instance_mode(int instance_mode); int get_dm_type(char *dm_type); eParamType get_eparam_type(char *dm_type, int *err); #define DEBUG(fmt, args...) \ print_debug("[%s:%d]"fmt, __func__, __LINE__, ##args) #define INFO(fmt, args...) \ print_info(fmt, ##args) #define ERR(fmt, args...) \ print_error("[%s:%d] " fmt, __func__, __LINE__, ##args) #define WARNING(fmt, args...) \ print_warning("[%s:%d] " fmt, __func__, __LINE__, ##args) // glibc doesn't guarantee a 0 termianted string on strncpy // strncpy with always 0 terminated string static inline void strncpyt(char *dst, const char *src, size_t n) { if (n > 1) { strncpy(dst, src, n - 1); dst[n - 1] = 0; } } #endif /* COMMON_H */