From 3677775670d497caa4f51413e50d0b286a7d9361 Mon Sep 17 00:00:00 2001 From: "leon.bohnwagner" <leon.bohnwagner@informatik.hs-fulda.de> Date: Thu, 13 Feb 2025 18:49:47 +0100 Subject: [PATCH] chore: update cmake and clang format code --- .gitignore | 88 +++++++++++++++++++++++---------- CMakeLists.txt | 2 + clients/cpu_temp/CMakeLists.txt | 4 +- clients/cpu_temp/src/cpu_temp.c | 1 - common/CMakeLists.txt | 1 + common/include/message.h | 1 + common/include/userspace_comm.h | 22 +++++---- common/src/message.c | 2 +- common/src/userspace_comm.c | 44 ++++++++--------- daemon/CMakeLists.txt | 2 +- daemon/include/receive.h | 22 ++++++--- daemon/include/send.h | 3 ++ daemon/src/receive.c | 73 +++++++++++++-------------- 13 files changed, 156 insertions(+), 109 deletions(-) diff --git a/.gitignore b/.gitignore index a253e7b..e4bc8a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,35 +1,71 @@ -# Build directories +.idea/ +.vscode/ + build/ -_build/ -cmake-build-*/ -# Kernel module build artifacts -*.ko -*.mod -*.mod.c +# Prerequisites +*.d + +# Object files *.o -*.cmd -Module.symvers -modules.order +*.ko +*.obj +*.elf -# IDE -.idea/ -.vscode/ -.cache/ -*.swp -*~ +# Linker output +*.ilk +*.map +*.exp -# CMake -CMakeCache.txt -CMakeFiles/ -cmake_install.cmake +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo -# Binaries -daemon/daemon -clients/client +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables *.exe *.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf -# OS specific -.DS_Store -.directory +# CMake +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps +CMakeUserPresets.json diff --git a/CMakeLists.txt b/CMakeLists.txt index 5857748..03a36fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,9 @@ cmake_minimum_required(VERSION 3.10) + project(sibyl C) set(CMAKE_C_STANDARD 11) + add_subdirectory(common) add_subdirectory(clients) add_subdirectory(daemon) diff --git a/clients/cpu_temp/CMakeLists.txt b/clients/cpu_temp/CMakeLists.txt index e8eb28f..68533eb 100644 --- a/clients/cpu_temp/CMakeLists.txt +++ b/clients/cpu_temp/CMakeLists.txt @@ -1,9 +1,7 @@ add_executable(cpu_temp src/cpu_temp.c ) + target_link_libraries(cpu_temp PRIVATE common ) -target_include_directories(cpu_temp - PRIVATE include -) diff --git a/clients/cpu_temp/src/cpu_temp.c b/clients/cpu_temp/src/cpu_temp.c index bdb5bb9..718790c 100644 --- a/clients/cpu_temp/src/cpu_temp.c +++ b/clients/cpu_temp/src/cpu_temp.c @@ -3,7 +3,6 @@ #include <fcntl.h> #include <stdio.h> #include <stdlib.h> -#include <string.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 2c04648..a63ae5d 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -2,6 +2,7 @@ add_library(common src/message.c src/userspace_comm.c ) + target_include_directories(common PUBLIC include ) diff --git a/common/include/message.h b/common/include/message.h index e1e7d26..f817d13 100644 --- a/common/include/message.h +++ b/common/include/message.h @@ -66,6 +66,7 @@ typedef struct message { * Returns the size. */ size_t message_data_type_size(message_data_type_t type); + /** * message_check() - Check if a `message_t` is correct. * @arg1: Message to check. diff --git a/common/include/userspace_comm.h b/common/include/userspace_comm.h index 51a8199..f399a8c 100644 --- a/common/include/userspace_comm.h +++ b/common/include/userspace_comm.h @@ -12,22 +12,24 @@ * @msg_queue_id: Id of the message queue. */ typedef struct { - int msg_queue_id; + int msg_queue_id; } userspace_send_handle_t; /** - * typedef message_queue_message_t - Wrapper around `daemon_measurement_t` to make it sendable over a message queue. + * typedef message_queue_message_t - Wrapper around `daemon_measurement_t` to + * make it sendable over a message queue. * @message_type: The messages' type. * @measurement: The measurement. */ typedef struct { - // required by the message queue api in order to work - long message_type; - message_t message; + // required by the message queue api in order to work + long message_type; + message_t message; } message_queue_message_t; /** - * msg_queue_key() - Return the message queue key for the userspace communication. + * msg_queue_key() - Return the message queue key for the userspace + * communication. * * Returns the key of the message queue or -1 on error. */ @@ -42,13 +44,15 @@ key_t msg_queue_key(); * * Returns 0 on success, -1 on error. */ -int create_userspace_send_handle(userspace_send_handle_t* handle); +int create_userspace_send_handle(userspace_send_handle_t *handle); + /** * send_send() - Sends a message over the message queue. * * Returns 0 on success, -1 on error. */ -int send_userspace_message(userspace_send_handle_t* handle, message_t message); +int send_userspace_message(userspace_send_handle_t *handle, message_t message); + /** * send_destroy() - Destroys the message queue handle. * @@ -56,4 +60,4 @@ int send_userspace_message(userspace_send_handle_t* handle, message_t message); * * Always returns 0. */ -int destroy_userspace_send_handle(userspace_send_handle_t* handle); +int destroy_userspace_send_handle(userspace_send_handle_t *handle); diff --git a/common/src/message.c b/common/src/message.c index 51c8d94..a021598 100644 --- a/common/src/message.c +++ b/common/src/message.c @@ -25,4 +25,4 @@ size_t message_data_type_size(message_data_type_t type) { default: return 0; } -} \ No newline at end of file +} diff --git a/common/src/userspace_comm.c b/common/src/userspace_comm.c index 8a00efd..d8c69aa 100644 --- a/common/src/userspace_comm.c +++ b/common/src/userspace_comm.c @@ -2,36 +2,32 @@ #include <sys/ipc.h> #include <sys/msg.h> -key_t msg_queue_key() { - return ftok(MSG_QUEUE_KEY, MSG_QUEUE_PROJ_ID); -} +key_t msg_queue_key() { return ftok(MSG_QUEUE_KEY, MSG_QUEUE_PROJ_ID); } -int create_userspace_send_handle(userspace_send_handle_t* handle) { - int key; - int msg_queue_id; +int create_userspace_send_handle(userspace_send_handle_t *handle) { + int key; + int msg_queue_id; - if ((key = msg_queue_key()) == -1) { - return -1; - } - if ((msg_queue_id = msgget(key, IPC_NOWAIT)) == -1) { - return -1; - } + if ((key = msg_queue_key()) == -1) { + return -1; + } + if ((msg_queue_id = msgget(key, IPC_NOWAIT)) == -1) { + return -1; + } - handle->msg_queue_id = msg_queue_id; + handle->msg_queue_id = msg_queue_id; - return 0; + return 0; } -int send_userspace_message(userspace_send_handle_t* handle, message_t message) { - message_queue_message_t message_queue_message = { - .message_type = MESSAGE_MEASUREMENT_ID, - .message = message, - }; +int send_userspace_message(userspace_send_handle_t *handle, message_t message) { + message_queue_message_t message_queue_message = { + .message_type = MESSAGE_MEASUREMENT_ID, + .message = message, + }; - msgsnd(handle->msg_queue_id, &message_queue_message, sizeof(message_t), 0); - return 0; + msgsnd(handle->msg_queue_id, &message_queue_message, sizeof(message_t), 0); + return 0; } -int destroy_userspace_send_handle(userspace_send_handle_t* handle) { - return 0; -} +int destroy_userspace_send_handle(userspace_send_handle_t *handle) { return 0; } diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt index ed44e75..6eaf971 100644 --- a/daemon/CMakeLists.txt +++ b/daemon/CMakeLists.txt @@ -7,7 +7,7 @@ add_executable(daemon target_link_libraries(daemon PRIVATE common ) + target_include_directories(daemon - PUBLIC include PRIVATE include ) diff --git a/daemon/include/receive.h b/daemon/include/receive.h index b2508e0..ad57c3b 100644 --- a/daemon/include/receive.h +++ b/daemon/include/receive.h @@ -1,4 +1,5 @@ #pragma once + #include "../../common/include/message.h" #include <sys/ipc.h> @@ -7,19 +8,21 @@ * @msg_id: Id of the message queue that is used internally to communicate. */ typedef struct { - int msg_queue_id; + int msg_queue_id; } userspace_receive_handle_t; /** * create_userspace_receive_handle() - Initializes the receive module. * @arg1: The receive module. * - * Creates a file at `MSG_QUEUE_KEY` and a message queue with `MSG_QUEUE_KEY` as key and `MSG_QUEUE_PROJ_ID` as project id. - * It will fail if the file or message queue already exists. + * Creates a file at `MSG_QUEUE_KEY` and a message queue with `MSG_QUEUE_KEY` as + * key and `MSG_QUEUE_PROJ_ID` as project id. It will fail if the file or + * message queue already exists. * * Returns 0 on success, -1 on error. */ -int create_userspace_receive_handle(userspace_receive_handle_t* handle); +int create_userspace_receive_handle(userspace_receive_handle_t *handle); + /** * recv_userspace_receive_handle() - Reads a measurement from the message queue. * @arg1: The receive module. @@ -27,14 +30,17 @@ int create_userspace_receive_handle(userspace_receive_handle_t* handle); * * Returns 0 on success, -1 on error. */ -int recv_userspace_message(userspace_receive_handle_t* handle, message_t* message); +int recv_userspace_message(userspace_receive_handle_t *handle, + message_t *message); + /** * destroy_userspace_receive_handle() - Deinitializes the receive module. * @arg1: The receive module. * - * The always returns 0, but is not guaranteed to be successful, so any occuring error is silent. - * This is done because the deinit function should always try to tidy up the changes made to the filesystem as much as possible. + * The always returns 0, but is not guaranteed to be successful, so any occuring + * error is silent. This is done because the deinit function should always try + * to tidy up the changes made to the filesystem as much as possible. * * Always returns 0. */ -int destroy_userspace_receive_handle(userspace_receive_handle_t* handle); +int destroy_userspace_receive_handle(userspace_receive_handle_t *handle); diff --git a/daemon/include/send.h b/daemon/include/send.h index ebdc921..bd46e27 100644 --- a/daemon/include/send.h +++ b/daemon/include/send.h @@ -1,4 +1,5 @@ #pragma once + #include "../../common/include/data.h" #include "../../common/include/message.h" @@ -9,5 +10,7 @@ typedef struct { } kernel_send_handle_t; int create_kernel_send_handle(kernel_send_handle_t *handle); + int send_kernel_message(kernel_send_handle_t *handle, data_t *data); + int destroy_kernel_send_handle(kernel_send_handle_t *handle); diff --git a/daemon/src/receive.c b/daemon/src/receive.c index 3047220..239b528 100644 --- a/daemon/src/receive.c +++ b/daemon/src/receive.c @@ -1,63 +1,64 @@ +#include "../include/receive.h" #include "../../common/include/message.h" #include "../../common/include/userspace_comm.h" -#include "../include/receive.h" +#include <fcntl.h> #include <stddef.h> -#include <stdlib.h> #include <stdio.h> -#include <fcntl.h> -#include <sys/stat.h> +#include <stdlib.h> #include <sys/ipc.h> #include <sys/msg.h> +#include <sys/stat.h> #include <sys/types.h> #include <unistd.h> int create_run_file() { - int fd; + int fd; - if ((fd = open(MSG_QUEUE_KEY, O_CREAT | O_EXCL)) == -1) { - return -1; - } + if ((fd = open(MSG_QUEUE_KEY, O_CREAT | O_EXCL)) == -1) { + return -1; + } - return close(fd); + return close(fd); } -int remove_run_file() { - return remove(MSG_QUEUE_KEY); -} +int remove_run_file() { return remove(MSG_QUEUE_KEY); } -int create_userspace_receive_handle(userspace_receive_handle_t* handle) { - if (create_run_file() == -1) { - return -1; - } +int create_userspace_receive_handle(userspace_receive_handle_t *handle) { + if (create_run_file() == -1) { + return -1; + } - key_t key = msg_queue_key(); - if (key == -1) { - return -1; - } + key_t key = msg_queue_key(); + if (key == -1) { + return -1; + } - if ((handle->msg_queue_id = msgget(key, IPC_CREAT | IPC_EXCL | IPC_NOWAIT)) == -1) { - return -1; - } + if ((handle->msg_queue_id = msgget(key, IPC_CREAT | IPC_EXCL | IPC_NOWAIT)) == + -1) { + return -1; + } - return 0; + return 0; } -int recv_userspace_message(userspace_receive_handle_t* handle, message_t* message) { - message_queue_message_t message_queue_message; +int recv_userspace_message(userspace_receive_handle_t *handle, + message_t *message) { + message_queue_message_t message_queue_message; - ssize_t read = msgrcv(handle->msg_queue_id, &message_queue_message, sizeof(message_t), MESSAGE_MEASUREMENT_ID, 0); - if (read == -1) { - return -1; - } + ssize_t read = msgrcv(handle->msg_queue_id, &message_queue_message, + sizeof(message_t), MESSAGE_MEASUREMENT_ID, 0); + if (read == -1) { + return -1; + } - *message = message_queue_message.message; + *message = message_queue_message.message; - return 0; + return 0; } -int destroy_userspace_receive_handle(userspace_receive_handle_t* handle) { - remove_run_file(); - msgctl(handle->msg_queue_id, IPC_RMID, NULL); +int destroy_userspace_receive_handle(userspace_receive_handle_t *handle) { + remove_run_file(); + msgctl(handle->msg_queue_id, IPC_RMID, NULL); - return 0; + return 0; } -- GitLab