diff --git a/include/psa/crypto_se_driver.h b/include/psa/crypto_se_driver.h
index 5214c62..f94b2f8 100644
--- a/include/psa/crypto_se_driver.h
+++ b/include/psa/crypto_se_driver.h
@@ -213,25 +213,25 @@
     size_t                              context_size;
     /** Function that performs the setup operation
      */
-    psa_drv_se_mac_setup_t          *p_setup;
+    psa_drv_se_mac_setup_t          p_setup;
    /** Function that performs the update operation
      */
-    psa_drv_se_mac_update_t         *p_update;
+    psa_drv_se_mac_update_t         p_update;
     /** Function that completes the operation
      */
-    psa_drv_se_mac_finish_t         *p_finish;
+    psa_drv_se_mac_finish_t         p_finish;
     /** Function that completed a MAC operation with a verify check
      */
-    psa_drv_se_mac_finish_verify_t  *p_finish_verify;
+    psa_drv_se_mac_finish_verify_t  p_finish_verify;
     /** Function that aborts a previoustly started operation
      */
-    psa_drv_se_mac_abort_t          *p_abort;
+    psa_drv_se_mac_abort_t          p_abort;
     /** Function that performs the MAC operation in one call
      */
-    psa_drv_se_mac_generate_t       *p_mac;
+    psa_drv_se_mac_generate_t       p_mac;
     /** Function that performs the MAC and verify operation in one call
      */
-    psa_drv_se_mac_verify_t         *p_mac_verify;
+    psa_drv_se_mac_verify_t         p_mac_verify;
 } psa_drv_se_mac_t;
 /**@}*/
 
@@ -394,20 +394,20 @@
      */
     size_t                      size;
     /** Function that performs the setup operation */
-    psa_drv_se_cipher_setup_t  *p_setup;
+    psa_drv_se_cipher_setup_t  p_setup;
     /** Function that sets the IV (if necessary) */
-    psa_drv_se_cipher_set_iv_t *p_set_iv;
+    psa_drv_se_cipher_set_iv_t p_set_iv;
     /** Function that performs the update operation */
-    psa_drv_se_cipher_update_t *p_update;
+    psa_drv_se_cipher_update_t p_update;
     /** Function that completes the operation */
-    psa_drv_se_cipher_finish_t *p_finish;
+    psa_drv_se_cipher_finish_t p_finish;
     /** Function that aborts the operation */
-    psa_drv_se_cipher_abort_t  *p_abort;
+    psa_drv_se_cipher_abort_t  p_abort;
     /** Function that performs ECB mode for the cipher
      * (Danger: ECB mode should not be used directly by clients of the PSA
      * Crypto Client API)
      */
-    psa_drv_se_cipher_ecb_t    *p_ecb;
+    psa_drv_se_cipher_ecb_t    p_ecb;
 } psa_drv_se_cipher_t;
 
 /**@}*/
@@ -553,13 +553,13 @@
  */
 typedef struct {
     /** Function that performs the asymmetric sign operation */
-    psa_drv_se_asymmetric_sign_t    *p_sign;
+    psa_drv_se_asymmetric_sign_t    p_sign;
     /** Function that performs the asymmetric verify operation */
-    psa_drv_se_asymmetric_verify_t  *p_verify;
+    psa_drv_se_asymmetric_verify_t  p_verify;
     /** Function that performs the asymmetric encrypt operation */
-    psa_drv_se_asymmetric_encrypt_t *p_encrypt;
+    psa_drv_se_asymmetric_encrypt_t p_encrypt;
     /** Function that performs the asymmetric decrypt operation */
-    psa_drv_se_asymmetric_decrypt_t *p_decrypt;
+    psa_drv_se_asymmetric_decrypt_t p_decrypt;
 } psa_drv_se_asymmetric_t;
 
 /**@}*/
@@ -665,9 +665,9 @@
  */
 typedef struct {
     /** Function that performs the AEAD encrypt operation */
-    psa_drv_se_aead_encrypt_t *p_encrypt;
+    psa_drv_se_aead_encrypt_t p_encrypt;
     /** Function that performs the AEAD decrypt operation */
-    psa_drv_se_aead_decrypt_t *p_decrypt;
+    psa_drv_se_aead_decrypt_t p_decrypt;
 } psa_drv_se_aead_t;
 /**@}*/
 
@@ -803,13 +803,13 @@
  */
 typedef struct {
     /** Function that performs the key import operation */
-    psa_drv_se_import_key_t *p_import;
+    psa_drv_se_import_key_t p_import;
     /** Function that performs the key destroy operation */
-    psa_drv_se_destroy_key_t       *p_destroy;
+    psa_drv_se_destroy_key_t       p_destroy;
     /** Function that performs the key export operation */
-    psa_drv_se_export_key_t        *p_export;
+    psa_drv_se_export_key_t        p_export;
     /** Function that perforsm the public key export operation */
-    psa_drv_se_export_public_key_t *p_export_public;
+    psa_drv_se_export_public_key_t p_export_public;
 } psa_drv_se_key_management_t;
 
 /**@}*/
@@ -943,14 +943,14 @@
  */
 typedef struct {
     /** Function that performs the key derivation setup */
-    psa_drv_se_key_derivation_setup_t      *p_setup;
+    psa_drv_se_key_derivation_setup_t      p_setup;
     /** Function that sets the key derivation collateral */
-    psa_drv_se_key_derivation_collateral_t *p_collateral;
+    psa_drv_se_key_derivation_collateral_t p_collateral;
     /** Function that performs the final key derivation step */
-    psa_drv_se_key_derivation_derive_t     *p_derive;
+    psa_drv_se_key_derivation_derive_t     p_derive;
     /** Function that perforsm the final key derivation or agreement and
      * exports the key */
-    psa_drv_se_key_derivation_export_t     *p_export;
+    psa_drv_se_key_derivation_export_t     p_export;
 } psa_drv_se_key_derivation_t;
 
 /**@}*/
