From fa896b0c72762e478a13a6bf084cb38f18b3b68a Mon Sep 17 00:00:00 2001 From: MrLetsplay2003 Date: Sun, 28 Aug 2022 15:50:14 +0200 Subject: [PATCH] Linsus implementation --- .vscode/settings.json | 5 + System Abstraction/linux/cdb_file.c | 97 ++++++++++++++++++ System Abstraction/linux/cdb_memroy.c | 15 +++ tests/System Abstraction/1/compile.sh | 2 + .../1/systemAbstractionTest1 | Bin 0 -> 17056 bytes tests/System Abstraction/2/compile.sh | 2 + tests/System Abstraction/2/openNewFiletest | Bin 0 -> 22872 bytes tests/System Abstraction/2/openNewFiletest.c | 2 +- tests/System Abstraction/2/testfile.txt | 1 - tests/System Abstraction/2/testfile2.txt | 0 tests/System Abstraction/3/compile.sh | 2 + tests/System Abstraction/3/openTempFiletest | Bin 0 -> 22912 bytes tests/System Abstraction/3/openTempFiletest.c | 2 +- tests/System Abstraction/3/testfile2.txt | 1 - 14 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 System Abstraction/linux/cdb_file.c create mode 100644 System Abstraction/linux/cdb_memroy.c create mode 100755 tests/System Abstraction/1/compile.sh create mode 100755 tests/System Abstraction/1/systemAbstractionTest1 create mode 100755 tests/System Abstraction/2/compile.sh create mode 100755 tests/System Abstraction/2/openNewFiletest delete mode 100644 tests/System Abstraction/2/testfile.txt delete mode 100644 tests/System Abstraction/2/testfile2.txt create mode 100755 tests/System Abstraction/3/compile.sh create mode 100755 tests/System Abstraction/3/openTempFiletest delete mode 100644 tests/System Abstraction/3/testfile2.txt diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7fee802 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "unistd.h": "c" + } +} \ No newline at end of file diff --git a/System Abstraction/linux/cdb_file.c b/System Abstraction/linux/cdb_file.c new file mode 100644 index 0000000..4b31af4 --- /dev/null +++ b/System Abstraction/linux/cdb_file.c @@ -0,0 +1,97 @@ +#include "../cdb_Sustem.h" +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include + +struct sus_File_impl{ + void * memroy; + size_t length; + int fd; +}; + +typedef struct sus_File_impl sus_File_impl; + +sus_File sus_fileOpenInMem(char * fileName, unsigned long parameter) { + int flags = O_RDWR; + if(parameter & SUS_FILE_NEW) flags |= O_CREAT | O_EXCL; + int fd = open(fileName, flags, S_IRWXU); + if(fd == -1) return NULL; + + struct stat info; + if(stat(fileName, &info)) { + close(fd); + return NULL; + } + + if((parameter & SUS_FILE_TEMP) == SUS_FILE_TEMP) unlink(fileName); + + if(info.st_size == 0) { + write(fd, "", 1); + info.st_size++; + } + + void *mem = mmap(NULL, info.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + + if(mem == MAP_FAILED) { + return NULL; + } + + sus_File_impl *file = (sus_File_impl *) sus_heapAlloc(sizeof(sus_File_impl)); + file->memroy = mem; + file->length = info.st_size; + file->fd = fd; + return file; +} + +void * sus_fileFileToMemroy(sus_File file) { + return file->memroy; +} + +sus_Bool sus_fileExists(char * fileName) { + struct stat bro; + return !stat(fileName, &bro); +} + +void sus_fileClose(sus_File file) { + msync(file->memroy, file->length, MS_SYNC); + munmap(file->memroy, file->length); + close(file->fd); +} + +void sus_fileFlush(sus_File file) { + msync(file->memroy, file->length, MS_SYNC); +} + +void * sus_fileResize(sus_File file, signed long appendBytes) { + size_t newSize = file->length + appendBytes; + lseek(file->fd, newSize - 1, SEEK_SET); + write(file->fd, "", 1); + + munmap(file->memroy, file->length); + void *newMem = mmap(NULL, newSize, PROT_READ | PROT_WRITE, MAP_SHARED, file->fd, 0); + if(newMem == MAP_FAILED) { + sus_fileClose(file); + file->fd = 0; + file->length = 0; + file->memroy = NULL; + return NULL; + } + + file->length = newSize; + file->memroy = newMem; + return newMem; +} + +void sus_fileDelete(char * fileName) { + unlink(fileName); +} + +void sus_fileRename(char * fileName, char * newFileName) { + link(fileName, newFileName); + unlink(fileName); +} \ No newline at end of file diff --git a/System Abstraction/linux/cdb_memroy.c b/System Abstraction/linux/cdb_memroy.c new file mode 100644 index 0000000..d5f8848 --- /dev/null +++ b/System Abstraction/linux/cdb_memroy.c @@ -0,0 +1,15 @@ +#include "../cdb_Sustem.h" +#include + +// Memory API +void * sus_heapAlloc(size_t bytes) { + return malloc(bytes); +} + +void * sus_heapResize(void * memroy, size_t newBytes) { + return realloc(memroy, newBytes); +} + +void sus_heapFree(void * memroy) { + free(memroy); +} \ No newline at end of file diff --git a/tests/System Abstraction/1/compile.sh b/tests/System Abstraction/1/compile.sh new file mode 100755 index 0000000..da1c1dc --- /dev/null +++ b/tests/System Abstraction/1/compile.sh @@ -0,0 +1,2 @@ +#!/bin/sh +gcc systemAbstractionTest1.c "../../../System Abstraction/linux/cdb_file.c" "../../../System Abstraction/linux/cdb_memroy.c" -o systemAbstractionTest1 \ No newline at end of file diff --git a/tests/System Abstraction/1/systemAbstractionTest1 b/tests/System Abstraction/1/systemAbstractionTest1 new file mode 100755 index 0000000000000000000000000000000000000000..98e9522d2f47ed465ca3392c5c815545bad49c60 GIT binary patch literal 17056 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 IAi%2s03^zNmjD0& literal 0 HcmV?d00001 diff --git a/tests/System Abstraction/2/compile.sh b/tests/System Abstraction/2/compile.sh new file mode 100755 index 0000000..ac0aa75 --- /dev/null +++ b/tests/System Abstraction/2/compile.sh @@ -0,0 +1,2 @@ +#!/bin/sh +gcc -g openNewFiletest.c "../../../System Abstraction/linux/cdb_file.c" "../../../System Abstraction/linux/cdb_memroy.c" -o openNewFiletest \ No newline at end of file diff --git a/tests/System Abstraction/2/openNewFiletest b/tests/System Abstraction/2/openNewFiletest new file mode 100755 index 0000000000000000000000000000000000000000..5acadabbbac70e147885f6fc72574393a307a7db GIT binary patch literal 22872 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 literal 0 HcmV?d00001 diff --git a/tests/System Abstraction/3/openTempFiletest.c b/tests/System Abstraction/3/openTempFiletest.c index 2980bef..d3619f2 100644 --- a/tests/System Abstraction/3/openTempFiletest.c +++ b/tests/System Abstraction/3/openTempFiletest.c @@ -23,7 +23,7 @@ void main(){ memroy[2] = 'c'; memroy[3] = 'd'; memroy[4] = 'e'; - Sleep(10000); + //Sleep(10000); sus_fileFlush(file); sus_fileClose(file); file = sus_fileOpenInMem("testfile.txt", SUS_FILE_NOTHING); diff --git a/tests/System Abstraction/3/testfile2.txt b/tests/System Abstraction/3/testfile2.txt deleted file mode 100644 index 2fe1f90..0000000 --- a/tests/System Abstraction/3/testfile2.txt +++ /dev/null @@ -1 +0,0 @@ -Obc \ No newline at end of file