Salut,
Une union permet de regrouper différents champs dans un même ensemble. Un peu comme une structure mais à la différence que seul un des champs est valide à un moment donné.
L'énumération permet de savoir quel est le champs valide.
Au vu de ce que tu décris, j'aurais tendance à définir le type d'erreur comme unsigned long. Ce type est ensuite utilisé par tous les autres modules. Puis d'avoir une fonction de 'normalisation' de l'erreur, dépendante du driver, qui transforme l'erreur du driver dans une erreur dans ton type unsigned long.
Partager