int LiveDevSetStorageById(LiveDevice *d, LiveDevStorageId id, void *ptr)
{
- return StorageSetById((Storage *)((void *)d + sizeof(LiveDevice)), STORAGE_DEVICE, id.id, ptr);
+ return StorageSetById(d->storage, STORAGE_DEVICE, id.id, ptr);
}
/**
void *LiveDevGetStorageById(LiveDevice *d, LiveDevStorageId id)
{
- return StorageGetById((Storage *)((void *)d + sizeof(LiveDevice)), STORAGE_DEVICE, id.id);
+ return StorageGetById(d->storage, STORAGE_DEVICE, id.id);
}
/**
void *LiveDevAllocStorageById(LiveDevice *d, LiveDevStorageId id)
{
- return StorageAllocByIdPrealloc(
- (Storage *)((void *)d + sizeof(LiveDevice)), STORAGE_DEVICE, id.id);
+ return StorageAllocByIdPrealloc(d->storage, STORAGE_DEVICE, id.id);
}
void LiveDevFreeStorageById(LiveDevice *d, LiveDevStorageId id)
{
- StorageFreeById((Storage *)((void *)d + sizeof(LiveDevice)), STORAGE_DEVICE, id.id);
+ StorageFreeById(d->storage, STORAGE_DEVICE, id.id);
}
void LiveDevFreeStorage(LiveDevice *d)
{
if (LiveDevStorageSize() > 0)
- StorageFreeAll((Storage *)((void *)d + sizeof(LiveDevice)), STORAGE_DEVICE);
+ StorageFreeAll(d->storage, STORAGE_DEVICE);
}
#endif /* HAVE_DPDK */
#include "queue.h"
+#include "util-storage.h"
#define OFFLOAD_FLAG_SG (1<<0)
#define OFFLOAD_FLAG_TSO (1<<1)
// DPDK resources that needs to be cleaned after workers are stopped and devices closed
DPDKDeviceResources dpdk_vars;
#endif
+ /** storage handle as a flex array member */
+ Storage storage[];
} LiveDevice;
typedef struct LiveDeviceName_ {