Przeglądaj źródła

Start working on system.

Cixo Develop 3 miesięcy temu
rodzic
commit
553c2c61f3
7 zmienionych plików z 78 dodań i 0 usunięć
  1. 6 0
      headers/scheduler.h
  2. 21 0
      make_linux.sh
  3. 22 0
      source/message.h
  4. 12 0
      source/process.h
  5. 1 0
      source/scheduler.c
  6. 6 0
      source/scheduler.h
  7. 10 0
      sync_headers.sh

+ 6 - 0
headers/scheduler.h

@@ -0,0 +1,6 @@
+#ifndef CX_MLEMOS_SCHEDULER_H
+#define CX_MLEMOS_SCHEDULER_H
+
+
+
+#endif

+ 21 - 0
make_linux.sh

@@ -0,0 +1,21 @@
+#!/bin/bash
+
+project=$(dirname $(realpath $0))
+sources=$(ls $project/source/*.c)
+
+build=$project/build-linux
+flags="-O2"
+compiler="gcc"
+
+$project/sync_headers.sh
+
+rm -rf $build
+mkdir $build
+
+for count in $sources; do
+    name=$(basename $count .c)
+    result=$build/$name.o
+    
+    $compiler $flags $count -c -o $result
+done
+

+ 22 - 0
source/message.h

@@ -0,0 +1,22 @@
+#ifndef CX_MLEMOS_MESSAGE_H_INCLUDED
+#define CX_MLEMOS_MESSAGE_H_INCLUDED
+
+#include <stdint.h>
+
+typedef enum cm_message_type_e {
+    CM_EMPTY_MESSAGE = 0,
+    CM_NUMBER_MESSAGE = 1
+} cm_message_type_t;
+
+typedef enum cm_message_flag_e {
+    CM_IDLE = 0,
+    CM_WAITING = 1
+} cm_message_flag_t;
+
+typedef struct cm_message_s {
+    cm_message_type_t type;
+    cm_message_flag_t flag;
+    void *content;
+} cm_message_t;
+
+#endif

+ 12 - 0
source/process.h

@@ -0,0 +1,12 @@
+#ifndef CX_MLEMOS_PROCESS_H_INCLUDED
+#define CX_MLEMOS_PROCESS_H_INCLUDED
+
+#include <stdint.h>
+#include "message.h"
+
+typedef struct cm_process_s {
+    cm_message_t *message;
+    result_t (*task) (cm_scheduler_t *, cm_message_t *);
+} cm_process_t;
+
+#endif

+ 1 - 0
source/scheduler.c

@@ -0,0 +1 @@
+

+ 6 - 0
source/scheduler.h

@@ -0,0 +1,6 @@
+#ifndef CX_MLEMOS_SCHEDULER_H
+#define CX_MLEMOS_SCHEDULER_H
+
+
+
+#endif

+ 10 - 0
sync_headers.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+
+project=$(dirname $(realpath $0))
+headers=$(ls $project/source/*.h)
+
+output=$project/headers
+
+rm -rf $output
+mkdir $output
+cp $headers $output/ -r