More reorganizing
authorcoderain <coderain@sdf.org>
Thu, 5 Oct 2017 16:51:36 +0000 (18:51 +0200)
committercoderain <coderain@sdf.org>
Thu, 5 Oct 2017 16:51:36 +0000 (18:51 +0200)
kernel/include/clock.h
kernel/include/filesystem.h
sdk/clock.h [new file with mode: 0644]
sdk/filesystem.h [new file with mode: 0644]

index eabe7228c78f8f388c02b2955d79b666eca8b4e2..7d496e6d94e2edce2b4c0e96b2ba7b325ba34e74 100644 (file)
@@ -20,7 +20,7 @@
 #ifndef _CLOCK_H_
 #define _CLOCK_H_
 
-#include <common.h>
+#include <sdk/clock.h>
 
 #define CLOCK_IRQ 8
 #define CLOCK_PM_BIT (1 << 7)
 #define CMOS_RTC_STB_REG 0x0B
 #define CMOS_RTC_STC_REG 0x0C
 
-typedef struct
-{
-    word_t year;
-    byte_t day, month, hours, minutes, seconds;
-} clock_time_t;
-
 void clock_init();
 dword_t clock_get_time(clock_time_t *time);
 bool_t clock_check_time(clock_time_t *time);
index 3ea3fb360401e094d1d75f62bd67887946310764..acda67523964500b7221c45fd5f2db2ab109c2b7 100644 (file)
 #include <list.h>
 #include <clock.h>
 #include <sync.h>
-
-#define PATH_DELIMITER_CHAR   '/'
-#define PATH_DELIMITER_STRING "/"
-
-#define FILE_MODE_READ            (1 << 0)
-#define FILE_MODE_WRITE           (1 << 1)
-#define FILE_MODE_SHARE_READ      (1 << 2)
-#define FILE_MODE_SHARE_WRITE     (1 << 3)
-#define FILE_MODE_NO_CACHE        (1 << 4)
-#define FILE_MODE_DELETE_ON_CLOSE (1 << 29)
-#define FILE_MODE_CREATE          (1 << 30)
-#define FILE_MODE_TRUNCATE        (1 << 31)
-
-#define FILE_ATTR_DIRECTORY      (1 << 0)
-#define FILE_ATTR_OWNER_READABLE (1 << 1)
-#define FILE_ATTR_OWNER_WRITABLE (1 << 2)
-#define FILE_ATTR_WORLD_READABLE (1 << 3)
-#define FILE_ATTR_WORLD_WRITABLE (1 << 4)
-#define FILE_ATTR_DELETED        (1 << 31)
-
-#define MOUNT_FLAG_READONLY (1 << 0)
+#include <sdk/filesystem.h>
 
 #define EVENT_QUEUE_CAPACITY 256
 
@@ -65,15 +45,6 @@ typedef dword_t (*fs_write_proc_t)(file_instance_t *file, const void *buffer, qw
 typedef dword_t (*fs_list_dir_proc_t)(file_instance_t *directory, char *filename, bool_t continue_scan);
 typedef dword_t (*fs_set_proc_t)(file_t *file, dword_t info_type, const void *buffer, size_t size);
 
-typedef enum
-{
-    FILE_INFO_ATTRIBUTES,
-    FILE_INFO_NAME,
-    FILE_INFO_TIME,
-    FILE_INFO_SIZE,
-    FILE_INFO_OWNER,
-} file_info_type_t;
-
 typedef struct
 {
     list_entry_t list;
@@ -91,19 +62,6 @@ typedef struct
     fs_set_proc_t set_file;
 } fs_driver_t;
 
-typedef struct
-{
-    clock_time_t creation_time;
-    clock_time_t modification_time;
-    clock_time_t last_access_time;
-} file_time_info_t;
-
-typedef struct
-{
-    dword_t type;
-    char filename[VARIABLE_SIZE];
-} file_event_t;
-
 typedef struct
 {
     list_entry_t list;
diff --git a/sdk/clock.h b/sdk/clock.h
new file mode 100644 (file)
index 0000000..e4b838f
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * clock.h
+ *
+ * Copyright 2017 Aleksandar Andrejevic <theflash@sdf.lonestar.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __MONOLITIHUM_CLOCK_H__
+#define __MONOLITIHUM_CLOCK_H__
+
+#include "defs.h"
+
+typedef struct
+{
+    word_t year;
+    byte_t day, month, hours, minutes, seconds;
+} clock_time_t;
+
+#endif
diff --git a/sdk/filesystem.h b/sdk/filesystem.h
new file mode 100644 (file)
index 0000000..8b924a0
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * filesystem.h
+ *
+ * Copyright (C) 2017 Aleksandar Andrejevic <theflash@sdf.lonestar.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __MONOLITIHUM_FILESYSTEM_H__
+#define __MONOLITIHUM_FILESYSTEM_H__
+
+#include "defs.h"
+#include "clock.h"
+
+#define PATH_DELIMITER_STRING "/"
+#define PATH_DELIMITER_CHAR   (*PATH_DELIMITER_STRING)
+
+#define FILE_MODE_READ            (1 << 0)
+#define FILE_MODE_WRITE           (1 << 1)
+#define FILE_MODE_SHARE_READ      (1 << 2)
+#define FILE_MODE_SHARE_WRITE     (1 << 3)
+#define FILE_MODE_NO_CACHE        (1 << 4)
+#define FILE_MODE_DELETE_ON_CLOSE (1 << 29)
+#define FILE_MODE_CREATE          (1 << 30)
+#define FILE_MODE_TRUNCATE        (1 << 31)
+
+#define FILE_ATTR_DIRECTORY      (1 << 0)
+#define FILE_ATTR_OWNER_READABLE (1 << 1)
+#define FILE_ATTR_OWNER_WRITABLE (1 << 2)
+#define FILE_ATTR_WORLD_READABLE (1 << 3)
+#define FILE_ATTR_WORLD_WRITABLE (1 << 4)
+#define FILE_ATTR_DELETED        (1 << 31)
+
+#define MOUNT_FLAG_READONLY (1 << 0)
+
+typedef enum
+{
+    FILE_INFO_ATTRIBUTES,
+    FILE_INFO_NAME,
+    FILE_INFO_TIME,
+    FILE_INFO_SIZE,
+    FILE_INFO_OWNER,
+} file_info_type_t;
+
+typedef struct
+{
+    clock_time_t creation_time;
+    clock_time_t modification_time;
+    clock_time_t last_access_time;
+} file_time_info_t;
+
+typedef struct
+{
+    dword_t type;
+    char filename[VARIABLE_SIZE];
+} file_event_t;
+
+#endif