You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/05/27 16:16:28 UTC

[plc4x] branch feature/c-code-generation created (now 6426251)

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a change to branch feature/c-code-generation
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


      at 6426251  - Moved the PLC4C generated code into a checked-in directory (for now) so we can do code reviews on it.

This branch includes the following new commits:

     new 6426251  - Moved the PLC4C generated code into a checked-in directory (for now) so we can do code reviews on it.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[plc4x] 01/01: - Moved the PLC4C generated code into a checked-in directory (for now) so we can do code reviews on it.

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/c-code-generation
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 6426251fb0dabe1faed9b0e31374b917cc7259dd
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Wed May 27 18:16:15 2020 +0200

    - Moved the PLC4C generated code into a checked-in directory (for now) so we can do code reviews on it.
---
 sandbox/plc4c/drivers/modbus/CMakeLists.txt        |   2 +-
 sandbox/plc4c/drivers/s7/CMakeLists.txt            |   2 +-
 .../modbus/includes/modbus_constants.h}            |  29 +-
 .../modbus/includes/modbus_p_d_u.h}                |  29 +-
 .../includes/modbus_p_d_u_diagnostic_request.h}    |  30 +-
 .../includes/modbus_p_d_u_diagnostic_response.h}   |  30 +-
 .../modbus/includes/modbus_p_d_u_error.h}          |  30 +-
 .../modbus_p_d_u_get_com_event_counter_request.h}  |  29 +-
 .../modbus_p_d_u_get_com_event_counter_response.h} |  31 +-
 .../modbus_p_d_u_get_com_event_log_request.h}      |  29 +-
 .../modbus_p_d_u_get_com_event_log_response.h}     |  33 +-
 ...us_p_d_u_mask_write_holding_register_request.h} |  32 +-
 ...s_p_d_u_mask_write_holding_register_response.h} |  32 +-
 .../includes/modbus_p_d_u_read_coils_request.h}    |  31 +-
 .../includes/modbus_p_d_u_read_coils_response.h}   |  30 +-
 ...bus_p_d_u_read_device_identification_request.h} |  29 +-
 ...us_p_d_u_read_device_identification_response.h} |  29 +-
 .../modbus_p_d_u_read_discrete_inputs_request.h}   |  31 +-
 .../modbus_p_d_u_read_discrete_inputs_response.h}  |  30 +-
 .../modbus_p_d_u_read_exception_status_request.h}  |  29 +-
 .../modbus_p_d_u_read_exception_status_response.h} |  30 +-
 .../modbus_p_d_u_read_fifo_queue_request.h}        |  30 +-
 .../modbus_p_d_u_read_fifo_queue_response.h}       |  30 +-
 .../modbus_p_d_u_read_file_record_request.h}       |  31 +-
 .../modbus_p_d_u_read_file_record_request_item.h}  |  33 +-
 .../modbus_p_d_u_read_file_record_response.h}      |  31 +-
 .../modbus_p_d_u_read_file_record_response_item.h} |  31 +-
 .../modbus_p_d_u_read_holding_registers_request.h} |  31 +-
 ...modbus_p_d_u_read_holding_registers_response.h} |  30 +-
 .../modbus_p_d_u_read_input_registers_request.h}   |  31 +-
 .../modbus_p_d_u_read_input_registers_response.h}  |  30 +-
 ...read_write_multiple_holding_registers_request.h |  41 ++
 ...ad_write_multiple_holding_registers_response.h} |  30 +-
 .../modbus_p_d_u_report_server_id_request.h}       |  29 +-
 .../modbus_p_d_u_report_server_id_response.h}      |  30 +-
 .../modbus_p_d_u_write_file_record_request.h}      |  31 +-
 .../modbus_p_d_u_write_file_record_request_item.h} |  33 +-
 .../modbus_p_d_u_write_file_record_response.h}     |  31 +-
 ...modbus_p_d_u_write_file_record_response_item.h} |  33 +-
 .../modbus_p_d_u_write_multiple_coils_request.h}   |  32 +-
 .../modbus_p_d_u_write_multiple_coils_response.h}  |  31 +-
 ...d_u_write_multiple_holding_registers_request.h} |  32 +-
 ..._u_write_multiple_holding_registers_response.h} |  31 +-
 .../modbus_p_d_u_write_single_coil_request.h}      |  31 +-
 .../modbus_p_d_u_write_single_coil_response.h}     |  31 +-
 .../modbus_p_d_u_write_single_register_request.h}  |  31 +-
 .../modbus_p_d_u_write_single_register_response.h} |  31 +-
 .../modbus/includes/modbus_serial_a_d_u.h}         |  34 +-
 .../modbus/includes/modbus_tcp_a_d_u.h}            |  33 +-
 .../modbus/src/modbus_constants.c}                 |  16 +-
 .../modbus/src/modbus_p_d_u.c}                     |  16 +-
 .../modbus/src/modbus_p_d_u_diagnostic_request.c}  |  16 +-
 .../modbus/src/modbus_p_d_u_diagnostic_response.c} |  16 +-
 .../modbus/src/modbus_p_d_u_error.c}               |  16 +-
 .../modbus_p_d_u_get_com_event_counter_request.c}  |  16 +-
 .../modbus_p_d_u_get_com_event_counter_response.c} |  16 +-
 .../src/modbus_p_d_u_get_com_event_log_request.c}  |  16 +-
 .../src/modbus_p_d_u_get_com_event_log_response.c} |  16 +-
 ...us_p_d_u_mask_write_holding_register_request.c} |  16 +-
 ...s_p_d_u_mask_write_holding_register_response.c} |  16 +-
 .../modbus/src/modbus_p_d_u_read_coils_request.c}  |  16 +-
 .../modbus/src/modbus_p_d_u_read_coils_response.c} |  16 +-
 ...bus_p_d_u_read_device_identification_request.c} |  16 +-
 ...us_p_d_u_read_device_identification_response.c} |  16 +-
 .../modbus_p_d_u_read_discrete_inputs_request.c}   |  16 +-
 .../modbus_p_d_u_read_discrete_inputs_response.c}  |  16 +-
 .../modbus_p_d_u_read_exception_status_request.c}  |  16 +-
 .../modbus_p_d_u_read_exception_status_response.c} |  16 +-
 .../src/modbus_p_d_u_read_fifo_queue_request.c}    |  16 +-
 .../src/modbus_p_d_u_read_fifo_queue_response.c}   |  16 +-
 .../src/modbus_p_d_u_read_file_record_request.c}   |  16 +-
 .../modbus_p_d_u_read_file_record_request_item.c}  |  16 +-
 .../src/modbus_p_d_u_read_file_record_response.c}  |  16 +-
 .../modbus_p_d_u_read_file_record_response_item.c} |  16 +-
 .../modbus_p_d_u_read_holding_registers_request.c} |  16 +-
 ...modbus_p_d_u_read_holding_registers_response.c} |  16 +-
 .../modbus_p_d_u_read_input_registers_request.c}   |  16 +-
 .../modbus_p_d_u_read_input_registers_response.c}  |  16 +-
 ...ead_write_multiple_holding_registers_request.c} |  16 +-
 ...ad_write_multiple_holding_registers_response.c} |  16 +-
 .../src/modbus_p_d_u_report_server_id_request.c}   |  16 +-
 .../src/modbus_p_d_u_report_server_id_response.c}  |  16 +-
 .../src/modbus_p_d_u_write_file_record_request.c}  |  16 +-
 .../modbus_p_d_u_write_file_record_request_item.c} |  16 +-
 .../src/modbus_p_d_u_write_file_record_response.c} |  16 +-
 ...modbus_p_d_u_write_file_record_response_item.c} |  16 +-
 .../modbus_p_d_u_write_multiple_coils_request.c}   |  16 +-
 .../modbus_p_d_u_write_multiple_coils_response.c}  |  16 +-
 ...d_u_write_multiple_holding_registers_request.c} |  16 +-
 ..._u_write_multiple_holding_registers_response.c} |  16 +-
 .../src/modbus_p_d_u_write_single_coil_request.c}  |  16 +-
 .../src/modbus_p_d_u_write_single_coil_response.c} |  16 +-
 .../modbus_p_d_u_write_single_register_request.c}  |  16 +-
 .../modbus_p_d_u_write_single_register_response.c} |  16 +-
 .../modbus/src/modbus_serial_a_d_u.c}              |  16 +-
 .../modbus/src/modbus_tcp_a_d_u.c}                 |  16 +-
 .../s7/includes/c_o_t_p_packet.h}                  |  33 +-
 .../includes/c_o_t_p_packet_connection_request.h   |  44 ++
 .../includes/c_o_t_p_packet_connection_response.h  |  44 ++
 .../s7/includes/c_o_t_p_packet_data.h}             |  35 +-
 .../includes/c_o_t_p_packet_disconnect_request.h   |  44 ++
 .../includes/c_o_t_p_packet_disconnect_response.h} |  35 +-
 .../s7/includes/c_o_t_p_packet_tpdu_error.h}       |  35 +-
 .../s7/includes/c_o_t_p_parameter.h}               |  29 +-
 .../s7/includes/c_o_t_p_parameter_called_tsap.h}   |  30 +-
 .../s7/includes/c_o_t_p_parameter_calling_tsap.h}  |  30 +-
 .../s7/includes/c_o_t_p_parameter_checksum.h}      |  30 +-
 ..._parameter_disconnect_additional_information.h} |  30 +-
 .../s7/includes/c_o_t_p_parameter_tpdu_size.h}     |  31 +-
 .../s7/includes/c_o_t_p_protocol_class.h           |  41 ++
 .../s7/includes/c_o_t_p_tpdu_size.h                |  72 ++++
 .../s7/includes/data_transport_error_code.h        |  42 ++
 .../s7/includes/data_transport_size.h              |  72 ++++
 .../s7/includes/device_group.h}                    |  30 +-
 .../generated-sources/s7/includes/memory_area.h    |  80 ++++
 .../s7/includes/s7_address.h}                      |  29 +-
 .../s7/includes/s7_address_any.h}                  |  37 +-
 .../s7/includes/s7_message.h}                      |  34 +-
 .../s7/includes/s7_message_request.h}              |  34 +-
 .../s7/includes/s7_message_response.h}             |  36 +-
 .../s7/includes/s7_message_response_data.h}        |  36 +-
 .../s7/includes/s7_message_user_data.h}            |  34 +-
 .../s7/includes/s7_parameter.h}                    |  29 +-
 .../s7/includes/s7_parameter_read_var_request.h}   |  31 +-
 .../s7/includes/s7_parameter_read_var_response.h}  |  30 +-
 .../includes/s7_parameter_setup_communication.h}   |  32 +-
 .../s7/includes/s7_parameter_user_data.h}          |  31 +-
 .../s7/includes/s7_parameter_user_data_item.h}     |  29 +-
 .../s7_parameter_user_data_item_c_p_u_functions.h  |  44 ++
 .../s7/includes/s7_parameter_write_var_request.h}  |  31 +-
 .../s7/includes/s7_parameter_write_var_response.h} |  30 +-
 .../s7/includes/s7_payload.h}                      |  29 +-
 .../s7/includes/s7_payload_read_var_response.h}    |  31 +-
 .../s7/includes/s7_payload_user_data.h}            |  31 +-
 .../s7/includes/s7_payload_user_data_item.h}       |  36 +-
 ..._user_data_item_cpu_function_read_szl_request.h |  43 ++
 ...user_data_item_cpu_function_read_szl_response.h |  45 ++
 .../s7/includes/s7_payload_write_var_request.h}    |  31 +-
 .../s7/includes/s7_payload_write_var_response.h}   |  31 +-
 .../s7/includes/s7_var_payload_data_item.h}        |  35 +-
 .../s7/includes/s7_var_payload_status_item.h}      |  31 +-
 .../s7/includes/s7_var_request_parameter_item.h}   |  29 +-
 .../s7_var_request_parameter_item_address.h}       |  31 +-
 .../s7/includes/szl_data_tree_item.h}              |  34 +-
 .../s7/includes/szl_id.h}                          |  34 +-
 .../s7/includes/szl_module_type_class.h}           |  31 +-
 .../generated-sources/s7/includes/szl_sublist.h    |  55 +++
 .../s7/includes/t_p_k_t_packet.h}                  |  31 +-
 .../generated-sources/s7/includes/transport_size.h | 472 +++++++++++++++++++++
 .../s7/src/c_o_t_p_packet.c}                       |  16 +-
 .../s7/src/c_o_t_p_packet_connection_request.c}    |  16 +-
 .../s7/src/c_o_t_p_packet_connection_response.c}   |  16 +-
 .../s7/src/c_o_t_p_packet_data.c}                  |  16 +-
 .../s7/src/c_o_t_p_packet_disconnect_request.c}    |  16 +-
 .../s7/src/c_o_t_p_packet_disconnect_response.c}   |  16 +-
 .../s7/src/c_o_t_p_packet_tpdu_error.c}            |  16 +-
 .../s7/src/c_o_t_p_parameter.c}                    |  16 +-
 .../s7/src/c_o_t_p_parameter_called_tsap.c}        |  16 +-
 .../s7/src/c_o_t_p_parameter_calling_tsap.c}       |  16 +-
 .../s7/src/c_o_t_p_parameter_checksum.c}           |  16 +-
 ..._parameter_disconnect_additional_information.c} |  16 +-
 .../s7/src/c_o_t_p_parameter_tpdu_size.c}          |  16 +-
 .../s7/src/s7_address.c}                           |  16 +-
 .../s7/src/s7_address_any.c}                       |  16 +-
 .../s7/src/s7_message.c}                           |  16 +-
 .../s7/src/s7_message_request.c}                   |  16 +-
 .../s7/src/s7_message_response.c}                  |  16 +-
 .../s7/src/s7_message_response_data.c}             |  16 +-
 .../s7/src/s7_message_user_data.c}                 |  16 +-
 .../s7/src/s7_parameter.c}                         |  16 +-
 .../s7/src/s7_parameter_read_var_request.c}        |  16 +-
 .../s7/src/s7_parameter_read_var_response.c}       |  16 +-
 .../s7/src/s7_parameter_setup_communication.c}     |  16 +-
 .../s7/src/s7_parameter_user_data.c}               |  16 +-
 .../s7/src/s7_parameter_user_data_item.c}          |  16 +-
 .../s7_parameter_user_data_item_c_p_u_functions.c} |  16 +-
 .../s7/src/s7_parameter_write_var_request.c}       |  16 +-
 .../s7/src/s7_parameter_write_var_response.c}      |  16 +-
 .../s7/src/s7_payload.c}                           |  16 +-
 .../s7/src/s7_payload_read_var_response.c}         |  16 +-
 .../s7/src/s7_payload_user_data.c}                 |  16 +-
 .../s7/src/s7_payload_user_data_item.c}            |  16 +-
 ...user_data_item_cpu_function_read_szl_request.c} |  16 +-
 ...ser_data_item_cpu_function_read_szl_response.c} |  16 +-
 .../s7/src/s7_payload_write_var_request.c}         |  16 +-
 .../s7/src/s7_payload_write_var_response.c}        |  16 +-
 .../s7/src/s7_var_payload_data_item.c}             |  16 +-
 .../s7/src/s7_var_payload_status_item.c}           |  16 +-
 .../s7/src/s7_var_request_parameter_item.c}        |  16 +-
 .../src/s7_var_request_parameter_item_address.c}   |  16 +-
 .../s7/src/szl_data_tree_item.c}                   |  16 +-
 .../s7/src/szl_id.c}                               |  16 +-
 .../s7/src/t_p_k_t_packet.c}                       |  16 +-
 sandbox/plc4c/pom.xml                              |   4 +-
 194 files changed, 3077 insertions(+), 2217 deletions(-)

diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/drivers/modbus/CMakeLists.txt
index c83c853..35e3c53 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/drivers/modbus/CMakeLists.txt
@@ -18,7 +18,7 @@
 ]]
 
 include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+    "${PLC4C_ROOT_DIR}/generated-sources/plc4x/modbus/includes")
 
 # Add the sources
 file(GLOB sources "src/*.c")
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/drivers/s7/CMakeLists.txt
index 59b6334..75f2cdd 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/drivers/s7/CMakeLists.txt
@@ -18,7 +18,7 @@
 ]]
 
 include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+    "${PLC4C_ROOT_DIR}/generated-sources/plc4x/s7/includes")
 
 # Add the sources
 file(GLOB sources "src/*.c")
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_constants.h
similarity index 63%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_constants.h
index c83c853..eb0b7e3 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_constants.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_CONSTANTS_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_CONSTANTS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_constants {
+};
+typedef struct plc4c_modbus_read_write_modbus_constants plc4c_modbus_read_write_modbus_constants;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_CONSTANTS_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u.h
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u.h
index 59b6334..9626623 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u plc4c_modbus_read_write_modbus_p_d_u;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_diagnostic_request.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_diagnostic_request.h
index c83c853..cfed034 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_diagnostic_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_DIAGNOSTIC_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_DIAGNOSTIC_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_diagnostic_request {
+  uint8_t subfunction;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_diagnostic_request plc4c_modbus_read_write_modbus_p_d_u_diagnostic_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_DIAGNOSTIC_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_diagnostic_response.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_diagnostic_response.h
index c83c853..787c6d7 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_diagnostic_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_DIAGNOSTIC_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_DIAGNOSTIC_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_diagnostic_response {
+  uint8_t subfunction;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_diagnostic_response plc4c_modbus_read_write_modbus_p_d_u_diagnostic_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_DIAGNOSTIC_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_error.h
similarity index 61%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_error.h
index c83c853..9f6ba87 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_error.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_ERROR_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_ERROR_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_error {
+  uint8_t exception_code;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_error plc4c_modbus_read_write_modbus_p_d_u_error;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_ERROR_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_counter_request.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_counter_request.h
index c83c853..30211c4 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_counter_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_COUNTER_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_COUNTER_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_counter_request {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_counter_request plc4c_modbus_read_write_modbus_p_d_u_get_com_event_counter_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_COUNTER_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_counter_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_counter_response.h
index c83c853..fe02bc2 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_counter_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_COUNTER_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_COUNTER_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_counter_response {
+  uint16_t status;
+  uint16_t event_count;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_counter_response plc4c_modbus_read_write_modbus_p_d_u_get_com_event_counter_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_COUNTER_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_log_request.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_log_request.h
index c83c853..4ac35e6 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_log_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_LOG_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_LOG_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_log_request {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_log_request plc4c_modbus_read_write_modbus_p_d_u_get_com_event_log_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_LOG_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_log_response.h
similarity index 53%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_log_response.h
index c83c853..331c418 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_get_com_event_log_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_LOG_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_LOG_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_log_response {
+  uint16_t status;
+  uint16_t event_count;
+  uint16_t message_count;
+  plc4c_list events;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_get_com_event_log_response plc4c_modbus_read_write_modbus_p_d_u_get_com_event_log_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_GET_COM_EVENT_LOG_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_mask_write_holding_register_request.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_mask_write_holding_register_request.h
index c83c853..a1ff914 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_mask_write_holding_register_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,25 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_MASK_WRITE_HOLDING_REGISTER_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_MASK_WRITE_HOLDING_REGISTER_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_mask_write_holding_register_request {
+  uint16_t reference_address;
+  uint16_t and_mask;
+  uint16_t or_mask;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_mask_write_holding_register_request plc4c_modbus_read_write_modbus_p_d_u_mask_write_holding_register_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_MASK_WRITE_HOLDING_REGISTER_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_mask_write_holding_register_response.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_mask_write_holding_register_response.h
index c83c853..e60d0f6 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_mask_write_holding_register_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,25 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_MASK_WRITE_HOLDING_REGISTER_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_MASK_WRITE_HOLDING_REGISTER_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_mask_write_holding_register_response {
+  uint16_t reference_address;
+  uint16_t and_mask;
+  uint16_t or_mask;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_mask_write_holding_register_response plc4c_modbus_read_write_modbus_p_d_u_mask_write_holding_register_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_MASK_WRITE_HOLDING_REGISTER_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_coils_request.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_coils_request.h
index c83c853..4bb583a 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_coils_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_COILS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_COILS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_coils_request {
+  uint16_t starting_address;
+  uint16_t quantity;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_coils_request plc4c_modbus_read_write_modbus_p_d_u_read_coils_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_COILS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_coils_response.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_coils_response.h
index c83c853..e154fc1 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_coils_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_COILS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_COILS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_coils_response {
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_coils_response plc4c_modbus_read_write_modbus_p_d_u_read_coils_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_COILS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_device_identification_request.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_device_identification_request.h
index c83c853..e57eeef 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_device_identification_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DEVICE_IDENTIFICATION_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DEVICE_IDENTIFICATION_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_device_identification_request {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_device_identification_request plc4c_modbus_read_write_modbus_p_d_u_read_device_identification_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DEVICE_IDENTIFICATION_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_device_identification_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_device_identification_response.h
index c83c853..f70f1f3 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_device_identification_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DEVICE_IDENTIFICATION_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DEVICE_IDENTIFICATION_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_device_identification_response {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_device_identification_response plc4c_modbus_read_write_modbus_p_d_u_read_device_identification_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DEVICE_IDENTIFICATION_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_discrete_inputs_request.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_discrete_inputs_request.h
index c83c853..661f92d 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_discrete_inputs_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DISCRETE_INPUTS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DISCRETE_INPUTS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_discrete_inputs_request {
+  uint16_t starting_address;
+  uint16_t quantity;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_discrete_inputs_request plc4c_modbus_read_write_modbus_p_d_u_read_discrete_inputs_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DISCRETE_INPUTS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_discrete_inputs_response.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_discrete_inputs_response.h
index c83c853..109e90b 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_discrete_inputs_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DISCRETE_INPUTS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DISCRETE_INPUTS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_discrete_inputs_response {
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_discrete_inputs_response plc4c_modbus_read_write_modbus_p_d_u_read_discrete_inputs_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_DISCRETE_INPUTS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_exception_status_request.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_exception_status_request.h
index c83c853..449dac8 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_exception_status_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_EXCEPTION_STATUS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_EXCEPTION_STATUS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_exception_status_request {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_exception_status_request plc4c_modbus_read_write_modbus_p_d_u_read_exception_status_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_EXCEPTION_STATUS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_exception_status_response.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_exception_status_response.h
index c83c853..9298dba 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_exception_status_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_EXCEPTION_STATUS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_EXCEPTION_STATUS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_exception_status_response {
+  uint8_t value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_exception_status_response plc4c_modbus_read_write_modbus_p_d_u_read_exception_status_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_EXCEPTION_STATUS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_fifo_queue_request.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_fifo_queue_request.h
index c83c853..d20efa1 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_fifo_queue_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FIFO_QUEUE_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FIFO_QUEUE_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_fifo_queue_request {
+  uint16_t fifo_pointer_address;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_fifo_queue_request plc4c_modbus_read_write_modbus_p_d_u_read_fifo_queue_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FIFO_QUEUE_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_fifo_queue_response.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_fifo_queue_response.h
index c83c853..88d4404 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_fifo_queue_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FIFO_QUEUE_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FIFO_QUEUE_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_fifo_queue_response {
+  plc4c_list fifo_value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_fifo_queue_response plc4c_modbus_read_write_modbus_p_d_u_read_fifo_queue_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FIFO_QUEUE_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_request.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_request.h
index c83c853..553a21b 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "modbus_p_d_u_read_file_record_request_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_request {
+  plc4c_list items;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_request plc4c_modbus_read_write_modbus_p_d_u_read_file_record_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_request_item.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_request_item.h
index c83c853..dc91d9f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_request_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_REQUEST_ITEM_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_REQUEST_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_request_item {
+  uint8_t reference_type;
+  uint16_t file_number;
+  uint16_t record_number;
+  uint16_t record_length;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_request_item plc4c_modbus_read_write_modbus_p_d_u_read_file_record_request_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_REQUEST_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_response.h
index c83c853..237c73c 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "modbus_p_d_u_read_file_record_response_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_response {
+  plc4c_list items;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_response plc4c_modbus_read_write_modbus_p_d_u_read_file_record_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_response_item.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_response_item.h
index c83c853..db58ebc 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_file_record_response_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_RESPONSE_ITEM_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_RESPONSE_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_response_item {
+  uint8_t reference_type;
+  plc4c_list data;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_file_record_response_item plc4c_modbus_read_write_modbus_p_d_u_read_file_record_response_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_FILE_RECORD_RESPONSE_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_holding_registers_request.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_holding_registers_request.h
index c83c853..b17e1b7 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_holding_registers_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_HOLDING_REGISTERS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_HOLDING_REGISTERS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_holding_registers_request {
+  uint16_t starting_address;
+  uint16_t quantity;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_holding_registers_request plc4c_modbus_read_write_modbus_p_d_u_read_holding_registers_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_HOLDING_REGISTERS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_holding_registers_response.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_holding_registers_response.h
index c83c853..39241d5 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_holding_registers_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_HOLDING_REGISTERS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_HOLDING_REGISTERS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_holding_registers_response {
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_holding_registers_response plc4c_modbus_read_write_modbus_p_d_u_read_holding_registers_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_HOLDING_REGISTERS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_input_registers_request.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_input_registers_request.h
index c83c853..f6d6d1f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_input_registers_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_INPUT_REGISTERS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_INPUT_REGISTERS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_input_registers_request {
+  uint16_t starting_address;
+  uint16_t quantity;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_input_registers_request plc4c_modbus_read_write_modbus_p_d_u_read_input_registers_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_INPUT_REGISTERS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_input_registers_response.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_input_registers_response.h
index c83c853..54a7fbe 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_input_registers_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_INPUT_REGISTERS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_INPUT_REGISTERS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_input_registers_response {
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_input_registers_response plc4c_modbus_read_write_modbus_p_d_u_read_input_registers_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_INPUT_REGISTERS_RESPONSE_H_
diff --git a/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_write_multiple_holding_registers_request.h b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_write_multiple_holding_registers_request.h
new file mode 100644
index 0000000..c554bed
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_write_multiple_holding_registers_request.h
@@ -0,0 +1,41 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_WRITE_MULTIPLE_HOLDING_REGISTERS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_WRITE_MULTIPLE_HOLDING_REGISTERS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+
+struct plc4c_modbus_read_write_modbus_p_d_u_read_write_multiple_holding_registers_request {
+  uint16_t read_starting_address;
+  uint16_t read_quantity;
+  uint16_t write_starting_address;
+  uint16_t write_quantity;
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_write_multiple_holding_registers_request plc4c_modbus_read_write_modbus_p_d_u_read_write_multiple_holding_registers_request;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_WRITE_MULTIPLE_HOLDING_REGISTERS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_write_multiple_holding_registers_response.h
similarity index 51%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_write_multiple_holding_registers_response.h
index c83c853..7b76aa9 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_read_write_multiple_holding_registers_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_WRITE_MULTIPLE_HOLDING_REGISTERS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_WRITE_MULTIPLE_HOLDING_REGISTERS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_read_write_multiple_holding_registers_response {
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_read_write_multiple_holding_registers_response plc4c_modbus_read_write_modbus_p_d_u_read_write_multiple_holding_registers_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_READ_WRITE_MULTIPLE_HOLDING_REGISTERS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_report_server_id_request.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_report_server_id_request.h
index c83c853..1ecc23c 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_report_server_id_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_REPORT_SERVER_ID_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_REPORT_SERVER_ID_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_report_server_id_request {
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_report_server_id_request plc4c_modbus_read_write_modbus_p_d_u_report_server_id_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_REPORT_SERVER_ID_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_report_server_id_response.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_report_server_id_response.h
index c83c853..dce1372 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_report_server_id_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_REPORT_SERVER_ID_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_REPORT_SERVER_ID_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_report_server_id_response {
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_report_server_id_response plc4c_modbus_read_write_modbus_p_d_u_report_server_id_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_REPORT_SERVER_ID_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_request.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_request.h
index c83c853..156e3e4 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "modbus_p_d_u_write_file_record_request_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_request {
+  plc4c_list items;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_request plc4c_modbus_read_write_modbus_p_d_u_write_file_record_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_request_item.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_request_item.h
index c83c853..6a4721f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_request_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_REQUEST_ITEM_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_REQUEST_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_request_item {
+  uint8_t reference_type;
+  uint16_t file_number;
+  uint16_t record_number;
+  plc4c_list record_data;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_request_item plc4c_modbus_read_write_modbus_p_d_u_write_file_record_request_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_REQUEST_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_response.h
index c83c853..629c17f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "modbus_p_d_u_write_file_record_response_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_response {
+  plc4c_list items;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_response plc4c_modbus_read_write_modbus_p_d_u_write_file_record_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_response_item.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_response_item.h
index c83c853..4a6ef2b 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_file_record_response_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_RESPONSE_ITEM_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_RESPONSE_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_response_item {
+  uint8_t reference_type;
+  uint16_t file_number;
+  uint16_t record_number;
+  plc4c_list record_data;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_file_record_response_item plc4c_modbus_read_write_modbus_p_d_u_write_file_record_response_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_FILE_RECORD_RESPONSE_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_coils_request.h
similarity index 53%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_coils_request.h
index c83c853..635602f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_coils_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,25 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_COILS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_COILS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_coils_request {
+  uint16_t starting_address;
+  uint16_t quantity;
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_coils_request plc4c_modbus_read_write_modbus_p_d_u_write_multiple_coils_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_COILS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_coils_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_coils_response.h
index c83c853..06b04e0 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_coils_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_COILS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_COILS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_coils_response {
+  uint16_t starting_address;
+  uint16_t quantity;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_coils_response plc4c_modbus_read_write_modbus_p_d_u_write_multiple_coils_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_COILS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_holding_registers_request.h
similarity index 51%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_holding_registers_request.h
index c83c853..4b77c23 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_holding_registers_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,25 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_HOLDING_REGISTERS_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_HOLDING_REGISTERS_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_holding_registers_request {
+  uint16_t starting_address;
+  uint16_t quantity;
+  plc4c_list value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_holding_registers_request plc4c_modbus_read_write_modbus_p_d_u_write_multiple_holding_registers_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_HOLDING_REGISTERS_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_holding_registers_response.h
similarity index 51%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_holding_registers_response.h
index c83c853..0efe33c 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_multiple_holding_registers_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_HOLDING_REGISTERS_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_HOLDING_REGISTERS_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_holding_registers_response {
+  uint16_t starting_address;
+  uint16_t quantity;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_multiple_holding_registers_response plc4c_modbus_read_write_modbus_p_d_u_write_multiple_holding_registers_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_MULTIPLE_HOLDING_REGISTERS_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_coil_request.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_coil_request.h
index c83c853..792b78a 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_coil_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_COIL_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_COIL_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_single_coil_request {
+  uint16_t address;
+  uint16_t value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_single_coil_request plc4c_modbus_read_write_modbus_p_d_u_write_single_coil_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_COIL_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_coil_response.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_coil_response.h
index c83c853..d9d2c5e 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_coil_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_COIL_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_COIL_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_single_coil_response {
+  uint16_t address;
+  uint16_t value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_single_coil_response plc4c_modbus_read_write_modbus_p_d_u_write_single_coil_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_COIL_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_register_request.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_register_request.h
index c83c853..e4035de 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_register_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_REGISTER_REQUEST_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_REGISTER_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_single_register_request {
+  uint16_t address;
+  uint16_t value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_single_register_request plc4c_modbus_read_write_modbus_p_d_u_write_single_register_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_REGISTER_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_register_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_register_response.h
index c83c853..b0d3ac7 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_p_d_u_write_single_register_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_REGISTER_RESPONSE_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_REGISTER_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_p_d_u_write_single_register_response {
+  uint16_t address;
+  uint16_t value;
+};
+typedef struct plc4c_modbus_read_write_modbus_p_d_u_write_single_register_response plc4c_modbus_read_write_modbus_p_d_u_write_single_register_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_P_D_U_WRITE_SINGLE_REGISTER_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_serial_a_d_u.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_serial_a_d_u.h
index c83c853..3018fc1 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_serial_a_d_u.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,27 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_SERIAL_A_D_U_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_SERIAL_A_D_U_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "modbus_p_d_u.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_serial_a_d_u {
+  uint16_t transaction_id;
+  uint16_t length;
+  uint8_t address;
+  plc4c_modbus_read_write_modbus_p_d_u pdu;
+};
+typedef struct plc4c_modbus_read_write_modbus_serial_a_d_u plc4c_modbus_read_write_modbus_serial_a_d_u;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_SERIAL_A_D_U_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/includes/modbus_tcp_a_d_u.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/includes/modbus_tcp_a_d_u.h
index c83c853..aa85dc4 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/includes/modbus_tcp_a_d_u.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_MODBUS_READ_WRITE_MODBUS_TCP_A_D_U_H_
+#define PLC4C_MODBUS_READ_WRITE_MODBUS_TCP_A_D_U_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "modbus_p_d_u.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_modbus_read_write_modbus_tcp_a_d_u {
+  uint16_t transaction_identifier;
+  uint8_t unit_identifier;
+  plc4c_modbus_read_write_modbus_p_d_u pdu;
+};
+typedef struct plc4c_modbus_read_write_modbus_tcp_a_d_u plc4c_modbus_read_write_modbus_tcp_a_d_u;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_MODBUS_READ_WRITE_MODBUS_TCP_A_D_U_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_constants.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_constants.c
index 59b6334..32b8e1b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_constants.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_constants.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u.c
index 59b6334..b2f6ead 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_diagnostic_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_diagnostic_request.c
index 59b6334..4e9c223 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_diagnostic_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_diagnostic_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_diagnostic_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_diagnostic_response.c
index 59b6334..2b000ba 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_diagnostic_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_diagnostic_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_error.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_error.c
index 59b6334..3602a23 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_error.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_error.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_counter_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_counter_request.c
index 59b6334..83a7981 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_counter_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_get_com_event_counter_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_counter_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_counter_response.c
index 59b6334..5413472 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_counter_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_get_com_event_counter_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_log_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_log_request.c
index 59b6334..949ca52 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_log_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_get_com_event_log_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_log_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_log_response.c
index 59b6334..1ed5f5f 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_get_com_event_log_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_get_com_event_log_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_mask_write_holding_register_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_mask_write_holding_register_request.c
index 59b6334..a37f5e9 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_mask_write_holding_register_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_mask_write_holding_register_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_mask_write_holding_register_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_mask_write_holding_register_response.c
index 59b6334..634108c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_mask_write_holding_register_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_mask_write_holding_register_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_coils_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_coils_request.c
index 59b6334..692646c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_coils_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_coils_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_coils_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_coils_response.c
index 59b6334..0c24030 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_coils_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_coils_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_device_identification_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_device_identification_request.c
index 59b6334..19f4522 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_device_identification_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_device_identification_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_device_identification_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_device_identification_response.c
index 59b6334..76c6d0e 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_device_identification_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_device_identification_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_discrete_inputs_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_discrete_inputs_request.c
index 59b6334..fbc2a85 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_discrete_inputs_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_discrete_inputs_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_discrete_inputs_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_discrete_inputs_response.c
index 59b6334..38345f5 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_discrete_inputs_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_discrete_inputs_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_exception_status_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_exception_status_request.c
index 59b6334..ecb15e9 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_exception_status_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_exception_status_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_exception_status_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_exception_status_response.c
index 59b6334..ff22943 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_exception_status_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_exception_status_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_fifo_queue_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_fifo_queue_request.c
index 59b6334..c8809dc 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_fifo_queue_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_fifo_queue_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_fifo_queue_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_fifo_queue_response.c
index 59b6334..be3f635 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_fifo_queue_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_fifo_queue_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_request.c
index 59b6334..8c26308 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_file_record_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_request_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_request_item.c
index 59b6334..9426419 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_request_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_file_record_request_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_response.c
index 59b6334..b37c625 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_file_record_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_response_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_response_item.c
index 59b6334..0dc2877 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_file_record_response_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_file_record_response_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_holding_registers_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_holding_registers_request.c
index 59b6334..118dd8b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_holding_registers_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_holding_registers_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_holding_registers_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_holding_registers_response.c
index 59b6334..df094f4 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_holding_registers_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_holding_registers_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_input_registers_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_input_registers_request.c
index 59b6334..f835e8f 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_input_registers_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_input_registers_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_input_registers_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_input_registers_response.c
index 59b6334..bb86feb 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_input_registers_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_input_registers_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_write_multiple_holding_registers_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_write_multiple_holding_registers_request.c
index 59b6334..b016b65 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_write_multiple_holding_registers_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_write_multiple_holding_registers_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_write_multiple_holding_registers_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_write_multiple_holding_registers_response.c
index 59b6334..441303c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_read_write_multiple_holding_registers_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_read_write_multiple_holding_registers_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_report_server_id_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_report_server_id_request.c
index 59b6334..11f91a2 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_report_server_id_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_report_server_id_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_report_server_id_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_report_server_id_response.c
index 59b6334..0253819 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_report_server_id_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_report_server_id_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_request.c
index 59b6334..4f3372c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_file_record_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_request_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_request_item.c
index 59b6334..fd80db1 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_request_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_file_record_request_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_response.c
index 59b6334..2d507ae 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_file_record_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_response_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_response_item.c
index 59b6334..a5b320b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_file_record_response_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_file_record_response_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_coils_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_coils_request.c
index 59b6334..9049e52 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_coils_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_multiple_coils_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_coils_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_coils_response.c
index 59b6334..f29f65c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_coils_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_multiple_coils_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_holding_registers_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_holding_registers_request.c
index 59b6334..726f838 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_holding_registers_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_multiple_holding_registers_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_holding_registers_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_holding_registers_response.c
index 59b6334..88d2ec4 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_multiple_holding_registers_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_multiple_holding_registers_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_coil_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_coil_request.c
index 59b6334..7f29787 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_coil_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_single_coil_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_coil_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_coil_response.c
index 59b6334..99f7c71 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_coil_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_single_coil_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_register_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_register_request.c
index 59b6334..329a748 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_register_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_single_register_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_register_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_register_response.c
index 59b6334..f34ab60 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_p_d_u_write_single_register_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_p_d_u_write_single_register_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_serial_a_d_u.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_serial_a_d_u.c
index 59b6334..4399d28 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_serial_a_d_u.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_serial_a_d_u.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/modbus/src/modbus_tcp_a_d_u.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/modbus/src/modbus_tcp_a_d_u.c
index 59b6334..d04cc81 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/modbus/src/modbus_tcp_a_d_u.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "modbus_tcp_a_d_u.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet.h
index c83c853..b9159d0 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_packet {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet plc4c_s7_read_write_c_o_t_p_packet;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_connection_request.h b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_connection_request.h
new file mode 100644
index 0000000..5af7a0b
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_connection_request.h
@@ -0,0 +1,44 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_CONNECTION_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_CONNECTION_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
+#include "c_o_t_p_protocol_class.h"
+
+struct plc4c_s7_read_write_c_o_t_p_packet_connection_request {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+  uint16_t destination_reference;
+  uint16_t source_reference;
+  plc4c_s7_read_write_c_o_t_p_protocol_class protocol_class;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet_connection_request plc4c_s7_read_write_c_o_t_p_packet_connection_request;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_CONNECTION_REQUEST_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_connection_response.h b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_connection_response.h
new file mode 100644
index 0000000..1461a79
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_connection_response.h
@@ -0,0 +1,44 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_CONNECTION_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_CONNECTION_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
+#include "c_o_t_p_protocol_class.h"
+
+struct plc4c_s7_read_write_c_o_t_p_packet_connection_response {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+  uint16_t destination_reference;
+  uint16_t source_reference;
+  plc4c_s7_read_write_c_o_t_p_protocol_class protocol_class;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet_connection_response plc4c_s7_read_write_c_o_t_p_packet_connection_response;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_CONNECTION_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_data.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_data.h
index c83c853..0a99c7a 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_data.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,28 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DATA_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DATA_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_packet_data {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+  bool eot : 1;
+  unsigned int tpdu_ref : 7;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet_data plc4c_s7_read_write_c_o_t_p_packet_data;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DATA_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_disconnect_request.h b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_disconnect_request.h
new file mode 100644
index 0000000..e9a5ea4
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_disconnect_request.h
@@ -0,0 +1,44 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DISCONNECT_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DISCONNECT_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
+#include "c_o_t_p_protocol_class.h"
+
+struct plc4c_s7_read_write_c_o_t_p_packet_disconnect_request {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+  uint16_t destination_reference;
+  uint16_t source_reference;
+  plc4c_s7_read_write_c_o_t_p_protocol_class protocol_class;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet_disconnect_request plc4c_s7_read_write_c_o_t_p_packet_disconnect_request;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DISCONNECT_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_disconnect_response.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_disconnect_response.h
index c83c853..cadd420 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_disconnect_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,28 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DISCONNECT_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DISCONNECT_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_packet_disconnect_response {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+  uint16_t destination_reference;
+  uint16_t source_reference;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet_disconnect_response plc4c_s7_read_write_c_o_t_p_packet_disconnect_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_DISCONNECT_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_tpdu_error.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_tpdu_error.h
index c83c853..e95e937 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_packet_tpdu_error.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,28 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_TPDU_ERROR_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_TPDU_ERROR_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_parameter.h"
+#include "s7_message.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_packet_tpdu_error {
+  plc4c_list parameters;
+  plc4c_s7_read_write_s7_message payload;
+  uint16_t destination_reference;
+  uint8_t reject_cause;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_packet_tpdu_error plc4c_s7_read_write_c_o_t_p_packet_tpdu_error;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PACKET_TPDU_ERROR_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter.h
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter.h
index 59b6334..9454bff 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_parameter {
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_parameter plc4c_s7_read_write_c_o_t_p_parameter;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_called_tsap.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_called_tsap.h
index c83c853..b4f7c90 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_called_tsap.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CALLED_TSAP_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CALLED_TSAP_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_parameter_called_tsap {
+  uint16_t tsap_id;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_parameter_called_tsap plc4c_s7_read_write_c_o_t_p_parameter_called_tsap;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CALLED_TSAP_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_calling_tsap.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_calling_tsap.h
index c83c853..54b24ee 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_calling_tsap.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CALLING_TSAP_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CALLING_TSAP_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_parameter_calling_tsap {
+  uint16_t tsap_id;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_parameter_calling_tsap plc4c_s7_read_write_c_o_t_p_parameter_calling_tsap;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CALLING_TSAP_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_checksum.h
similarity index 60%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_checksum.h
index c83c853..83d23aa 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_checksum.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CHECKSUM_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CHECKSUM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_parameter_checksum {
+  uint8_t crc;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_parameter_checksum plc4c_s7_read_write_c_o_t_p_parameter_checksum;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_CHECKSUM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_disconnect_additional_information.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_disconnect_additional_information.h
index c83c853..ebf447b 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_disconnect_additional_information.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_DISCONNECT_ADDITIONAL_INFORMATION_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_DISCONNECT_ADDITIONAL_INFORMATION_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_parameter_disconnect_additional_information {
+  plc4c_list data;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_parameter_disconnect_additional_information plc4c_s7_read_write_c_o_t_p_parameter_disconnect_additional_information;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_DISCONNECT_ADDITIONAL_INFORMATION_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_tpdu_size.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_tpdu_size.h
index c83c853..e01bebc 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_parameter_tpdu_size.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_TPDU_SIZE_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_TPDU_SIZE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_tpdu_size.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_c_o_t_p_parameter_tpdu_size {
+  plc4c_s7_read_write_c_o_t_p_tpdu_size tpdu_size;
+};
+typedef struct plc4c_s7_read_write_c_o_t_p_parameter_tpdu_size plc4c_s7_read_write_c_o_t_p_parameter_tpdu_size;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PARAMETER_TPDU_SIZE_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_protocol_class.h b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_protocol_class.h
new file mode 100644
index 0000000..b24fdcb
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_protocol_class.h
@@ -0,0 +1,41 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_PROTOCOL_CLASS_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_PROTOCOL_CLASS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+enum plc4c_s7_read_write_c_o_t_p_protocol_class {
+  plc4c_s7_read_write_c_o_t_p_protocol_class_CLASS_0 = 0x00,
+  plc4c_s7_read_write_c_o_t_p_protocol_class_CLASS_1 = 0x10,
+  plc4c_s7_read_write_c_o_t_p_protocol_class_CLASS_2 = 0x20,
+  plc4c_s7_read_write_c_o_t_p_protocol_class_CLASS_3 = 0x30,
+  plc4c_s7_read_write_c_o_t_p_protocol_class_CLASS_4 = 0x40
+};
+typedef enum plc4c_s7_read_write_c_o_t_p_protocol_class plc4c_s7_read_write_c_o_t_p_protocol_class;
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_PROTOCOL_CLASS_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_tpdu_size.h b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_tpdu_size.h
new file mode 100644
index 0000000..569a979
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/c_o_t_p_tpdu_size.h
@@ -0,0 +1,72 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_C_O_T_P_TPDU_SIZE_H_
+#define PLC4C_S7_READ_WRITE_C_O_T_P_TPDU_SIZE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+enum plc4c_s7_read_write_c_o_t_p_tpdu_size {
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_128 = 0x07,
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_256 = 0x08,
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_512 = 0x09,
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_1024 = 0x0a,
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_2048 = 0x0b,
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_4096 = 0x0c,
+  plc4c_s7_read_write_c_o_t_p_tpdu_size_SIZE_8192 = 0x0d
+};
+typedef enum plc4c_s7_read_write_c_o_t_p_tpdu_size plc4c_s7_read_write_c_o_t_p_tpdu_size;
+
+
+uint8_t plc4c_s7_read_write_c_o_t_p_tpdu_size_get_size_in_bytes(plc4c_s7_read_write_c_o_t_p_tpdu_size value) {
+  switch(value) {
+    case 7: { /* '0x07' */
+      return 128;
+    }
+    case 8: { /* '0x08' */
+      return 256;
+    }
+    case 9: { /* '0x09' */
+      return 512;
+    }
+    case 10: { /* '0x0a' */
+      return 1024;
+    }
+    case 11: { /* '0x0b' */
+      return 2048;
+    }
+    case 12: { /* '0x0c' */
+      return 4096;
+    }
+    case 13: { /* '0x0d' */
+      return 8192;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_C_O_T_P_TPDU_SIZE_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/data_transport_error_code.h b/sandbox/plc4c/generated-sources/s7/includes/data_transport_error_code.h
new file mode 100644
index 0000000..8a68299
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/data_transport_error_code.h
@@ -0,0 +1,42 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_DATA_TRANSPORT_ERROR_CODE_H_
+#define PLC4C_S7_READ_WRITE_DATA_TRANSPORT_ERROR_CODE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+enum plc4c_s7_read_write_data_transport_error_code {
+  plc4c_s7_read_write_data_transport_error_code_RESERVED = 0x00,
+  plc4c_s7_read_write_data_transport_error_code_OK = 0xFF,
+  plc4c_s7_read_write_data_transport_error_code_ACCESS_DENIED = 0x03,
+  plc4c_s7_read_write_data_transport_error_code_INVALID_ADDRESS = 0x05,
+  plc4c_s7_read_write_data_transport_error_code_DATA_TYPE_NOT_SUPPORTED = 0x06,
+  plc4c_s7_read_write_data_transport_error_code_NOT_FOUND = 0x0A
+};
+typedef enum plc4c_s7_read_write_data_transport_error_code plc4c_s7_read_write_data_transport_error_code;
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_DATA_TRANSPORT_ERROR_CODE_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/data_transport_size.h b/sandbox/plc4c/generated-sources/s7/includes/data_transport_size.h
new file mode 100644
index 0000000..c3e958e
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/data_transport_size.h
@@ -0,0 +1,72 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_DATA_TRANSPORT_SIZE_H_
+#define PLC4C_S7_READ_WRITE_DATA_TRANSPORT_SIZE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+enum plc4c_s7_read_write_data_transport_size {
+  plc4c_s7_read_write_data_transport_size_NULL = 0x00,
+  plc4c_s7_read_write_data_transport_size_BIT = 0x03,
+  plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD = 0x04,
+  plc4c_s7_read_write_data_transport_size_INTEGER = 0x05,
+  plc4c_s7_read_write_data_transport_size_DINTEGER = 0x06,
+  plc4c_s7_read_write_data_transport_size_REAL = 0x07,
+  plc4c_s7_read_write_data_transport_size_OCTET_STRING = 0x09
+};
+typedef enum plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_data_transport_size;
+
+
+bool plc4c_s7_read_write_data_transport_size_get_size_in_bits(plc4c_s7_read_write_data_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return false;
+    }
+    case 3: { /* '0x03' */
+      return true;
+    }
+    case 4: { /* '0x04' */
+      return true;
+    }
+    case 5: { /* '0x05' */
+      return true;
+    }
+    case 6: { /* '0x06' */
+      return false;
+    }
+    case 7: { /* '0x07' */
+      return false;
+    }
+    case 9: { /* '0x09' */
+      return false;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_DATA_TRANSPORT_SIZE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/device_group.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/device_group.h
index c83c853..97bff6d 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/device_group.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -7,7 +7,7 @@
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+    http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
@@ -15,17 +15,25 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#ifndef PLC4C_S7_READ_WRITE_DEVICE_GROUP_H_
+#define PLC4C_S7_READ_WRITE_DEVICE_GROUP_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-# Add the sources
-file(GLOB sources "src/*.c")
+#include <stdbool.h>
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
+enum plc4c_s7_read_write_device_group {
+  plc4c_s7_read_write_device_group_PG_OR_PC = 0x01,
+  plc4c_s7_read_write_device_group_OS = 0x02,
+  plc4c_s7_read_write_device_group_OTHERS = 0x03
+};
+typedef enum plc4c_s7_read_write_device_group plc4c_s7_read_write_device_group;
 
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
 
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_DEVICE_GROUP_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/memory_area.h b/sandbox/plc4c/generated-sources/s7/includes/memory_area.h
new file mode 100644
index 0000000..2ae4407
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/memory_area.h
@@ -0,0 +1,80 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_MEMORY_AREA_H_
+#define PLC4C_S7_READ_WRITE_MEMORY_AREA_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+enum plc4c_s7_read_write_memory_area {
+  plc4c_s7_read_write_memory_area_COUNTERS = 0x1C,
+  plc4c_s7_read_write_memory_area_TIMERS = 0x1D,
+  plc4c_s7_read_write_memory_area_DIRECT_PERIPHERAL_ACCESS = 0x80,
+  plc4c_s7_read_write_memory_area_INPUTS = 0x81,
+  plc4c_s7_read_write_memory_area_OUTPUTS = 0x82,
+  plc4c_s7_read_write_memory_area_FLAGS_MARKERS = 0x83,
+  plc4c_s7_read_write_memory_area_DATA_BLOCKS = 0x84,
+  plc4c_s7_read_write_memory_area_INSTANCE_DATA_BLOCKS = 0x85,
+  plc4c_s7_read_write_memory_area_LOCAL_DATA = 0x86
+};
+typedef enum plc4c_s7_read_write_memory_area plc4c_s7_read_write_memory_area;
+
+
+char * plc4c_s7_read_write_memory_area_get_short_name(plc4c_s7_read_write_memory_area value) {
+  switch(value) {
+    case 28: { /* '0x1C' */
+      return "C";
+    }
+    case 29: { /* '0x1D' */
+      return "T";
+    }
+    case 128: { /* '0x80' */
+      return "D";
+    }
+    case 129: { /* '0x81' */
+      return "I";
+    }
+    case 130: { /* '0x82' */
+      return "Q";
+    }
+    case 131: { /* '0x83' */
+      return "M";
+    }
+    case 132: { /* '0x84' */
+      return "DB";
+    }
+    case 133: { /* '0x85' */
+      return "DBI";
+    }
+    case 134: { /* '0x86' */
+      return "LD";
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_MEMORY_AREA_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_address.h
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_address.h
index 59b6334..c11579e 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_address.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_ADDRESS_H_
+#define PLC4C_S7_READ_WRITE_S7_ADDRESS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_address {
+};
+typedef struct plc4c_s7_read_write_s7_address plc4c_s7_read_write_s7_address;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_ADDRESS_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_address_any.h
similarity index 53%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_address_any.h
index c83c853..a8c9886 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_address_any.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,30 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_ADDRESS_ANY_H_
+#define PLC4C_S7_READ_WRITE_S7_ADDRESS_ANY_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "transport_size.h"
+#include "memory_area.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_address_any {
+  plc4c_s7_read_write_transport_size transport_size;
+  uint16_t number_of_elements;
+  uint16_t db_number;
+  plc4c_s7_read_write_memory_area area;
+  uint16_t byte_address;
+  unsigned int bit_address : 3;
+};
+typedef struct plc4c_s7_read_write_s7_address_any plc4c_s7_read_write_s7_address_any;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_ADDRESS_ANY_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_message.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_message.h
index c83c853..3ef4ddb 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_message.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,27 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_MESSAGE_H_
+#define PLC4C_S7_READ_WRITE_S7_MESSAGE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_parameter.h"
+#include "s7_payload.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_message {
+  uint16_t tpdu_reference;
+  plc4c_s7_read_write_s7_parameter parameter;
+  plc4c_s7_read_write_s7_payload payload;
+};
+typedef struct plc4c_s7_read_write_s7_message plc4c_s7_read_write_s7_message;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_MESSAGE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_message_request.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_message_request.h
index c83c853..f65b726 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_message_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,27 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_MESSAGE_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_S7_MESSAGE_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_parameter.h"
+#include "s7_payload.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_message_request {
+  uint16_t tpdu_reference;
+  plc4c_s7_read_write_s7_parameter parameter;
+  plc4c_s7_read_write_s7_payload payload;
+};
+typedef struct plc4c_s7_read_write_s7_message_request plc4c_s7_read_write_s7_message_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_MESSAGE_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_message_response.h
similarity index 54%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_message_response.h
index c83c853..8801737 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_message_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,29 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_MESSAGE_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_S7_MESSAGE_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_parameter.h"
+#include "s7_payload.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_message_response {
+  uint16_t tpdu_reference;
+  plc4c_s7_read_write_s7_parameter parameter;
+  plc4c_s7_read_write_s7_payload payload;
+  uint8_t error_class;
+  uint8_t error_code;
+};
+typedef struct plc4c_s7_read_write_s7_message_response plc4c_s7_read_write_s7_message_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_MESSAGE_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_message_response_data.h
similarity index 53%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_message_response_data.h
index c83c853..75eb2c1 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_message_response_data.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,29 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_MESSAGE_RESPONSE_DATA_H_
+#define PLC4C_S7_READ_WRITE_S7_MESSAGE_RESPONSE_DATA_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_parameter.h"
+#include "s7_payload.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_message_response_data {
+  uint16_t tpdu_reference;
+  plc4c_s7_read_write_s7_parameter parameter;
+  plc4c_s7_read_write_s7_payload payload;
+  uint8_t error_class;
+  uint8_t error_code;
+};
+typedef struct plc4c_s7_read_write_s7_message_response_data plc4c_s7_read_write_s7_message_response_data;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_MESSAGE_RESPONSE_DATA_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_message_user_data.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_message_user_data.h
index c83c853..a222471 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_message_user_data.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,27 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_MESSAGE_USER_DATA_H_
+#define PLC4C_S7_READ_WRITE_S7_MESSAGE_USER_DATA_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_parameter.h"
+#include "s7_payload.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_message_user_data {
+  uint16_t tpdu_reference;
+  plc4c_s7_read_write_s7_parameter parameter;
+  plc4c_s7_read_write_s7_payload payload;
+};
+typedef struct plc4c_s7_read_write_s7_message_user_data plc4c_s7_read_write_s7_message_user_data;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_MESSAGE_USER_DATA_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter.h
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter.h
index 59b6334..75ea78b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter {
+};
+typedef struct plc4c_s7_read_write_s7_parameter plc4c_s7_read_write_s7_parameter;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_read_var_request.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_read_var_request.h
index c83c853..787c9de 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_read_var_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_READ_VAR_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_READ_VAR_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_var_request_parameter_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_read_var_request {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_read_var_request plc4c_s7_read_write_s7_parameter_read_var_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_READ_VAR_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_read_var_response.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_read_var_response.h
index c83c853..de4cdc5 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_read_var_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_READ_VAR_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_READ_VAR_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_read_var_response {
+  uint8_t num_items;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_read_var_response plc4c_s7_read_write_s7_parameter_read_var_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_READ_VAR_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_setup_communication.h
similarity index 56%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_setup_communication.h
index c83c853..5a8c886 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_setup_communication.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,25 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_SETUP_COMMUNICATION_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_SETUP_COMMUNICATION_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_setup_communication {
+  uint16_t max_amq_caller;
+  uint16_t max_amq_callee;
+  uint16_t pdu_length;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_setup_communication plc4c_s7_read_write_s7_parameter_setup_communication;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_SETUP_COMMUNICATION_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data.h
index c83c853..4d5557c 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_parameter_user_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_user_data {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_user_data plc4c_s7_read_write_s7_parameter_user_data;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data_item.h
similarity index 61%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data_item.h
index c83c853..6a5471a 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_ITEM_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_user_data_item {
+};
+typedef struct plc4c_s7_read_write_s7_parameter_user_data_item plc4c_s7_read_write_s7_parameter_user_data_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_ITEM_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data_item_c_p_u_functions.h b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data_item_c_p_u_functions.h
new file mode 100644
index 0000000..c5ac3d3
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_user_data_item_c_p_u_functions.h
@@ -0,0 +1,44 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_ITEM_C_P_U_FUNCTIONS_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_ITEM_C_P_U_FUNCTIONS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+
+struct plc4c_s7_read_write_s7_parameter_user_data_item_c_p_u_functions {
+  uint8_t method;
+  unsigned int cpu_function_type : 4;
+  unsigned int cpu_function_group : 4;
+  uint8_t cpu_subfunction;
+  uint8_t sequence_number;
+  uint8_t data_unit_reference_number;
+  uint8_t last_data_unit;
+  uint16_t error_code;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_user_data_item_c_p_u_functions plc4c_s7_read_write_s7_parameter_user_data_item_c_p_u_functions;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_USER_DATA_ITEM_C_P_U_FUNCTIONS_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_write_var_request.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_write_var_request.h
index c83c853..3273c8f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_write_var_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_WRITE_VAR_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_WRITE_VAR_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_var_request_parameter_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_write_var_request {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_write_var_request plc4c_s7_read_write_s7_parameter_write_var_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_WRITE_VAR_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_write_var_response.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_parameter_write_var_response.h
index c83c853..514c87f 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_parameter_write_var_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,23 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PARAMETER_WRITE_VAR_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_S7_PARAMETER_WRITE_VAR_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_parameter_write_var_response {
+  uint8_t num_items;
+};
+typedef struct plc4c_s7_read_write_s7_parameter_write_var_response plc4c_s7_read_write_s7_parameter_write_var_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PARAMETER_WRITE_VAR_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_payload.h
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_payload.h
index 59b6334..bb5ac2b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_payload {
+};
+typedef struct plc4c_s7_read_write_s7_payload plc4c_s7_read_write_s7_payload;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_read_var_response.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_payload_read_var_response.h
index c83c853..f68bf0b 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_read_var_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_READ_VAR_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_READ_VAR_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_var_payload_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_payload_read_var_response {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_payload_read_var_response plc4c_s7_read_write_s7_payload_read_var_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_READ_VAR_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data.h
similarity index 60%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data.h
index c83c853..ed3222c 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_payload_user_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_payload_user_data {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_payload_user_data plc4c_s7_read_write_s7_payload_user_data;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item.h
similarity index 51%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item.h
index c83c853..3f6e4f1 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,29 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "data_transport_error_code.h"
+#include "data_transport_size.h"
+#include "szl_id.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_payload_user_data_item {
+  plc4c_s7_read_write_data_transport_error_code return_code;
+  plc4c_s7_read_write_data_transport_size transport_size;
+  plc4c_s7_read_write_szl_id szl_id;
+  uint16_t szl_index;
+};
+typedef struct plc4c_s7_read_write_s7_payload_user_data_item plc4c_s7_read_write_s7_payload_user_data_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item_cpu_function_read_szl_request.h b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item_cpu_function_read_szl_request.h
new file mode 100644
index 0000000..4349874
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item_cpu_function_read_szl_request.h
@@ -0,0 +1,43 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_CPU_FUNCTION_READ_SZL_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_CPU_FUNCTION_READ_SZL_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "data_transport_error_code.h"
+#include "data_transport_size.h"
+#include "szl_id.h"
+
+struct plc4c_s7_read_write_s7_payload_user_data_item_cpu_function_read_szl_request {
+  plc4c_s7_read_write_data_transport_error_code return_code;
+  plc4c_s7_read_write_data_transport_size transport_size;
+  plc4c_s7_read_write_szl_id szl_id;
+  uint16_t szl_index;
+};
+typedef struct plc4c_s7_read_write_s7_payload_user_data_item_cpu_function_read_szl_request plc4c_s7_read_write_s7_payload_user_data_item_cpu_function_read_szl_request;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_CPU_FUNCTION_READ_SZL_REQUEST_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item_cpu_function_read_szl_response.h b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item_cpu_function_read_szl_response.h
new file mode 100644
index 0000000..d9ffdff
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_user_data_item_cpu_function_read_szl_response.h
@@ -0,0 +1,45 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_CPU_FUNCTION_READ_SZL_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_CPU_FUNCTION_READ_SZL_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "data_transport_error_code.h"
+#include "data_transport_size.h"
+#include "szl_id.h"
+#include "szl_data_tree_item.h"
+
+struct plc4c_s7_read_write_s7_payload_user_data_item_cpu_function_read_szl_response {
+  plc4c_s7_read_write_data_transport_error_code return_code;
+  plc4c_s7_read_write_data_transport_size transport_size;
+  plc4c_s7_read_write_szl_id szl_id;
+  uint16_t szl_index;
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_payload_user_data_item_cpu_function_read_szl_response plc4c_s7_read_write_s7_payload_user_data_item_cpu_function_read_szl_response;
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_USER_DATA_ITEM_CPU_FUNCTION_READ_SZL_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_write_var_request.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_payload_write_var_request.h
index c83c853..0652856 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_write_var_request.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_WRITE_VAR_REQUEST_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_WRITE_VAR_REQUEST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_var_payload_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_payload_write_var_request {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_payload_write_var_request plc4c_s7_read_write_s7_payload_write_var_request;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_WRITE_VAR_REQUEST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_write_var_response.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_payload_write_var_response.h
index c83c853..c4365f1 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_payload_write_var_response.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_PAYLOAD_WRITE_VAR_RESPONSE_H_
+#define PLC4C_S7_READ_WRITE_S7_PAYLOAD_WRITE_VAR_RESPONSE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_var_payload_status_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_payload_write_var_response {
+  plc4c_list items;
+};
+typedef struct plc4c_s7_read_write_s7_payload_write_var_response plc4c_s7_read_write_s7_payload_write_var_response;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_PAYLOAD_WRITE_VAR_RESPONSE_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_var_payload_data_item.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_var_payload_data_item.h
index c83c853..d08c081 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_var_payload_data_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,28 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_VAR_PAYLOAD_DATA_ITEM_H_
+#define PLC4C_S7_READ_WRITE_S7_VAR_PAYLOAD_DATA_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "data_transport_error_code.h"
+#include "data_transport_size.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_var_payload_data_item {
+  plc4c_s7_read_write_data_transport_error_code return_code;
+  plc4c_s7_read_write_data_transport_size transport_size;
+  uint16_t data_length;
+  plc4c_list data;
+};
+typedef struct plc4c_s7_read_write_s7_var_payload_data_item plc4c_s7_read_write_s7_var_payload_data_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_VAR_PAYLOAD_DATA_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_var_payload_status_item.h
similarity index 57%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_var_payload_status_item.h
index c83c853..e288e80 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_var_payload_status_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_VAR_PAYLOAD_STATUS_ITEM_H_
+#define PLC4C_S7_READ_WRITE_S7_VAR_PAYLOAD_STATUS_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "data_transport_error_code.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_var_payload_status_item {
+  plc4c_s7_read_write_data_transport_error_code return_code;
+};
+typedef struct plc4c_s7_read_write_s7_var_payload_status_item plc4c_s7_read_write_s7_var_payload_status_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_VAR_PAYLOAD_STATUS_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_var_request_parameter_item.h
similarity index 60%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_var_request_parameter_item.h
index c83c853..fe9c308 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_var_request_parameter_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,22 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_VAR_REQUEST_PARAMETER_ITEM_H_
+#define PLC4C_S7_READ_WRITE_S7_VAR_REQUEST_PARAMETER_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_var_request_parameter_item {
+};
+typedef struct plc4c_s7_read_write_s7_var_request_parameter_item plc4c_s7_read_write_s7_var_request_parameter_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_VAR_REQUEST_PARAMETER_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/s7_var_request_parameter_item_address.h
similarity index 55%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/s7_var_request_parameter_item_address.h
index c83c853..74bd582 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/s7_var_request_parameter_item_address.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_S7_VAR_REQUEST_PARAMETER_ITEM_ADDRESS_H_
+#define PLC4C_S7_READ_WRITE_S7_VAR_REQUEST_PARAMETER_ITEM_ADDRESS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "s7_address.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_s7_var_request_parameter_item_address {
+  plc4c_s7_read_write_s7_address address;
+};
+typedef struct plc4c_s7_read_write_s7_var_request_parameter_item_address plc4c_s7_read_write_s7_var_request_parameter_item_address;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_S7_VAR_REQUEST_PARAMETER_ITEM_ADDRESS_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/szl_data_tree_item.h
similarity index 59%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/szl_data_tree_item.h
index c83c853..b05e556 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/szl_data_tree_item.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,27 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_SZL_DATA_TREE_ITEM_H_
+#define PLC4C_S7_READ_WRITE_SZL_DATA_TREE_ITEM_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_szl_data_tree_item {
+  uint16_t item_index;
+  int8_t mlfb[20];
+  uint16_t module_type_id;
+  uint16_t ausbg;
+  uint16_t ausbe;
+};
+typedef struct plc4c_s7_read_write_szl_data_tree_item plc4c_s7_read_write_szl_data_tree_item;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_SZL_DATA_TREE_ITEM_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/szl_id.h
similarity index 58%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/szl_id.h
index c83c853..8cfea27 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/szl_id.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,27 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_SZL_ID_H_
+#define PLC4C_S7_READ_WRITE_SZL_ID_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "szl_module_type_class.h"
+#include "szl_sublist.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_szl_id {
+  plc4c_s7_read_write_szl_module_type_class type_class;
+  unsigned int sublist_extract : 4;
+  plc4c_s7_read_write_szl_sublist sublist_list;
+};
+typedef struct plc4c_s7_read_write_szl_id plc4c_s7_read_write_szl_id;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_SZL_ID_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/szl_module_type_class.h
similarity index 52%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/szl_module_type_class.h
index c83c853..6c40d23 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/szl_module_type_class.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -7,7 +7,7 @@
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+    http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
@@ -15,17 +15,26 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#ifndef PLC4C_S7_READ_WRITE_SZL_MODULE_TYPE_CLASS_H_
+#define PLC4C_S7_READ_WRITE_SZL_MODULE_TYPE_CLASS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-# Add the sources
-file(GLOB sources "src/*.c")
+#include <stdbool.h>
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
+enum plc4c_s7_read_write_szl_module_type_class {
+  plc4c_s7_read_write_szl_module_type_class_CPU = 0x0,
+  plc4c_s7_read_write_szl_module_type_class_IM = 0x4,
+  plc4c_s7_read_write_szl_module_type_class_FM = 0x8,
+  plc4c_s7_read_write_szl_module_type_class_CP = 0xC
+};
+typedef enum plc4c_s7_read_write_szl_module_type_class plc4c_s7_read_write_szl_module_type_class;
 
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
 
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_SZL_MODULE_TYPE_CLASS_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/szl_sublist.h b/sandbox/plc4c/generated-sources/s7/includes/szl_sublist.h
new file mode 100644
index 0000000..8d1ea66
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/szl_sublist.h
@@ -0,0 +1,55 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_SZL_SUBLIST_H_
+#define PLC4C_S7_READ_WRITE_SZL_SUBLIST_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+
+enum plc4c_s7_read_write_szl_sublist {
+  plc4c_s7_read_write_szl_sublist_MODULE_IDENTIFICATION = 0x11,
+  plc4c_s7_read_write_szl_sublist_CPU_FEATURES = 0x12,
+  plc4c_s7_read_write_szl_sublist_USER_MEMORY_AREA = 0x13,
+  plc4c_s7_read_write_szl_sublist_SYSTEM_AREAS = 0x14,
+  plc4c_s7_read_write_szl_sublist_BLOCK_TYPES = 0x15,
+  plc4c_s7_read_write_szl_sublist_STATUS_MODULE_LEDS = 0x19,
+  plc4c_s7_read_write_szl_sublist_COMPONENT_IDENTIFICATION = 0x1C,
+  plc4c_s7_read_write_szl_sublist_INTERRUPT_STATUS = 0x22,
+  plc4c_s7_read_write_szl_sublist_ASSIGNMENT_BETWEEN_PROCESS_IMAGE_PARTITIONS_AND_OBS = 0x25,
+  plc4c_s7_read_write_szl_sublist_COMMUNICATION_STATUS_DATA = 0x32,
+  plc4c_s7_read_write_szl_sublist_STATUS_SINGLE_MODULE_LED = 0x74,
+  plc4c_s7_read_write_szl_sublist_DP_MASTER_SYSTEM_INFORMATION = 0x90,
+  plc4c_s7_read_write_szl_sublist_MODULE_STATUS_INFORMATION = 0x91,
+  plc4c_s7_read_write_szl_sublist_RACK_OR_STATION_STATUS_INFORMATION = 0x92,
+  plc4c_s7_read_write_szl_sublist_RACK_OR_STATION_STATUS_INFORMATION_2 = 0x94,
+  plc4c_s7_read_write_szl_sublist_ADDITIONAL_DP_MASTER_SYSTEM_OR_PROFINET_IO_SYSTEM_INFORMATION = 0x95,
+  plc4c_s7_read_write_szl_sublist_MODULE_STATUS_INFORMATION_PROFINET_IO_AND_PROFIBUS_DP = 0x96,
+  plc4c_s7_read_write_szl_sublist_DIAGNOSTIC_BUFFER = 0xA0,
+  plc4c_s7_read_write_szl_sublist_MODULE_DIAGNOSTIC_DATA = 0xB1
+};
+typedef enum plc4c_s7_read_write_szl_sublist plc4c_s7_read_write_szl_sublist;
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_SZL_SUBLIST_H_
diff --git a/sandbox/plc4c/drivers/modbus/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/includes/t_p_k_t_packet.h
similarity index 61%
copy from sandbox/plc4c/drivers/modbus/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/includes/t_p_k_t_packet.h
index c83c853..2bfc983 100644
--- a/sandbox/plc4c/drivers/modbus/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/includes/t_p_k_t_packet.h
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,24 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
+#ifndef PLC4C_S7_READ_WRITE_T_P_K_T_PACKET_H_
+#define PLC4C_S7_READ_WRITE_T_P_K_T_PACKET_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/includes")
+#include <stdbool.h>
+#include <stdint.h>
+#include <plc4c/utils/list.h>
+#include "c_o_t_p_packet.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
+struct plc4c_s7_read_write_t_p_k_t_packet {
+  plc4c_s7_read_write_c_o_t_p_packet payload;
+};
+typedef struct plc4c_s7_read_write_t_p_k_t_packet plc4c_s7_read_write_t_p_k_t_packet;
 
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/modbus/src/*.c")
-
-add_library(plc4c-driver-modbus ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-modbus plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_T_P_K_T_PACKET_H_
diff --git a/sandbox/plc4c/generated-sources/s7/includes/transport_size.h b/sandbox/plc4c/generated-sources/s7/includes/transport_size.h
new file mode 100644
index 0000000..de4d49f
--- /dev/null
+++ b/sandbox/plc4c/generated-sources/s7/includes/transport_size.h
@@ -0,0 +1,472 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+#ifndef PLC4C_S7_READ_WRITE_TRANSPORT_SIZE_H_
+#define PLC4C_S7_READ_WRITE_TRANSPORT_SIZE_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include "data_transport_size.h"
+#include "transport_size.h"
+
+enum plc4c_s7_read_write_transport_size {
+  plc4c_s7_read_write_transport_size_BOOL = 0x01,
+  plc4c_s7_read_write_transport_size_BYTE = 0x02,
+  plc4c_s7_read_write_transport_size_WORD = 0x04,
+  plc4c_s7_read_write_transport_size_DWORD = 0x06,
+  plc4c_s7_read_write_transport_size_LWORD = 0x00,
+  plc4c_s7_read_write_transport_size_INT = 0x05,
+  plc4c_s7_read_write_transport_size_UINT = 0x05,
+  plc4c_s7_read_write_transport_size_SINT = 0x02,
+  plc4c_s7_read_write_transport_size_USINT = 0x02,
+  plc4c_s7_read_write_transport_size_DINT = 0x07,
+  plc4c_s7_read_write_transport_size_UDINT = 0x07,
+  plc4c_s7_read_write_transport_size_LINT = 0x00,
+  plc4c_s7_read_write_transport_size_ULINT = 0x00,
+  plc4c_s7_read_write_transport_size_REAL = 0x08,
+  plc4c_s7_read_write_transport_size_LREAL = 0x00,
+  plc4c_s7_read_write_transport_size_CHAR = 0x03,
+  plc4c_s7_read_write_transport_size_WCHAR = 0x13,
+  plc4c_s7_read_write_transport_size_STRING = 0x03,
+  plc4c_s7_read_write_transport_size_WSTRING = 0x00,
+  plc4c_s7_read_write_transport_size_TIME = 0x0B,
+  plc4c_s7_read_write_transport_size_LTIME = 0x00,
+  plc4c_s7_read_write_transport_size_DATE = 0x02,
+  plc4c_s7_read_write_transport_size_TIME_OF_DAY = 0x02,
+  plc4c_s7_read_write_transport_size_DATE_AND_TIME = 0x02
+};
+typedef enum plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size;
+
+
+bool plc4c_s7_read_write_transport_size_get_supported__s7_300(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return false;
+    }
+    case 1: { /* '0x01' */
+      return true;
+    }
+    case 2: { /* '0x02' */
+      return true;
+    }
+    case 3: { /* '0x03' */
+      return true;
+    }
+    case 4: { /* '0x04' */
+      return true;
+    }
+    case 5: { /* '0x05' */
+      return true;
+    }
+    case 6: { /* '0x06' */
+      return true;
+    }
+    case 7: { /* '0x07' */
+      return true;
+    }
+    case 8: { /* '0x08' */
+      return true;
+    }
+    case 11: { /* '0x0B' */
+      return true;
+    }
+    case 19: { /* '0x13' */
+      return false;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+bool plc4c_s7_read_write_transport_size_get_supported__l_o_g_o(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return false;
+    }
+    case 1: { /* '0x01' */
+      return true;
+    }
+    case 2: { /* '0x02' */
+      return true;
+    }
+    case 3: { /* '0x03' */
+      return true;
+    }
+    case 4: { /* '0x04' */
+      return true;
+    }
+    case 5: { /* '0x05' */
+      return true;
+    }
+    case 6: { /* '0x06' */
+      return true;
+    }
+    case 7: { /* '0x07' */
+      return true;
+    }
+    case 8: { /* '0x08' */
+      return true;
+    }
+    case 11: { /* '0x0B' */
+      return true;
+    }
+    case 19: { /* '0x13' */
+      return true;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+uint8_t plc4c_s7_read_write_transport_size_get_size_in_bytes(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return 8;
+    }
+    case 1: { /* '0x01' */
+      return 1;
+    }
+    case 2: { /* '0x02' */
+      return 1;
+    }
+    case 3: { /* '0x03' */
+      return 1;
+    }
+    case 4: { /* '0x04' */
+      return 2;
+    }
+    case 5: { /* '0x05' */
+      return 2;
+    }
+    case 6: { /* '0x06' */
+      return 4;
+    }
+    case 7: { /* '0x07' */
+      return 4;
+    }
+    case 8: { /* '0x08' */
+      return 4;
+    }
+    case 11: { /* '0x0B' */
+      return 4;
+    }
+    case 19: { /* '0x13' */
+      return 2;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+bool plc4c_s7_read_write_transport_size_get_supported__s7_400(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return false;
+    }
+    case 1: { /* '0x01' */
+      return true;
+    }
+    case 2: { /* '0x02' */
+      return true;
+    }
+    case 3: { /* '0x03' */
+      return true;
+    }
+    case 4: { /* '0x04' */
+      return true;
+    }
+    case 5: { /* '0x05' */
+      return true;
+    }
+    case 6: { /* '0x06' */
+      return true;
+    }
+    case 7: { /* '0x07' */
+      return true;
+    }
+    case 8: { /* '0x08' */
+      return true;
+    }
+    case 11: { /* '0x0B' */
+      return true;
+    }
+    case 19: { /* '0x13' */
+      return false;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+bool plc4c_s7_read_write_transport_size_get_supported__s7_1200(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return false;
+    }
+    case 1: { /* '0x01' */
+      return true;
+    }
+    case 2: { /* '0x02' */
+      return true;
+    }
+    case 3: { /* '0x03' */
+      return true;
+    }
+    case 4: { /* '0x04' */
+      return true;
+    }
+    case 5: { /* '0x05' */
+      return true;
+    }
+    case 6: { /* '0x06' */
+      return true;
+    }
+    case 7: { /* '0x07' */
+      return true;
+    }
+    case 8: { /* '0x08' */
+      return true;
+    }
+    case 11: { /* '0x0B' */
+      return true;
+    }
+    case 19: { /* '0x13' */
+      return true;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+uint8_t plc4c_s7_read_write_transport_size_get_size_code(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return 'X';
+    }
+    case 1: { /* '0x01' */
+      return 'X';
+    }
+    case 2: { /* '0x02' */
+      return 'B';
+    }
+    case 3: { /* '0x03' */
+      return 'B';
+    }
+    case 4: { /* '0x04' */
+      return 'W';
+    }
+    case 5: { /* '0x05' */
+      return 'W';
+    }
+    case 6: { /* '0x06' */
+      return 'D';
+    }
+    case 7: { /* '0x07' */
+      return 'D';
+    }
+    case 8: { /* '0x08' */
+      return 'D';
+    }
+    case 11: { /* '0x0B' */
+      return 'X';
+    }
+    case 19: { /* '0x13' */
+      return 'X';
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+bool plc4c_s7_read_write_transport_size_get_supported__s7_1500(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return true;
+    }
+    case 1: { /* '0x01' */
+      return true;
+    }
+    case 2: { /* '0x02' */
+      return true;
+    }
+    case 3: { /* '0x03' */
+      return true;
+    }
+    case 4: { /* '0x04' */
+      return true;
+    }
+    case 5: { /* '0x05' */
+      return true;
+    }
+    case 6: { /* '0x06' */
+      return true;
+    }
+    case 7: { /* '0x07' */
+      return true;
+    }
+    case 8: { /* '0x08' */
+      return true;
+    }
+    case 11: { /* '0x0B' */
+      return true;
+    }
+    case 19: { /* '0x13' */
+      return true;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_transport_size_get_data_transport_size(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return -1;
+    }
+    case 1: { /* '0x01' */
+      return plc4c_s7_read_write_data_transport_size_BIT;
+    }
+    case 2: { /* '0x02' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 3: { /* '0x03' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 4: { /* '0x04' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 5: { /* '0x05' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 6: { /* '0x06' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 7: { /* '0x07' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 8: { /* '0x08' */
+      return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+    }
+    case 11: { /* '0x0B' */
+      return -1;
+    }
+    case 19: { /* '0x13' */
+      return -1;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_base_type(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return -1;
+    }
+    case 1: { /* '0x01' */
+      return -1;
+    }
+    case 2: { /* '0x02' */
+      return -1;
+    }
+    case 3: { /* '0x03' */
+      return -1;
+    }
+    case 4: { /* '0x04' */
+      return -1;
+    }
+    case 5: { /* '0x05' */
+      return -1;
+    }
+    case 6: { /* '0x06' */
+      return plc4c_s7_read_write_transport_size_WORD;
+    }
+    case 7: { /* '0x07' */
+      return plc4c_s7_read_write_transport_size_INT;
+    }
+    case 8: { /* '0x08' */
+      return -1;
+    }
+    case 11: { /* '0x0B' */
+      return -1;
+    }
+    case 19: { /* '0x13' */
+      return -1;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+uint8_t plc4c_s7_read_write_transport_size_get_data_protocol_id(plc4c_s7_read_write_transport_size value) {
+  switch(value) {
+    case 0: { /* '0x00' */
+      return 14;
+    }
+    case 1: { /* '0x01' */
+      return 01;
+    }
+    case 2: { /* '0x02' */
+      return 11;
+    }
+    case 3: { /* '0x03' */
+      return 41;
+    }
+    case 4: { /* '0x04' */
+      return 12;
+    }
+    case 5: { /* '0x05' */
+      return 23;
+    }
+    case 6: { /* '0x06' */
+      return 13;
+    }
+    case 7: { /* '0x07' */
+      return 25;
+    }
+    case 8: { /* '0x08' */
+      return 31;
+    }
+    case 11: { /* '0x0B' */
+      return 51;
+    }
+    case 19: { /* '0x13' */
+      return 42;
+    }
+    default: {
+      return 0;
+    }
+  }
+}
+
+#ifdef __cplusplus
+}
+#endif
+#endif  // PLC4C_S7_READ_WRITE_TRANSPORT_SIZE_H_
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet.c
index 59b6334..3af9544 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_connection_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_connection_request.c
index 59b6334..b5142b3 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_connection_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet_connection_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_connection_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_connection_response.c
index 59b6334..3ce392c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_connection_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet_connection_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_data.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_data.c
index 59b6334..fb08864 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_data.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet_data.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_disconnect_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_disconnect_request.c
index 59b6334..497a210 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_disconnect_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet_disconnect_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_disconnect_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_disconnect_response.c
index 59b6334..22f21d5 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_disconnect_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet_disconnect_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_tpdu_error.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_tpdu_error.c
index 59b6334..3c2e952 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_packet_tpdu_error.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_packet_tpdu_error.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter.c
index 59b6334..c9557a0 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_parameter.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_called_tsap.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_called_tsap.c
index 59b6334..554fa2c 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_called_tsap.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_parameter_called_tsap.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_calling_tsap.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_calling_tsap.c
index 59b6334..3e7ce56 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_calling_tsap.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_parameter_calling_tsap.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_checksum.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_checksum.c
index 59b6334..342b1d4 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_checksum.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_parameter_checksum.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_disconnect_additional_information.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_disconnect_additional_information.c
index 59b6334..0bd250b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_disconnect_additional_information.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_parameter_disconnect_additional_information.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_tpdu_size.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_tpdu_size.c
index 59b6334..e948786 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/c_o_t_p_parameter_tpdu_size.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "c_o_t_p_parameter_tpdu_size.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_address.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_address.c
index 59b6334..508ab53 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_address.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_address.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_address_any.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_address_any.c
index 59b6334..07dbaca 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_address_any.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_address_any.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_message.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_message.c
index 59b6334..bbf3a11 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_message.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_message.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_message_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_message_request.c
index 59b6334..52fcf9b 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_message_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_message_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_message_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_message_response.c
index 59b6334..5994293 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_message_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_message_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_message_response_data.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_message_response_data.c
index 59b6334..eadd5e5 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_message_response_data.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_message_response_data.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_message_user_data.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_message_user_data.c
index 59b6334..0981324 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_message_user_data.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_message_user_data.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter.c
index 59b6334..ecd698a 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_read_var_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_read_var_request.c
index 59b6334..10e85cc 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_read_var_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_read_var_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_read_var_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_read_var_response.c
index 59b6334..6e2c9e4 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_read_var_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_read_var_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_setup_communication.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_setup_communication.c
index 59b6334..5add9e9 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_setup_communication.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_setup_communication.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data.c
index 59b6334..074a535 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_user_data.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data_item.c
index 59b6334..3b43dbc 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_user_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data_item_c_p_u_functions.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data_item_c_p_u_functions.c
index 59b6334..bbc752d 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_user_data_item_c_p_u_functions.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_user_data_item_c_p_u_functions.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_write_var_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_write_var_request.c
index 59b6334..d989a39 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_write_var_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_write_var_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_write_var_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_parameter_write_var_response.c
index 59b6334..f1fd0f9 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_parameter_write_var_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_parameter_write_var_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload.c
index 59b6334..f20ffef 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_read_var_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_read_var_response.c
index 59b6334..82a6eb7 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_read_var_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_read_var_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data.c
index 59b6334..eb40054 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_user_data.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item.c
index 59b6334..956e680 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_user_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item_cpu_function_read_szl_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item_cpu_function_read_szl_request.c
index 59b6334..1573640 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item_cpu_function_read_szl_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_user_data_item_cpu_function_read_szl_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item_cpu_function_read_szl_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item_cpu_function_read_szl_response.c
index 59b6334..713eba0 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_user_data_item_cpu_function_read_szl_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_user_data_item_cpu_function_read_szl_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_write_var_request.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_write_var_request.c
index 59b6334..8268458 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_write_var_request.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_write_var_request.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_payload_write_var_response.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_payload_write_var_response.c
index 59b6334..217e5c0 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_payload_write_var_response.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_payload_write_var_response.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_var_payload_data_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_var_payload_data_item.c
index 59b6334..10df31d 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_var_payload_data_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_var_payload_data_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_var_payload_status_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_var_payload_status_item.c
index 59b6334..8911b67 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_var_payload_status_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_var_payload_status_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_var_request_parameter_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_var_request_parameter_item.c
index 59b6334..ced4af6 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_var_request_parameter_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_var_request_parameter_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/s7_var_request_parameter_item_address.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/s7_var_request_parameter_item_address.c
index 59b6334..0e431ca 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/s7_var_request_parameter_item_address.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "s7_var_request_parameter_item_address.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/szl_data_tree_item.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/szl_data_tree_item.c
index 59b6334..cc2ac01 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/szl_data_tree_item.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "szl_data_tree_item.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/szl_id.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/szl_id.c
index 59b6334..23314c0 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/szl_id.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "szl_id.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/drivers/s7/CMakeLists.txt b/sandbox/plc4c/generated-sources/s7/src/t_p_k_t_packet.c
similarity index 64%
copy from sandbox/plc4c/drivers/s7/CMakeLists.txt
copy to sandbox/plc4c/generated-sources/s7/src/t_p_k_t_packet.c
index 59b6334..627f991 100644
--- a/sandbox/plc4c/drivers/s7/CMakeLists.txt
+++ b/sandbox/plc4c/generated-sources/s7/src/t_p_k_t_packet.c
@@ -1,4 +1,4 @@
-#[[
+/*
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
@@ -15,17 +15,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-]]
+*/
 
-include_directories("include" "../../api/include" "../../spi/include"
-    "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/includes")
+#include "t_p_k_t_packet.h"
 
-# Add the sources
-file(GLOB sources "src/*.c")
-
-# Add the generated sources
-file(GLOB generatedSources "${PLC4C_ROOT_DIR}/target/generated-sources/plc4x/s7/src/*.c")
-
-add_library(plc4c-driver-s7 ${sources} ${generatedSources})
-
-target_link_libraries(plc4c-driver-s7 plc4c-spi ${CMAKE_DL_LIBS})
\ No newline at end of file
diff --git a/sandbox/plc4c/pom.xml b/sandbox/plc4c/pom.xml
index 4bc770d..e164a10 100644
--- a/sandbox/plc4c/pom.xml
+++ b/sandbox/plc4c/pom.xml
@@ -176,7 +176,7 @@
                             <protocolName>modbus</protocolName>
                             <languageName>c</languageName>
                             <outputFlavor>read-write</outputFlavor>
-                            <!--outputDir>${project.basedir}/generated-sources</outputDir-->
+                            <outputDir>${project.basedir}/generated-sources</outputDir>
                         </configuration>
                     </execution>
                     <execution>
@@ -189,7 +189,7 @@
                             <protocolName>s7</protocolName>
                             <languageName>c</languageName>
                             <outputFlavor>read-write</outputFlavor>
-                            <!--outputDir>${project.basedir}/generated-sources</outputDir-->
+                            <outputDir>${project.basedir}/generated-sources</outputDir>
                         </configuration>
                     </execution>
                 </executions>