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

📄 unistd.h

📁 嵌入式系统设计与实例开发实验教材二源码 多线程应用程序设计 串行端口程序设计 AD接口实验 CAN总线通信实验 GPS通信实验 Linux内核移植与编译实验 IC卡读写实验 SD驱动使
💻 H
📖 第 1 页 / 共 3 页
字号:
#define __NR_getcwd             (__NR_Linux + 110)#define __NR_vhangup            (__NR_Linux + 111)#define __NR_idle               (__NR_Linux + 112)#define __NR_vfork              (__NR_Linux + 113)#define __NR_wait4              (__NR_Linux + 114)#define __NR_swapoff            (__NR_Linux + 115)#define __NR_sysinfo            (__NR_Linux + 116)#define __NR_shutdown           (__NR_Linux + 117)#define __NR_fsync              (__NR_Linux + 118)#define __NR_madvise            (__NR_Linux + 119)#define __NR_clone              (__NR_Linux + 120)#define __NR_setdomainname      (__NR_Linux + 121)#define __NR_sendfile           (__NR_Linux + 122)#define __NR_recvfrom           (__NR_Linux + 123)#define __NR_adjtimex           (__NR_Linux + 124)#define __NR_mprotect           (__NR_Linux + 125)#define __NR_sigprocmask        (__NR_Linux + 126)#define __NR_create_module      (__NR_Linux + 127)#define __NR_init_module        (__NR_Linux + 128)#define __NR_delete_module      (__NR_Linux + 129)#define __NR_get_kernel_syms    (__NR_Linux + 130)#define __NR_quotactl           (__NR_Linux + 131)#define __NR_getpgid            (__NR_Linux + 132)#define __NR_fchdir             (__NR_Linux + 133)#define __NR_bdflush            (__NR_Linux + 134)#define __NR_sysfs              (__NR_Linux + 135)#define __NR_personality        (__NR_Linux + 136)#define __NR_afs_syscall        (__NR_Linux + 137) /* Syscall for Andrew File System */#define __NR_setfsuid           (__NR_Linux + 138)#define __NR_setfsgid           (__NR_Linux + 139)#define __NR__llseek            (__NR_Linux + 140)#define __NR_getdents           (__NR_Linux + 141)#define __NR__newselect         (__NR_Linux + 142)#define __NR_flock              (__NR_Linux + 143)#define __NR_msync              (__NR_Linux + 144)#define __NR_readv              (__NR_Linux + 145)#define __NR_writev             (__NR_Linux + 146)#define __NR_getsid             (__NR_Linux + 147)#define __NR_fdatasync          (__NR_Linux + 148)#define __NR__sysctl            (__NR_Linux + 149)#define __NR_mlock              (__NR_Linux + 150)#define __NR_munlock            (__NR_Linux + 151)#define __NR_mlockall           (__NR_Linux + 152)#define __NR_munlockall         (__NR_Linux + 153)#define __NR_sched_setparam             (__NR_Linux + 154)#define __NR_sched_getparam             (__NR_Linux + 155)#define __NR_sched_setscheduler         (__NR_Linux + 156)#define __NR_sched_getscheduler         (__NR_Linux + 157)#define __NR_sched_yield                (__NR_Linux + 158)#define __NR_sched_get_priority_max     (__NR_Linux + 159)#define __NR_sched_get_priority_min     (__NR_Linux + 160)#define __NR_sched_rr_get_interval      (__NR_Linux + 161)#define __NR_nanosleep          (__NR_Linux + 162)#define __NR_mremap             (__NR_Linux + 163)#define __NR_setresuid          (__NR_Linux + 164)#define __NR_getresuid          (__NR_Linux + 165)#define __NR_sigaltstack        (__NR_Linux + 166)#define __NR_query_module       (__NR_Linux + 167)#define __NR_poll               (__NR_Linux + 168)#define __NR_nfsservctl         (__NR_Linux + 169)#define __NR_setresgid          (__NR_Linux + 170)#define __NR_getresgid          (__NR_Linux + 171)#define __NR_prctl              (__NR_Linux + 172)#define __NR_rt_sigreturn       (__NR_Linux + 173)#define __NR_rt_sigaction       (__NR_Linux + 174)#define __NR_rt_sigprocmask     (__NR_Linux + 175)#define __NR_rt_sigpending      (__NR_Linux + 176)#define __NR_rt_sigtimedwait    (__NR_Linux + 177)#define __NR_rt_sigqueueinfo    (__NR_Linux + 178)#define __NR_rt_sigsuspend      (__NR_Linux + 179)#define __NR_chown              (__NR_Linux + 180)#define __NR_setsockopt         (__NR_Linux + 181)#define __NR_getsockopt         (__NR_Linux + 182)#define __NR_sendmsg            (__NR_Linux + 183)#define __NR_recvmsg            (__NR_Linux + 184)#define __NR_semop              (__NR_Linux + 185)#define __NR_semget             (__NR_Linux + 186)#define __NR_semctl             (__NR_Linux + 187)#define __NR_msgsnd             (__NR_Linux + 188)#define __NR_msgrcv             (__NR_Linux + 189)#define __NR_msgget             (__NR_Linux + 190)#define __NR_msgctl             (__NR_Linux + 191)#define __NR_shmat              (__NR_Linux + 192)#define __NR_shmdt              (__NR_Linux + 193)#define __NR_shmget             (__NR_Linux + 194)#define __NR_shmctl             (__NR_Linux + 195)#define __NR_getpmsg            (__NR_Linux + 196)      /* some people actually want streams */#define __NR_putpmsg            (__NR_Linux + 197)      /* some people actually want streams */#define __NR_Linux_syscalls     197#define HPUX_GATEWAY_ADDR       0xC0000004#define LINUX_GATEWAY_ADDR      0x100#define LINUX_GATEWAY_STR       "0x100"/* The old syscall code here didn't work, and it looks like it's only used * by applications such as fdisk which for some reason need to produce * their own syscall instead of using same from libc.  The code below * is leveraged from glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h where * it is essentially duplicated -- which sucks.  -PB */#define SYS_ify(syscall_name)   __NR_##syscall_name/* The system call number MUST ALWAYS be loaded in the delay slot of   the ble instruction, or restarting system calls WILL NOT WORK.  See   arch/parisc/kernel/signal.c - dhd, 2000-07-26 */#define K_INLINE_SYSCALL(name, nr, args...)       ({              \        unsigned long __sys_res;                                \        {                                                       \                register unsigned long __res asm("r28");        \                K_LOAD_ARGS_##nr(args)                            \                asm volatile(                                   \			"ble  0x100(%%sr2, %%r0)\n\t"           \                        " ldi %1, %%r20"                        \                        : "=r" (__res)                          \                        : "i" (SYS_ify(name)) K_ASM_ARGS_##nr   \			  );                                    \                __sys_res = __res;                              \        }                                                       \        if (__sys_res >= (unsigned long)-4095) {                \		errno = -__sys_res;				\                __sys_res == (unsigned long)-1;                 \        }                                                       \        __sys_res;                                              \})#define K_LOAD_ARGS_0()#define K_LOAD_ARGS_1(r26)                                        \        register unsigned long __r26 __asm__("r26") = (unsigned long)r26;       \        K_LOAD_ARGS_0()#define K_LOAD_ARGS_2(r26,r25)                                    \        register unsigned long __r25 __asm__("r25") = (unsigned long)r25;       \        K_LOAD_ARGS_1(r26)#define K_LOAD_ARGS_3(r26,r25,r24)                                \        register unsigned long __r24 __asm__("r24") = (unsigned long)r24;       \        K_LOAD_ARGS_2(r26,r25)#define K_LOAD_ARGS_4(r26,r25,r24,r23)                            \        register unsigned long __r23 __asm__("r23") = (unsigned long)r23;       \        K_LOAD_ARGS_3(r26,r25,r24)#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22)                        \        register unsigned long __r22 __asm__("r22") = (unsigned long)r22;       \        K_LOAD_ARGS_4(r26,r25,r24,r23)#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21)                    \        register unsigned long __r21 __asm__("r21") = (unsigned long)r21;       \        K_LOAD_ARGS_5(r26,r25,r24,r23,r22)#define K_ASM_ARGS_0#define K_ASM_ARGS_1 , "r" (__r26)#define K_ASM_ARGS_2 , "r" (__r26), "r" (__r25)#define K_ASM_ARGS_3 , "r" (__r26), "r" (__r25), "r" (__r24)#define K_ASM_ARGS_4 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23)#define K_ASM_ARGS_5 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22)#define K_ASM_ARGS_6 , "r" (__r26), "r" (__r25), "r" (__r24), "r" (__r23), "r" (__r22), "r" (__r21)#define _syscall0(type,name)						      \type name(void)								      \{									      \    return K_INLINE_SYSCALL(name, 0);	\}#define _syscall1(type,name,type1,arg1)					      \type name(type1 arg1)							      \{									      \    return K_INLINE_SYSCALL(name, 1, arg1);	\}#define _syscall2(type,name,type1,arg1,type2,arg2)			      \type name(type1 arg1, type2 arg2)					      \{									      \    return K_INLINE_SYSCALL(name, 2, arg1, arg2);	\}#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3)		      \type name(type1 arg1, type2 arg2, type3 arg3)				      \{									      \    return K_INLINE_SYSCALL(name, 3, arg1, arg2, arg3);	\}#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4)      \type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4)		      \{									      \    return K_INLINE_SYSCALL(name, 4, arg1, arg2, arg3, arg4);	\}/* select takes 5 arguments */#define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5)	\{									\    return K_INLINE_SYSCALL(name, 5, arg1, arg2, arg3, arg4, arg5);	\}/* mmap takes 6 arguments */#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5,type6,arg6) \type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6) \{									\    return K_INLINE_SYSCALL(name, 6, arg1, arg2, arg3, arg4, arg5, arg6);	\}#ifdef __KERNEL_SYSCALLS__static inline int idle(void){	extern int sys_idle(void);	return sys_idle();}static inline int pause(void){	extern int sys_pause(void);	return sys_pause();}static inline int sync(void){	extern int sys_sync(void);	return sys_sync();}static inline pid_t setsid(void){	extern int sys_setsid(void);	return sys_setsid();}static inline int write(int fd, const char *buf, off_t count){	extern int sys_write(int, const char *, int);	return sys_write(fd, buf, count);}static inline int read(int fd, char *buf, off_t count){	extern int sys_read(int, char *, int);	return sys_read(fd, buf, count);}static inline off_t lseek(int fd, off_t offset, int count){	extern off_t sys_lseek(int, off_t, int);	return sys_lseek(fd, offset, count);}static inline int dup(int fd){	extern int sys_dup(int);	return sys_dup(fd);}static inline int open(const char *file, int flag, int mode){	extern long sys_open(const char *, int, int);	return sys_open(file, flag, mode);}static inline int close(int fd){	return sys_close(fd);}static inline int _exit(int exitcode){	extern int sys_exit(int) __attribute__((noreturn));	return sys_exit(exitcode);}static inline pid_t waitpid(pid_t pid, int *wait_stat, int options){	extern int sys_wait4(int, int *, int, struct rusage *);	return sys_wait4((int)pid, wait_stat, options, NULL);}static inline int delete_module(const char *name){	extern int sys_delete_module(const char *name);	return sys_delete_module(name);}static inline pid_t wait(int * wait_stat){	extern int sys_wait4(int, int *, int, struct rusage *);	return sys_wait4(-1, wait_stat, 0, NULL);}static inline int execve(char *filename, char * argv [],	char * envp[]){	extern int __execve(char *, char **, char **, struct task_struct *);	return __execve(filename, argv, envp, current);}#endif#undef STR#endif /* _ASM_PARISC_UNISTD_H_ */

⌨️ 快捷键说明

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