This macro declares a critical section lock as a member of a struct. The critical section lock member is only declared if built for multi-core systems, otherwise it is omitted. Example usage:
{c}
...
#include "os/critical_section.h"
...
typedef struct protected_struct_t {
int member1;
DECLARE_CRIT_SECTION_LOCK_IN_STRUCT(my_lock) // no semicolon!
int another_member;
};