diff --git a/userspace/libraries/LibC/CMakeLists.txt b/userspace/libraries/LibC/CMakeLists.txt index 33692905..b292010f 100644 --- a/userspace/libraries/LibC/CMakeLists.txt +++ b/userspace/libraries/LibC/CMakeLists.txt @@ -49,6 +49,7 @@ set(LIBC_SOURCES sys/mman.cpp sys/resource.cpp sys/select.cpp + sys/shm.cpp sys/socket.cpp sys/stat.cpp sys/statvfs.cpp diff --git a/userspace/libraries/LibC/include/sys/shm.h b/userspace/libraries/LibC/include/sys/shm.h index 1ec705a8..eedc112a 100644 --- a/userspace/libraries/LibC/include/sys/shm.h +++ b/userspace/libraries/LibC/include/sys/shm.h @@ -14,9 +14,12 @@ __BEGIN_DECLS #include -#define SHM_RDONLY 0x01 -#define SHM_RDONLY 0x02 -#define SHM_RDONLY 0x04 +#include + +#define SHM_RDONLY 0x01 +#define SHM_RND 0x02 + +#define SHMLBA (sysconf(_SC_PAGE_SIZE)) typedef unsigned int shmatt_t; diff --git a/userspace/libraries/LibC/sys/shm.cpp b/userspace/libraries/LibC/sys/shm.cpp new file mode 100644 index 00000000..ea07066d --- /dev/null +++ b/userspace/libraries/LibC/sys/shm.cpp @@ -0,0 +1,11 @@ +#include + +#include +#include + +#define TODO_FUNC(type, name, ...) type name(__VA_ARGS__) { dwarnln("TODO: " #name); errno = ENOTSUP; return (type)-1; } + +TODO_FUNC(void*, shmat, int, const void*, int) +TODO_FUNC(int, shmctl, int, int, struct shmid_ds*) +TODO_FUNC(int, shmdt, const void*) +TODO_FUNC(int, shmget, key_t, size_t, int)