// MISRA C-2012 Rules

{
    version : "2.0",
    standard : "c2012",
    title: "Coverity MISRA Configuration",
    deviations : [
        // Disable the following rules.
        {
            deviation: "Directive 4.5",
            reason: "Allow names that MISRA considers ambiguous."
        },
        {
            deviation: "Directive 4.8",
            reason: "Allow inclusion of unused types. Header files for coreMQTT, which are needed by all files, define types that are not used by the agent."
        },
        {
            deviation: "Directive 4.9",
            reason: "Allow inclusion of function like macros. Asserts and logging are done using function like macros."
        },
        {
            deviation: "Rule 2.3",
            reason: "Allow unused types. coreMQTT Library headers define types intended for the application's use, but are not used by the agent files."
        },
        {
            deviation: "Rule 2.4",
            reason: "Allow unused tags. Some compilers warn if types are not tagged."
        },
        {
            deviation: "Rule 2.5",
            reason: "Allow unused macros. coreMQTT Library headers define macros intended for the application's use, but are not used by the agent."
        },
        {
            deviation: "Rule 3.1",
            reason: "Allow nested comments. Documentation blocks contain comments for example code."
        },
        {
            deviation: "Rule 11.5",
            reason: "Allow casts from void *. Contexts are passed as void * and must be cast to the correct data type before use."
        }
    ]
}
