diff --git a/src/erase/sanitize.cpp b/src/erase/sanitize.cpp
index dbf92f5..c40ca98 100644
--- a/src/erase/sanitize.cpp
+++ b/src/erase/sanitize.cpp
@@ -76,7 +76,7 @@
     uint64_t sectorSize = 0x200; // default value see eMMC spec 6.6.34.
                                  // NOTE: 0x200 is only valid for eMMC greater
                                  // then 2 GB
-    struct mmc_io_multi_cmd_erase eraseCmd = {};
+    struct MmcIoMultiCmdErase eraseCmd = {};
 
     eraseCmd.num_of_cmds = 3;
     eraseCmd.cmds[0].opcode = mmcEraseGroupStart;
@@ -130,7 +130,7 @@
 
 int IOCTLWrapperImpl::doIoctlMulti(std::string_view devPath,
                                    unsigned long request,
-                                   struct mmc_io_multi_cmd_erase data)
+                                   struct MmcIoMultiCmdErase data)
 {
     ManagedFd fd = stdplus::fd::open(std::string(devPath).c_str(),
                                      stdplus::fd::OpenAccess::ReadOnly);
diff --git a/src/test/erase/sanitize_test.cpp b/src/test/erase/sanitize_test.cpp
index 4e18148..4015ded 100644
--- a/src/test/erase/sanitize_test.cpp
+++ b/src/test/erase/sanitize_test.cpp
@@ -30,7 +30,7 @@
 
     MOCK_METHOD(int, doIoctlMulti,
                 (std::string_view devPath, unsigned long request,
-                 struct estoraged::mmc_io_multi_cmd_erase),
+                 struct estoraged::MmcIoMultiCmdErase),
                 (override));
 };
 
diff --git a/src/test/include/estoraged_test.hpp b/src/test/include/estoraged_test.hpp
index a9dfbc0..2a0ad8e 100644
--- a/src/test/include/estoraged_test.hpp
+++ b/src/test/include/estoraged_test.hpp
@@ -45,18 +45,18 @@
   public:
     MOCK_METHOD(int, cryptFormat,
                 (struct crypt_device * cd, const char* type, const char* cipher,
-                 const char* cipher_mode, const char* uuid,
-                 const char* volume_key, size_t volume_key_size, void* params),
+                 const char* cipherMode, const char* uuid,
+                 const char* volumeKey, size_t volumeKeySize, void* params),
                 (override));
 
     MOCK_METHOD(int, cryptKeyslotAddByVolumeKey,
-                (struct crypt_device * cd, int keyslot, const char* volume_key,
-                 size_t volume_key_size, const char* passphrase,
-                 size_t passphrase_size),
+                (struct crypt_device * cd, int keyslot, const char* volumeKey,
+                 size_t volumeKeySize, const char* passphrase,
+                 size_t passphraseSize),
                 (override));
 
     MOCK_METHOD(int, cryptLoad,
-                (struct crypt_device * cd, const char* requested_type,
+                (struct crypt_device * cd, const char* requestedType,
                  void* params),
                 (override));
 
@@ -68,8 +68,7 @@
 
     MOCK_METHOD(int, cryptActivateByPassphrase,
                 (struct crypt_device * cd, const char* name, int keyslot,
-                 const char* passphrase, size_t passphrase_size,
-                 uint32_t flags),
+                 const char* passphrase, size_t passphraseSize, uint32_t flags),
                 (override));
 
     MOCK_METHOD(int, cryptDeactivate,
