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 7.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_MMAP        259 /**< Ar << 
048 #define SOS_SYSCALL_ID_MUNMAP      260 /**< Ar << 
049 #define SOS_SYSCALL_ID_MPROTECT    261 /**< Ar << 
050 #define SOS_SYSCALL_ID_MRESIZE     262 /**< Ar << 
051                                                << 
052                                                << 
053 /**                                            << 
054  * Heap management                             << 
055  */                                            << 
056 #define SOS_SYSCALL_ID_BRK         263 /**< Ar << 
057                                                << 
058 #define SOS_SYSCALL_ID_BOCHS_WRITE 43  /**< Ar    034 #define SOS_SYSCALL_ID_BOCHS_WRITE 43  /**< Args: string, retval=num_printed */
059                                                   035 
060                                                   036 
061 #if defined(KERNEL_SOS) && !defined(ASM_SOURCE    037 #if defined(KERNEL_SOS) && !defined(ASM_SOURCE)
062                                                   038 
063 #include <sos/errno.h>                            039 #include <sos/errno.h>
064 #include <hwcore/cpu_context.h>                   040 #include <hwcore/cpu_context.h>
065                                                   041 
066 /**                                               042 /**
067  * "The" SOS syscall handler                      043  * "The" SOS syscall handler
068  *                                                044  *
069  * @param syscall_id The identifier of the sys    045  * @param syscall_id The identifier of the syscall service
070  * @param user_ctxt The user context making th    046  * @param user_ctxt The user context making the syscall
071  */                                               047  */
072 sos_ret_t sos_do_syscall(int syscall_id,          048 sos_ret_t sos_do_syscall(int syscall_id,
073                          const struct sos_cpu_    049                          const struct sos_cpu_state *user_ctxt);
074                                                   050 
075 #endif /* defined(KERNEL_SOS) && !defined(ASM_    051 #endif /* defined(KERNEL_SOS) && !defined(ASM_SOURCE) */
076                                                   052 
077 #endif /* _SOS_SYSCALL_H_ */                      053 #endif /* _SOS_SYSCALL_H_ */
                                                      

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