Mercurial > lcfOS
view kernel/src/syscall.c3 @ 371:9c95f93f5b7a
Python 3.2 compatible issues
author | Windel Bouwman |
---|---|
date | Fri, 21 Mar 2014 12:01:19 +0100 |
parents | b4ac28efcdf4 |
children | 6ae782a085e0 |
line wrap: on
line source
module syscall; /* This module handles all the system calls from user space. */ import arch; import scheduler; import process; const int SendMsg = 1; const int ReceiveMsg = 2; const int Reboot = 3; // System call handlers. System calls are made from user space. function void handle_system_call(int callId, int a, int b) { // Main entry, check what to do here if (callId == 1) { handle_send_msg(); var process.process_t* proc; proc = process.byId(a); // proc.setMessage(); // scheduler.current.setState(Sleep); } else { if (callId == 2) { handle_recv_msg(); } else { if (callId == 3) { //arch.reboot(); } else { return 2; } } } return 0; } // Handle send message syscall function void handle_send_msg() { } function void handle_recv_msg() { // Block until we have a message //currentProc->setState(Sleep); //scheduler.executeNext(); }