����14-27 linux/include/linux/sys.h
1 /*
2 * Why isn't this a .c file? Enquiring minds....
3 */
/*
* Ϊʲô�ⲻ��һ��.c�ļ��������Խ��Լ�����....
*/
4
5 extern int sys_setup(); // 0 - ϵͳ������ʼ�����ú����� (kernel/blk_drv/hd.c)
6 extern int sys_exit(); // 1 - �����˳��� (kernel/exit.c )
7 extern int sys_fork(); // 2 - �������̡� (kernel/system_call.s)
8 extern int sys_read(); // 3 - ����� (fs/read_write.c)
9 extern int sys_write(); // 4 - д�ļ��� (fs/read_write.c)
10 extern int sys_open(); // 5 - ����� (fs/open.c)
11 extern int sys_close(); // 6 - �ر��ļ��� (fs/open.c)
12 extern int sys_waitpid(); // 7 - �ȴ�������ֹ�� (kernel/exit.c)
13 extern int sys_creat(); // 8 - ������� (fs/open.c)
14 extern int sys_link(); // 9 - ����һ���ļ���Ӳ���ӡ� (fs/namei.c)
15 extern int sys_unlink(); // 10 - ɾ��һ���ļ���(��ɾ���ļ�)�� (fs/namei.c)
16 extern int sys_execve(); // 11 - ִ�г��� (kernel/system_call.s)
17 extern int sys_chdir(); // 12 - ���ĵ�ǰĿ¼�� (fs/open.c)
18 extern int sys_time(); // 13 - ȡ��ǰʱ�䡣 (kernel/sys.c)
19 extern int sys_mknod(); // 14 - ������/�ַ������ļ��� (fs/namei.c)
20 extern int sys_chmod(); // 15 - ���ļ����ԡ� (fs/open.c)
21 extern int sys_chown(); // 16 - ���ļ������������顣 (fs/open.c)
22 extern int sys_break(); // 17 - (kernel/sys.c)*
23 extern int sys_stat(); // 18 - ʹ��·����ȡ�ļ�״̬��Ϣ��(fs/stat.c)
24 extern int sys_lseek(); // 19 - ���¶�λ��/д�ļ�ƫ�ơ� (fs/read_write.c)
25 extern int sys_getpid(); // 20 - ȡ����id�� (kernel/sched.c)
26 extern int sys_mount(); // 21 - ��װ�ļ�ϵͳ�� (fs/super.c)
27 extern int sys_umount(); // 22 - ж���ļ�ϵͳ�� (fs/super.c)
28 extern int sys_setuid(); // 23 - ���ý����û�id�� (kernel/sys.c)
29 extern int sys_getuid(); // 24 - ȡ�����û�id�� (kernel/sched.c)
30 extern int sys_stime(); // 25 - ����ϵͳʱ�����ڡ� (kernel/sys.c)*
31 extern int sys_ptrace(); // 26 - ������ԡ� (kernel/sys.c)*
32 extern int sys_alarm(); // 27 - ������ (kernel/sched.c)
33 extern int sys_fstat(); // 28 - ʹ���ļ����ȡ�ļ���״̬��Ϣ��(fs/stat.c)
34 extern int sys_pause(); // 29 - ��ͣ�������С� (kernel/sched.c)
35 extern int sys_utime(); // 30 - �ı��ļ��ķ��ʺ���ʱ�䡣(fs/open.c)
36 extern int sys_stty(); // 31 - ���ն������á� (kernel/sys.c)*
37 extern int sys_gtty(); // 32 - ȡ�ն���������Ϣ�� (kernel/sys.c)*
38 extern int sys_access(); // 33 - ����û���һ���ļ��ķ���Ȩ�ޡ�(fs/open.c)
39 extern int sys_nice(); // 34 - ���ý���ִ������Ȩ�� (kernel/sched.c)
40 extern int sys_ftime(); // 35 - ȡ���ں�ʱ�䡣 (kernel/sys.c)*
41 extern int sys_sync(); // 36 - ͬ�����ٻ������豸�����ݡ�(fs/buffer.c)
42 extern int sys_kill(); // 37 - ��ֹһ�����̡� (kernel/exit.c)
43 extern int sys_rename(); // 38 - ��������� (kernel/sys.c)*
44 extern int sys_mkdir(); // 39 - ����Ŀ¼�� (fs/namei.c)
45 extern int sys_rmdir(); // 40 - ɾ��Ŀ¼�� (fs/namei.c)
46 extern int sys_dup(); // 41 - ���������� (fs/fcntl.c)
47 extern int sys_pipe(); // 42 - �����ܵ��� (fs/pipe.c)
48 extern int sys_times(); // 43 - ȡ����ʱ�䡣 (kernel/sys.c)
49 extern int sys_prof(); // 44 - ����ִ��ʱ������ (kernel/sys.c)*
50 extern int sys_brk(); // 45 - �����ݶγ��ȡ� (kernel/sys.c)
51 extern int sys_setgid(); // 46 - ���ý�����id�� (kernel/sys.c)
52 extern int sys_getgid(); // 47 - ȡ������id�� (kernel/sched.c)
53 extern int sys_signal(); // 48 - �źŴ����� (kernel/signal.c)
54 extern int sys_geteuid(); // 49 - ȡ������Ч�û�id�� (kenrl/sched.c)
55 extern int sys_getegid(); // 50 - ȡ������Ч��id�� (kenrl/sched.c)
56 extern int sys_acct(); // 51 - ���̼��ʡ� (kernel/sys.c)*
57 extern int sys_phys(); // 52 - (kernel/sys.c)*
58 extern int sys_lock(); // 53 - (kernel/sys.c)*
59 extern int sys_ioctl(); // 54 - �豸����������ơ� (fs/ioctl.c)
60 extern int sys_fcntl(); // 55 - �ļ�������Ʋ����� (fs/fcntl.c)
61 extern int sys_mpx(); // 56 - (kernel/sys.c)*
62 extern int sys_setpgid(); // 57 - ���ý�����id�� (kernel/sys.c)
63 extern int sys_ulimit(); // 58 - ͳ�ƽ���ʹ����Դ����� (kernel/sys.c)
64 extern int sys_uname(); // 59 - ��ʾϵͳ��Ϣ�� (kernel/sys.c)
65 extern int sys_umask(); // 60 - ȡĬ���ļ����������롣 (kernel/sys.c)
66 extern int sys_chroot(); // 61 - �ı��Ŀ¼�� (fs/open.c)
67 extern int sys_ustat(); // 62 - ȡ�ļ�ϵͳ��Ϣ�� (fs/open.c)
68 extern int sys_dup2(); // 63 - ���������� (fs/fcntl.c)
69 extern int sys_getppid(); // 64 - ȡ������id�� (kernel/sched.c)
70 extern int sys_getpgrp(); // 65 - ȡ������id������getpgid(0)��(kernel/sys.c)
71 extern int sys_setsid(); // 66 - ���»Ự�����г��� (kernel/sys.c)
72 extern int sys_sigaction(); // 67 - �ı��źŴ������̡� (kernel/signal.c)
73 extern int sys_sgetmask(); // 68 - ȡ�ź������롣 (kernel/signal.c)
74 extern int sys_ssetmask(); // 69 - �����ź������롣 (kernel/signal.c)
75 extern int sys_setreuid(); // 70 - ������ʵ��/����Ч�û�id�� (kernel/sys.c)
76 extern int sys_setregid(); // 71 - ������ʵ��/����Ч��id�� (kernel/sys.c)
77 extern int sys_sigpending(); // 73 - �����δ�������źš� (kernel/signal.c)
78 extern int sys_sigsuspend(); // 72 - ʹ���������������̡� (kernel/signal.c)
79 extern int sys_sethostname(); // 74 - ������������ (kernel/sys.c)
80 extern int sys_setrlimit(); // 75 - ������Դʹ�����ơ� (kernel/sys.c)
81 extern int sys_getrlimit(); // 76 - ȡ�ý���ʹ����Դ�����ơ� (kernel/sys.c)
82 extern int sys_getrusage(); // 77 -
83 extern int sys_gettimeofday(); // 78 - ��ȡ����ʱ�䡣 (kernel/sys.c)
84 extern int sys_settimeofday(); // 79 - ���õ���ʱ�䡣 (kernel/sys.c)
85 extern int sys_getgroups(); // 80 - ȡ�ý����������ʶ�š� (kernel/sys.c)
86 extern int sys_setgroups(); // 81 - ���ý������ʶ�����顣 (kernel/sys.c)
87 extern int sys_select(); // 82 - �ȴ��ļ�������״̬�ı䡣 (fs/select.c)
88 extern int sys_symlink(); // 83 - �����������ӡ� (fs/namei.c��767)
89 extern int sys_lstat(); // 84 - ȡ���������ļ�״̬�� (fs/stat.c��47)
90 extern int sys_readlink(); // 85 - ��ȡ���������ļ���Ϣ�� (fs/stat.c��69)
91 extern int sys_uselib(); // 86 - ѡ�����⡣ (fs/exec.c, 42)
92
// ϵͳ���ú���ָ���������ϵͳ�����жϴ�������(int 0x80)����Ϊ��ת����
93 fn_ptr sys_call_table[] = { sys_setup, sys_exit, sys_fork, sys_read,
94 sys_write, sys_open, sys_close, sys_waitpid, sys_creat, sys_link,
95 sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod,
96 sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount,
97 sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm,
98 sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access,
99 sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir,
100 sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid,
101 sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys,
102 sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit,
103 sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid,
104 sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask,
105 sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname,
106 sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday,
107 sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink,
108 sys_lstat, sys_readlink, sys_uselib };
109
110 /* So we don't have to do any more manual updating.... */
/* ����������������Ǿ������ֹ�����ϵͳ������Ŀ�� */
111 int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr);
112