
#ifndef ETHERCAT_STATICS_DRIVER_VERSION_H
#define ETHERCAT_STATICS_DRIVER_VERSION_H

#pragma once

#include "../ethercat_types.h"
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    uint32_t    major;
    uint32_t    minor;
    uint32_t    build;
    char        build_date[32];
    char        driver_name[32];
    bool        available;
    const char* error_message;
} darra_driver_version_t;

bool darra_get_driver_version(darra_driver_version_t* out);

bool darra_check_driver_compatibility(char* out_msg, size_t msg_size);

void darra_log_driver_compatibility(void);

#ifdef __cplusplus
}
#endif

#endif
