Subversion Repositories HelenOS

Rev

Rev 2187 | Rev 2615 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2187 Rev 2605
Line 35... Line 35...
35
#ifndef KERN_SYSCALL_H_
35
#ifndef KERN_SYSCALL_H_
36
#define KERN_SYSCALL_H_
36
#define KERN_SYSCALL_H_
37
 
37
 
38
typedef enum {
38
typedef enum {
39
    SYS_IO = 0,
39
    SYS_IO = 0,
40
    SYS_TLS_SET = 1, /* Hardcoded in AMD64, IA32 uspace - psthread.S */
40
    SYS_TLS_SET = 1, /* Hardcoded in AMD64, IA32 uspace - fibril.S */
41
    SYS_THREAD_CREATE,
41
    SYS_THREAD_CREATE,
42
    SYS_THREAD_EXIT,
42
    SYS_THREAD_EXIT,
43
    SYS_THREAD_GET_ID,
43
    SYS_THREAD_GET_ID,
44
    SYS_TASK_GET_ID,
44
    SYS_TASK_GET_ID,
45
    SYS_FUTEX_SLEEP,
45
    SYS_FUTEX_SLEEP,
Line 71... Line 71...
71
 
71
 
72
#ifdef KERNEL
72
#ifdef KERNEL
73
 
73
 
74
#include <arch/types.h>
74
#include <arch/types.h>
75
 
75
 
76
typedef unative_t (*syshandler_t)(unative_t, unative_t, unative_t, unative_t);
76
typedef unative_t (*syshandler_t)(unative_t, unative_t, unative_t, unative_t,
-
 
77
    unative_t, unative_t);
77
 
78
 
78
extern syshandler_t syscall_table[SYSCALL_END];
79
extern syshandler_t syscall_table[SYSCALL_END];
79
extern unative_t syscall_handler(unative_t a1, unative_t a2, unative_t a3,
80
extern unative_t syscall_handler(unative_t, unative_t, unative_t, unative_t,
80
                unative_t a4, unative_t id);
81
    unative_t, unative_t, unative_t);
81
extern unative_t sys_tls_set(unative_t addr);
82
extern unative_t sys_tls_set(unative_t);
82
 
83
 
83
#endif
84
#endif
84
 
85
 
85
#endif
86
#endif
86
 
87