#ifndef __COMPOSE_DEVICE_H__ #define __COMPOSE_DEVICE_H__ #include "base_device.h" typedef struct { uint64_t limiter; } clock_conf_t; typedef struct { char** baseAt; char* baseSeg; char** target; uint64_t projectionShift; } projection_conf_t; typedef struct { char** baseAt; char** pointAt; uint64_t addr; char* seg; } intercept_conf_t; typedef struct { clock_conf_t clockConf; conf_dev_t** baseConfigs; projection_conf_t** projections; intercept_conf_t** intercepts; } compose_dev_conf_t; typedef struct { device_handle_t** devHandlers; } compose_dev_handle_t; compose_dev_conf_t* openComposeDeviceConfig(const char* configPath, char* errbuf); device_handle_t** openComposeDevice(compose_dev_conf_t* conf, char* errbuf); #endif // ifndef __COMPOSE_DEVICE_H__