⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unistd.h

📁 linux0.01内核源代码,让linux初学者对linux内核有清晰的了解并且掌握。
💻 H
字号:
#ifndef _UNISTD_H#define _UNISTD_H/* ok, this may be a joke, but I'm working on it */#define _POSIX_VERSION 198808L#define _POSIX_CHOWN_RESTRICTED	/* only root can do a chown (I think..) *//* #define _POSIX_NO_TRUNC*/	/* pathname truncation (but see in kernel) */#define _POSIX_VDISABLE '\0'	/* character to disable things like ^C *//*#define _POSIX_SAVED_IDS */	/* we'll get to this yet *//*#define _POSIX_JOB_CONTROL */	/* we aren't there quite yet. Soon hopefully */#define STDIN_FILENO	0#define STDOUT_FILENO	1#define STDERR_FILENO	2#ifndef NULL#define NULL    ((void *)0)#endif/* access */#define F_OK	0#define X_OK	1#define W_OK	2#define R_OK	4/* lseek */#define SEEK_SET	0#define SEEK_CUR	1#define SEEK_END	2/* _SC stands for System Configuration. We don't use them much */#define _SC_ARG_MAX		1#define _SC_CHILD_MAX		2#define _SC_CLOCKS_PER_SEC	3#define _SC_NGROUPS_MAX		4#define _SC_OPEN_MAX		5#define _SC_JOB_CONTROL		6#define _SC_SAVED_IDS		7#define _SC_VERSION		8/* more (possibly) configurable things - now pathnames */#define _PC_LINK_MAX		1#define _PC_MAX_CANON		2#define _PC_MAX_INPUT		3#define _PC_NAME_MAX		4#define _PC_PATH_MAX		5#define _PC_PIPE_BUF		6#define _PC_NO_TRUNC		7#define _PC_VDISABLE		8#define _PC_CHOWN_RESTRICTED	9#include <sys/stat.h>#include <sys/times.h>#include <sys/utsname.h>#include <utime.h>#ifdef __LIBRARY__#define __NR_setup	0	/* used only by init, to get system going */#define __NR_exit	1#define __NR_fork	2#define __NR_read	3#define __NR_write	4#define __NR_open	5#define __NR_close	6#define __NR_waitpid	7#define __NR_creat	8#define __NR_link	9#define __NR_unlink	10#define __NR_execve	11#define __NR_chdir	12#define __NR_time	13#define __NR_mknod	14#define __NR_chmod	15#define __NR_chown	16#define __NR_break	17#define __NR_stat	18#define __NR_lseek	19#define __NR_getpid	20#define __NR_mount	21#define __NR_umount	22#define __NR_setuid	23#define __NR_getuid	24#define __NR_stime	25#define __NR_ptrace	26#define __NR_alarm	27#define __NR_fstat	28#define __NR_pause	29#define __NR_utime	30#define __NR_stty	31#define __NR_gtty	32#define __NR_access	33#define __NR_nice	34#define __NR_ftime	35#define __NR_sync	36#define __NR_kill	37#define __NR_rename	38#define __NR_mkdir	39#define __NR_rmdir	40#define __NR_dup	41#define __NR_pipe	42#define __NR_times	43#define __NR_prof	44#define __NR_brk	45#define __NR_setgid	46#define __NR_getgid	47#define __NR_signal	48#define __NR_geteuid	49#define __NR_getegid	50#define __NR_acct	51#define __NR_phys	52#define __NR_lock	53#define __NR_ioctl	54#define __NR_fcntl	55#define __NR_mpx	56#define __NR_setpgid	57#define __NR_ulimit	58#define __NR_uname	59#define __NR_umask	60#define __NR_chroot	61#define __NR_ustat	62#define __NR_dup2	63#define __NR_getppid	64#define __NR_getpgrp	65#define __NR_setsid	66#define __NR_MP         67 #define _syscall0(type,name) \type name(void) \{ \type __res; \__asm__ volatile ("int $0x80" \	: "=a" (__res) \	: "0" (__NR_##name)); \if (__res >= 0) \	return __res; \errno = -__res; \return -1; \}#define _syscall1(type,name,atype,a) \type name(atype a) \{ \type __res; \__asm__ volatile ("int $0x80" \	: "=a" (__res) \	: "0" (__NR_##name),"b" (a)); \if (__res >= 0) \	return __res; \errno = -__res; \return -1; \}#define _mycall1(type,name,atype,a) \type name(atype a) \{ \type __res; \__asm__ volatile ("int $0x40" \	: "=a" (__res) \	: "0" (__NR_##name),"b" (a)); \if (__res >= 0) \	return __res; \errno = -__res; \return -1; \}#define _syscall2(type,name,atype,a,btype,b) \type name(atype a,btype b) \{ \type __res; \__asm__ volatile ("int $0x80" \	: "=a" (__res) \	: "0" (__NR_##name),"b" (a),"c" (b)); \if (__res >= 0) \	return __res; \errno = -__res; \return -1; \}#define _syscall3(type,name,atype,a,btype,b,ctype,c) \type name(atype a,btype b,ctype c) \{ \type __res; \__asm__ volatile ("int $0x80" \	: "=a" (__res) \	: "0" (__NR_##name),"b" (a),"c" (b),"d" (c)); \if (__res<0) \	errno=-__res , __res = -1; \return __res;\}#endif /* __LIBRARY__ */extern int errno;int access(const char * filename, mode_t mode);int acct(const char * filename);int alarm(int sec);int brk(void * end_data_segment);void * sbrk(ptrdiff_t increment);int chdir(const char * filename);int chmod(const char * filename, mode_t mode);int chown(const char * filename, uid_t owner, gid_t group);int chroot(const char * filename);int close(int fildes);int creat(const char * filename, mode_t mode);int dup(int fildes);int execve(const char * filename, char ** argv, char ** envp);int execv(const char * pathname, char ** argv);int execvp(const char * file, char ** argv);int execl(const char * pathname, char * arg0, ...);int execlp(const char * file, char * arg0, ...);int execle(const char * pathname, char * arg0, ...);volatile void exit(int status);volatile void _exit(int status);int fcntl(int fildes, int cmd, ...);int fork(void);int getpid(void);int getuid(void);int geteuid(void);int getgid(void);int getegid(void);int ioctl(int fildes, int cmd, ...);int kill(pid_t pid, int signal);int link(const char * filename1, const char * filename2);int lseek(int fildes, off_t offset, int origin);int mknod(const char * filename, mode_t mode, dev_t dev);int mount(const char * specialfile, const char * dir, int rwflag);int nice(int val);int open(const char * filename, int flag, ...);int pause(void);int pipe(int * fildes);int read(int fildes, char * buf, off_t count);int setpgrp(void);int setpgid(pid_t pid,pid_t pgid);int setuid(uid_t uid);int setgid(gid_t gid);void (*signal(int sig, void (*fn)(int)))(int);int stat(const char * filename, struct stat * stat_buf);int fstat(int fildes, struct stat * stat_buf);int stime(time_t * tptr);int sync(void);time_t time(time_t * tloc);time_t times(struct tms * tbuf);int ulimit(int cmd, long limit);mode_t umask(mode_t mask);int umount(const char * specialfile);int uname(struct utsname * name);int unlink(const char * filename);int ustat(dev_t dev, struct ustat * ubuf);int utime(const char * filename, struct utimbuf * times);pid_t waitpid(pid_t pid,int * wait_stat,int options);pid_t wait(int * wait_stat);int write(int fildes, const char * buf, off_t count);int dup2(int oldfd, int newfd);int getppid(void);pid_t getpgrp(void);pid_t setsid(void);int  MP(const char * buf,...);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -