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:29 UTC

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

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>