VDEV_SAFETY_* enum

Specify if the vdev is a safety variant, and if so the safety variant version

Synopsis:

#include <qvm/vdev-core.h>
enum {
    VDEV_SAFETY_NO = 0x55555555,
    VDEV_SAFETY_YES = 0xaaaaaaaa,
    VDEV_SAFETY_SELECTED = VDEV_SAFETY_NO
};

Data:

VDEV_SAFETY_NO

VDEV_SAFETY_SELECTED is set to this value when this is not the safety variant of the vdev.

VDEV_SAFETY_YES

VDEV_SAFETY_SELECTED is set to this value when this is the safety variant of the vdev.

VDEV_SAFETY_SELECTED

Set to VDEV_SAFETY_YES if either of the preprocessor macros WANT_SAFETY or VARIANT_safety are defined; otherwise set to VDEV_SAFETY_NO.

Description:

If you are building a vdev for a system that will be safety-certified, you can either explicitly define WANT_SAFETY or, if you are using the QNX SDP build system, you can rely on the VARIANT_safety macro definition it provides.

VARIANT_safety is a construction of the QNX SDP build system. Typically, for a non-safety system, you have in the build directory structure on your development host a subdirectory where the object files and binaries get built; this directory is called, for example, aarch64/le for an ARM platform.

If you are building a system that requires safety variants, then you should use a subdirectory with the “-safety” suffix in its name (e.g., aarch64/le-safety) so that your build will define VARIANT_safety for the build.