int sys_brk(unsigned long new_brk); 改变DS(数据段)的大小->这个系统调用会在1.4中讨论 int sys_fork(struct pt_regs regs); 著名的fork()所用的系统调用 int sys_getuid () int sys_setuid (uid_t uid) 用于管理UID等等的系统调用 int sys_get_kernel_sysms(struct kernel_sym *table) 用于存取系统函数表的系统调用(->1.3) int sys_sethostname (char *name, int len); int sys_gethostname (char *name, int len); sys_sethostname是用来设置主机名(hostname)的,sys_gethostname是用来取的 int sys_chdir (const char *path); int sys_fchdir (unsigned int fd); 两个函数都是用于设置当前的目录的(cd ...) int sys_chmod (const char *filename, mode_t mode); int sys_chown (const char *filename, mode_t mode); int sys_fchmod (unsigned int fildes, mode_t mode); int sys_fchown (unsigned int fildes, mode_t mode); 用于管理权限的函数 int sys_chroot (const char *filename); 用于设置运行进程的根目录的 int sys_execve (struct pt_regs regs); 非常重要的系统调用->用于执行一个可执行文件的(pt_regs是堆栈寄存器) long sys_fcntl (unsigned int fd, unsigned int cmd, unsigned long arg); 改变fd(打开文件描述符)的属性的 int sym_link (const char *oldname, const char *newname); int sys_unlink (const char *name); 用于管理硬/软链接的函数 int sys_rename (const char *oldname, const char *newname); 用于改变文件名 int sys_rmdir (const char* name); int sys_mkdir (const *char filename, int mode); 用于新建已经删除目录 int sys_open (const char *filename, int mode); int sys_close (unsigned int fd); 所有和打开文件(包括新建)有关的操作,还有关闭文件的. int sys_read (unsigned int fd, char *buf, unsigned int count); int sys_write (unsigned int fd, char *buf, unsigned int count); 读写文件的系统调用 int sys_getdents (unsigned int fd, struct dirent *dirent, unsigned int count); 用于取得文件列表的系统调用(ls...命令) int sys_readlink (const char *path, char *buf, int bufsize); 读符号链接的系统调用 int sys_selectt (int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp); 多路复用I/O操作 sys_socketcall (int call, unsigned long args); socket 函数 unsigned long sys_create_module (char *name, unsigned long size); int sys_delete_module (char *name); int sys_query_module (const char *name, int which, void *buf, size_t bufsize, size_t *ret); |