/** * Copyright 2020 (C) Hailo Technologies Ltd. * All rights reserved. * * Hailo Technologies Ltd. ("Hailo") disclaims any warranties, including, but not limited to, * the implied warranties of merchantability and fitness for a particular purpose. * This software is provided on an "AS IS" basis, and Hailo has no obligation to provide maintenance, * support, updates, enhancements, or modifications. * * You may use this software in the development of any project. * You shall not reproduce, modify or distribute this software without prior written permission. **/ /** * @ file example_common.h * Common macros and defines used by Hailort Examples **/ #ifndef _EXAMPLE_COMMON_H_ #define _EXAMPLE_COMMON_H_ #include #include #define FREE(var) \ do { \ if (NULL != (var)) { \ free(var); \ var = NULL; \ } \ } while(0) #define REQUIRE_ACTION(cond, action, label, ...) \ do { \ if (!(cond)) { \ printf(__VA_ARGS__); \ printf("\n"); \ action; \ goto label; \ } \ } while(0) #define REQUIRE_SUCCESS(status, label, ...) REQUIRE_ACTION((HAILO_SUCCESS == (status)), , label, __VA_ARGS__) #define ARRAY_LENGTH(__array) (sizeof((__array)) / sizeof((__array)[0])) #define NSEC_IN_SEC (1e+9) #endif /* _EXAMPLE_COMMON_H_ */