summaryrefslogtreecommitdiff
path: root/fw/midi-dials/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_define.h
blob: cbec3297344ac7c4247f70047d676b7701d29a6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef _JTEST_DEFINE_H_
#define _JTEST_DEFINE_H_

/*--------------------------------------------------------------------------------*/
/* Macros and Defines */
/*--------------------------------------------------------------------------------*/

/**
 *  Makes a symbol for use as a struct name. Names made this way have two parts;
 *  the first parts is a prefix common to all structs of that class. The second
 *  is a specifier which differs for each instance of that struct type.
 */
#define JTEST_STRUCT_NAME(prefix, specifier)    \
    CONCAT(prefix, specifier)

/**
 *  Define a struct with type with a name generated by #JTEST_STRUCT_NAME().
 */
#define JTEST_DEFINE_STRUCT(type, struct_name)    \
    type struct_name

/**
 *  Declare a struct with type with a name generated by #JTEST_STRUCT_NAME().
 */
#define JTEST_DECLARE_STRUCT(struct_definition) \
    extern struct_definition

/**
 *  Define and initialize a struct (created with JTEST_DEFINE_STRUCT()) and
 *  initialize it with init_values.
 */
#define JTEST_INIT_STRUCT(struct_definition, init_values)       \
    struct_definition = {                                       \
        init_values                                             \
    }

#endif /* _JTEST_DEFINE_H_ */