SimpleOS

LXR

Navigation



Site hébergé par : enix

The LXR Cross Referencer for SOS

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Article:1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 6.5 ] [ 7 ] [ 7.5 ] [ 8 ] [ 9 ] [ 9.5 ]

Diff markup

Differences between /sos/syscall.h (Article 9.5) and /sos/syscall.h (Article 7)


001 /* Copyright (C) 2005  David Decotigny            001 /* Copyright (C) 2005  David Decotigny
002                                                   002 
003    This program is free software; you can redi    003    This program is free software; you can redistribute it and/or
004    modify it under the terms of the GNU Genera    004    modify it under the terms of the GNU General Public License
005    as published by the Free Software Foundatio    005    as published by the Free Software Foundation; either version 2
006    of the License, or (at your option) any lat    006    of the License, or (at your option) any later version.
007                                                   007    
008    This program is distributed in the hope tha    008    This program is distributed in the hope that it will be useful,
009    but WITHOUT ANY WARRANTY; without even the     009    but WITHOUT ANY WARRANTY; without even the implied warranty of
010    MERCHANTABILITY or FITNESS FOR A PARTICULAR    010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
011    GNU General Public License for more details    011    GNU General Public License for more details.
012                                                   012    
013    You should have received a copy of the GNU     013    You should have received a copy of the GNU General Public License
014    along with this program; if not, write to t    014    along with this program; if not, write to the Free Software
015    Foundation, Inc., 59 Temple Place - Suite 3    015    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
016    USA.                                           016    USA. 
017 */                                                017 */
018 #ifndef _SOS_SYSCALL_H_                           018 #ifndef _SOS_SYSCALL_H_
019 #define _SOS_SYSCALL_H_                           019 #define _SOS_SYSCALL_H_
020                                                   020 
021 /**                                               021 /**
022  * @file syscall.h                                022  * @file syscall.h
023  *                                                023  *
024  * SOS Syscalls identifiers and handler. The h    024  * SOS Syscalls identifiers and handler. The handler is called by the
025  * underlying assembler routine (see hwcore/sy    025  * underlying assembler routine (see hwcore/syscall.h)
026  */                                               026  */
027                                                   027 
028                                                   028 
029 /**                                               029 /**
030  * The user services offered by the SOS kernel    030  * The user services offered by the SOS kernel
031  */                                               031  */
032 #define SOS_SYSCALL_ID_EXIT        256 /**< Ar    032 #define SOS_SYSCALL_ID_EXIT        256 /**< Args: retval, retval=NONE */
033                                                   033 
034                                                << 
035 /**                                            << 
036  * Basic low-level user thread API             << 
037  */                                            << 
038 #define SOS_SYSCALL_ID_NEW_THREAD  128 /**< Ar << 
039 #define SOS_SYSCALL_ID_NANOSLEEP   129 /**< Ar << 
040                                                << 
041                                                << 
042 /**                                            << 
043  * User memory mappings management             << 
044  */                                            << 
045 #define SOS_SYSCALL_ID_FORK        257 /**< Ar << 
046 #define SOS_SYSCALL_ID_EXEC        258 /**< Ar << 
047 #define SOS_SYSCALL_ID_MUNMAP      260 /**< Ar << 
048 #define SOS_SYSCALL_ID_MPROTECT    261 /**< Ar << 
049 #define SOS_SYSCALL_ID_MRESIZE     262 /**< Ar << 
050 #define SOS_SYSCALL_ID_MSYNC       263 /**< Ar << 
051                                                << 
052 /**                                            << 
053  * Heap management                             << 
054  */                                            << 
055 #define SOS_SYSCALL_ID_BRK         303 /**< Ar << 
056                                                << 
057 /**                                            << 
058  * File system interface                       << 
059  */                                            << 
060 #define SOS_SYSCALL_ID_MOUNT       555 /**< Ar << 
061 #define SOS_SYSCALL_ID_UMOUNT      556 /**< Ar << 
062 #define SOS_SYSCALL_ID_SYNC        557 /**< Ar << 
063 #define SOS_SYSCALL_ID_VFSTAT64    558 /**< Ar << 
064                                                << 
065 #define SOS_SYSCALL_ID_OPEN        559 /**< Ar << 
066 #define SOS_SYSCALL_ID_CLOSE       560 /**< Ar << 
067 #define SOS_SYSCALL_ID_READ        561 /**< Ar << 
068 #define SOS_SYSCALL_ID_READDIR     562 /**< Ar << 
069 #define SOS_SYSCALL_ID_WRITE       563 /**< Ar << 
070 #define SOS_SYSCALL_ID_SEEK64      564 /**< Ar << 
071 #define SOS_SYSCALL_ID_FTRUNCATE64 565 /**< Ar << 
072 #define SOS_SYSCALL_ID_FSMMAP      566 /**< Ar << 
073 #define SOS_SYSCALL_ID_FSYNC       567 /**< Ar << 
074 #define SOS_SYSCALL_ID_FCNTL       568 /**< Ar << 
075 #define SOS_SYSCALL_ID_IOCTL       569 /**< Ar << 
076                                                << 
077 #define SOS_SYSCALL_ID_CREAT       570 /**< Ar << 
078 #define SOS_SYSCALL_ID_LINK        571 /**< Ar << 
079 #define SOS_SYSCALL_ID_RENAME      572 /**< Ar << 
080 #define SOS_SYSCALL_ID_UNLINK      573 /**< Ar << 
081 #define SOS_SYSCALL_ID_SYMLINK     574 /**< Ar << 
082 #define SOS_SYSCALL_ID_MKNOD       575 /**< Ar << 
083                                                << 
084 #define SOS_SYSCALL_ID_MKDIR       576 /**< Ar << 
085 #define SOS_SYSCALL_ID_RMDIR       577 /**< Ar << 
086                                                << 
087 #define SOS_SYSCALL_ID_CHMOD       578 /**< Ar << 
088 #define SOS_SYSCALL_ID_STAT64      579 /**< Ar << 
089                                                << 
090 #define SOS_SYSCALL_ID_CHROOT      580 /**< Ar << 
091 #define SOS_SYSCALL_ID_CHDIR       581 /**< Ar << 
092 #define SOS_SYSCALL_ID_FCHDIR      582 /**< Ar << 
093                                                << 
094                                                << 
095 #define SOS_SYSCALL_ID_BOCHS_WRITE 43  /**< Ar    034 #define SOS_SYSCALL_ID_BOCHS_WRITE 43  /**< Args: string, retval=num_printed */
096                                                   035 
097                                                   036 
098 #if defined(KERNEL_SOS) && !defined(ASM_SOURCE    037 #if defined(KERNEL_SOS) && !defined(ASM_SOURCE)
099                                                   038 
100 #include <sos/errno.h>                            039 #include <sos/errno.h>
101 #include <hwcore/cpu_context.h>                   040 #include <hwcore/cpu_context.h>
102                                                   041 
103 /**                                               042 /**
104  * "The" SOS syscall handler                      043  * "The" SOS syscall handler
105  *                                                044  *
106  * @param syscall_id The identifier of the sys    045  * @param syscall_id The identifier of the syscall service
107  * @param user_ctxt The user context making th    046  * @param user_ctxt The user context making the syscall
108  */                                               047  */
109 sos_ret_t sos_do_syscall(int syscall_id,          048 sos_ret_t sos_do_syscall(int syscall_id,
110                          const struct sos_cpu_    049                          const struct sos_cpu_state *user_ctxt);
111                                                   050 
112 #endif /* defined(KERNEL_SOS) && !defined(ASM_    051 #endif /* defined(KERNEL_SOS) && !defined(ASM_SOURCE) */
113                                                   052 
114 #endif /* _SOS_SYSCALL_H_ */                      053 #endif /* _SOS_SYSCALL_H_ */
                                                      

source navigation ] diff markup ] identifier search ] general search ]