Revision 74aa0429
b/linux-user/ppc64/syscall.h | ||
---|---|---|
1 |
/* |
|
2 |
* PPC emulation for qemu: syscall definitions. |
|
3 |
* |
|
4 |
* Copyright (c) 2003 Jocelyn Mayer |
|
5 |
* |
|
6 |
* This library is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU Lesser General Public |
|
8 |
* License as published by the Free Software Foundation; either |
|
9 |
* version 2 of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This library is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
14 |
* Lesser General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU Lesser General Public |
|
17 |
* License along with this library; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
19 |
*/ |
|
20 |
|
|
21 |
/* XXX: ABSOLUTELY BUGGY: |
|
22 |
* for now, this is quite just a cut-and-paste from i386 target... |
|
23 |
*/ |
|
24 |
|
|
25 |
/* default linux values for the selectors */ |
|
26 |
#define __USER_DS (1) |
|
27 |
|
|
28 |
struct target_pt_regs { |
|
29 |
unsigned long gpr[32]; |
|
30 |
unsigned long nip; |
|
31 |
unsigned long msr; |
|
32 |
unsigned long orig_gpr3; /* Used for restarting system calls */ |
|
33 |
unsigned long ctr; |
|
34 |
unsigned long link; |
|
35 |
unsigned long xer; |
|
36 |
unsigned long ccr; |
|
37 |
unsigned long mq; /* 601 only (not used at present) */ |
|
38 |
/* Used on APUS to hold IPL value. */ |
|
39 |
unsigned long trap; /* Reason for being here */ |
|
40 |
unsigned long dar; /* Fault registers */ |
|
41 |
unsigned long dsisr; |
|
42 |
unsigned long result; /* Result of a system call */ |
|
43 |
}; |
|
44 |
|
|
45 |
/* ioctls */ |
|
46 |
struct target_revectored_struct { |
|
47 |
target_ulong __map[8]; /* 256 bits */ |
|
48 |
}; |
|
49 |
|
|
50 |
/* |
|
51 |
* flags masks |
|
52 |
*/ |
|
53 |
|
|
54 |
/* ipcs */ |
|
55 |
|
|
56 |
#define TARGET_SEMOP 1 |
|
57 |
#define TARGET_SEMGET 2 |
|
58 |
#define TARGET_SEMCTL 3 |
|
59 |
#define TARGET_MSGSND 11 |
|
60 |
#define TARGET_MSGRCV 12 |
|
61 |
#define TARGET_MSGGET 13 |
|
62 |
#define TARGET_MSGCTL 14 |
|
63 |
#define TARGET_SHMAT 21 |
|
64 |
#define TARGET_SHMDT 22 |
|
65 |
#define TARGET_SHMGET 23 |
|
66 |
#define TARGET_SHMCTL 24 |
|
67 |
|
|
68 |
struct target_msgbuf { |
|
69 |
int mtype; |
|
70 |
char mtext[1]; |
|
71 |
}; |
|
72 |
|
|
73 |
struct target_ipc_kludge { |
|
74 |
unsigned int msgp; /* Really (struct msgbuf *) */ |
|
75 |
int msgtyp; |
|
76 |
}; |
|
77 |
|
|
78 |
struct target_ipc_perm { |
|
79 |
int key; |
|
80 |
unsigned short uid; |
|
81 |
unsigned short gid; |
|
82 |
unsigned short cuid; |
|
83 |
unsigned short cgid; |
|
84 |
unsigned short mode; |
|
85 |
unsigned short seq; |
|
86 |
}; |
|
87 |
|
|
88 |
struct target_msqid_ds { |
|
89 |
struct target_ipc_perm msg_perm; |
|
90 |
unsigned int msg_first; /* really struct target_msg* */ |
|
91 |
unsigned int msg_last; /* really struct target_msg* */ |
|
92 |
unsigned int msg_stime; /* really target_time_t */ |
|
93 |
unsigned int msg_rtime; /* really target_time_t */ |
|
94 |
unsigned int msg_ctime; /* really target_time_t */ |
|
95 |
unsigned int wwait; /* really struct wait_queue* */ |
|
96 |
unsigned int rwait; /* really struct wait_queue* */ |
|
97 |
unsigned short msg_cbytes; |
|
98 |
unsigned short msg_qnum; |
|
99 |
unsigned short msg_qbytes; |
|
100 |
unsigned short msg_lspid; |
|
101 |
unsigned short msg_lrpid; |
|
102 |
}; |
|
103 |
|
|
104 |
struct target_shmid_ds { |
|
105 |
struct target_ipc_perm shm_perm; |
|
106 |
int shm_segsz; |
|
107 |
unsigned int shm_atime; /* really target_time_t */ |
|
108 |
unsigned int shm_dtime; /* really target_time_t */ |
|
109 |
unsigned int shm_ctime; /* really target_time_t */ |
|
110 |
unsigned short shm_cpid; |
|
111 |
unsigned short shm_lpid; |
|
112 |
short shm_nattch; |
|
113 |
unsigned short shm_npages; |
|
114 |
unsigned long *shm_pages; |
|
115 |
void *attaches; /* really struct shm_desc * */ |
|
116 |
}; |
|
117 |
|
|
118 |
#define TARGET_IPC_RMID 0 |
|
119 |
#define TARGET_IPC_SET 1 |
|
120 |
#define TARGET_IPC_STAT 2 |
|
121 |
|
|
122 |
union target_semun { |
|
123 |
int val; |
|
124 |
unsigned int buf; /* really struct semid_ds * */ |
|
125 |
unsigned int array; /* really unsigned short * */ |
|
126 |
unsigned int __buf; /* really struct seminfo * */ |
|
127 |
unsigned int __pad; /* really void* */ |
|
128 |
}; |
|
129 |
|
|
130 |
#define UNAME_MACHINE "ppc" |
b/linux-user/ppc64/syscall_nr.h | ||
---|---|---|
1 |
/* |
|
2 |
* This file contains the system call numbers. |
|
3 |
*/ |
|
4 |
#define TARGET_NR_restart_syscall 0 |
|
5 |
#define TARGET_NR_exit 1 |
|
6 |
#define TARGET_NR_fork 2 |
|
7 |
#define TARGET_NR_read 3 |
|
8 |
#define TARGET_NR_write 4 |
|
9 |
#define TARGET_NR_open 5 |
|
10 |
#define TARGET_NR_close 6 |
|
11 |
#define TARGET_NR_waitpid 7 |
|
12 |
#define TARGET_NR_creat 8 |
|
13 |
#define TARGET_NR_link 9 |
|
14 |
#define TARGET_NR_unlink 10 |
|
15 |
#define TARGET_NR_execve 11 |
|
16 |
#define TARGET_NR_chdir 12 |
|
17 |
#define TARGET_NR_time 13 |
|
18 |
#define TARGET_NR_mknod 14 |
|
19 |
#define TARGET_NR_chmod 15 |
|
20 |
#define TARGET_NR_lchown32 16 |
|
21 |
#define TARGET_NR_break 17 |
|
22 |
#define TARGET_NR_oldstat 18 |
|
23 |
#define TARGET_NR_lseek 19 |
|
24 |
#define TARGET_NR_getpid 20 |
|
25 |
#define TARGET_NR_mount 21 |
|
26 |
#define TARGET_NR_umount 22 |
|
27 |
#define TARGET_NR_setuid32 23 |
|
28 |
#define TARGET_NR_getuid32 24 |
|
29 |
#define TARGET_NR_stime 25 |
|
30 |
#define TARGET_NR_ptrace 26 |
|
31 |
#define TARGET_NR_alarm 27 |
|
32 |
#define TARGET_NR_oldfstat 28 |
|
33 |
#define TARGET_NR_pause 29 |
|
34 |
#define TARGET_NR_utime 30 |
|
35 |
#define TARGET_NR_stty 31 |
|
36 |
#define TARGET_NR_gtty 32 |
|
37 |
#define TARGET_NR_access 33 |
|
38 |
#define TARGET_NR_nice 34 |
|
39 |
#define TARGET_NR_ftime 35 |
|
40 |
#define TARGET_NR_sync 36 |
|
41 |
#define TARGET_NR_kill 37 |
|
42 |
#define TARGET_NR_rename 38 |
|
43 |
#define TARGET_NR_mkdir 39 |
|
44 |
#define TARGET_NR_rmdir 40 |
|
45 |
#define TARGET_NR_dup 41 |
|
46 |
#define TARGET_NR_pipe 42 |
|
47 |
#define TARGET_NR_times 43 |
|
48 |
#define TARGET_NR_prof 44 |
|
49 |
#define TARGET_NR_brk 45 |
|
50 |
#define TARGET_NR_setgid32 46 |
|
51 |
#define TARGET_NR_getgid32 47 |
|
52 |
#define TARGET_NR_signal 48 |
|
53 |
#define TARGET_NR_geteuid32 49 |
|
54 |
#define TARGET_NR_getegid32 50 |
|
55 |
#define TARGET_NR_acct 51 |
|
56 |
#define TARGET_NR_umount2 52 |
|
57 |
#define TARGET_NR_lock 53 |
|
58 |
#define TARGET_NR_ioctl 54 |
|
59 |
#define TARGET_NR_fcntl 55 |
|
60 |
#define TARGET_NR_mpx 56 |
|
61 |
#define TARGET_NR_setpgid 57 |
|
62 |
#define TARGET_NR_ulimit 58 |
|
63 |
#define TARGET_NR_oldolduname 59 |
|
64 |
#define TARGET_NR_umask 60 |
|
65 |
#define TARGET_NR_chroot 61 |
|
66 |
#define TARGET_NR_ustat 62 |
|
67 |
#define TARGET_NR_dup2 63 |
|
68 |
#define TARGET_NR_getppid 64 |
|
69 |
#define TARGET_NR_getpgrp 65 |
|
70 |
#define TARGET_NR_setsid 66 |
|
71 |
#define TARGET_NR_sigaction 67 |
|
72 |
#define TARGET_NR_sgetmask 68 |
|
73 |
#define TARGET_NR_ssetmask 69 |
|
74 |
#define TARGET_NR_setreuid32 70 |
|
75 |
#define TARGET_NR_setregid32 71 |
|
76 |
#define TARGET_NR_sigsuspend 72 |
|
77 |
#define TARGET_NR_sigpending 73 |
|
78 |
#define TARGET_NR_sethostname 74 |
|
79 |
#define TARGET_NR_setrlimit 75 |
|
80 |
#define TARGET_NR_getrlimit 76 |
|
81 |
#define TARGET_NR_getrusage 77 |
|
82 |
#define TARGET_NR_gettimeofday 78 |
|
83 |
#define TARGET_NR_settimeofday 79 |
|
84 |
#define TARGET_NR_getgroups32 80 |
|
85 |
#define TARGET_NR_setgroups32 81 |
|
86 |
#define TARGET_NR_select 82 |
|
87 |
#define TARGET_NR_symlink 83 |
|
88 |
#define TARGET_NR_oldlstat 84 |
|
89 |
#define TARGET_NR_readlink 85 |
|
90 |
#define TARGET_NR_uselib 86 |
|
91 |
#define TARGET_NR_swapon 87 |
|
92 |
#define TARGET_NR_reboot 88 |
|
93 |
#define TARGET_NR_readdir 89 |
|
94 |
#define TARGET_NR_mmap 90 |
|
95 |
#define TARGET_NR_munmap 91 |
|
96 |
#define TARGET_NR_truncate 92 |
|
97 |
#define TARGET_NR_ftruncate 93 |
|
98 |
#define TARGET_NR_fchmod 94 |
|
99 |
#define TARGET_NR_fchown32 95 |
|
100 |
#define TARGET_NR_getpriority 96 |
|
101 |
#define TARGET_NR_setpriority 97 |
|
102 |
#define TARGET_NR_profil 98 |
|
103 |
#define TARGET_NR_statfs 99 |
|
104 |
#define TARGET_NR_fstatfs 100 |
|
105 |
#define TARGET_NR_ioperm 101 |
|
106 |
#define TARGET_NR_socketcall 102 |
|
107 |
#define TARGET_NR_syslog 103 |
|
108 |
#define TARGET_NR_setitimer 104 |
|
109 |
#define TARGET_NR_getitimer 105 |
|
110 |
#define TARGET_NR_stat 106 |
|
111 |
#define TARGET_NR_lstat 107 |
|
112 |
#define TARGET_NR_fstat 108 |
|
113 |
#define TARGET_NR_olduname 109 |
|
114 |
#define TARGET_NR_iopl 110 |
|
115 |
#define TARGET_NR_vhangup 111 |
|
116 |
#define TARGET_NR_idle 112 |
|
117 |
#define TARGET_NR_vm86 113 |
|
118 |
#define TARGET_NR_wait4 114 |
|
119 |
#define TARGET_NR_swapoff 115 |
|
120 |
#define TARGET_NR_sysinfo 116 |
|
121 |
#define TARGET_NR_ipc 117 |
|
122 |
#define TARGET_NR_fsync 118 |
|
123 |
#define TARGET_NR_sigreturn 119 |
|
124 |
#define TARGET_NR_clone 120 |
|
125 |
#define TARGET_NR_setdomainname 121 |
|
126 |
#define TARGET_NR_uname 122 |
|
127 |
#define TARGET_NR_modify_ldt 123 |
|
128 |
#define TARGET_NR_adjtimex 124 |
|
129 |
#define TARGET_NR_mprotect 125 |
|
130 |
#define TARGET_NR_sigprocmask 126 |
|
131 |
#define TARGET_NR_create_module 127 |
|
132 |
#define TARGET_NR_init_module 128 |
|
133 |
#define TARGET_NR_delete_module 129 |
|
134 |
#define TARGET_NR_get_kernel_syms 130 |
|
135 |
#define TARGET_NR_quotactl 131 |
|
136 |
#define TARGET_NR_getpgid 132 |
|
137 |
#define TARGET_NR_fchdir 133 |
|
138 |
#define TARGET_NR_bdflush 134 |
|
139 |
#define TARGET_NR_sysfs 135 |
|
140 |
#define TARGET_NR_personality 136 |
|
141 |
#define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */ |
|
142 |
#define TARGET_NR_setfsuid32 138 |
|
143 |
#define TARGET_NR_setfsgid32 139 |
|
144 |
#define TARGET_NR__llseek 140 |
|
145 |
#define TARGET_NR_getdents 141 |
|
146 |
#define TARGET_NR__newselect 142 |
|
147 |
#define TARGET_NR_flock 143 |
|
148 |
#define TARGET_NR_msync 144 |
|
149 |
#define TARGET_NR_readv 145 |
|
150 |
#define TARGET_NR_writev 146 |
|
151 |
#define TARGET_NR_getsid 147 |
|
152 |
#define TARGET_NR_fdatasync 148 |
|
153 |
#define TARGET_NR__sysctl 149 |
|
154 |
#define TARGET_NR_mlock 150 |
|
155 |
#define TARGET_NR_munlock 151 |
|
156 |
#define TARGET_NR_mlockall 152 |
|
157 |
#define TARGET_NR_munlockall 153 |
|
158 |
#define TARGET_NR_sched_setparam 154 |
|
159 |
#define TARGET_NR_sched_getparam 155 |
|
160 |
#define TARGET_NR_sched_setscheduler 156 |
|
161 |
#define TARGET_NR_sched_getscheduler 157 |
|
162 |
#define TARGET_NR_sched_yield 158 |
|
163 |
#define TARGET_NR_sched_get_priority_max 159 |
|
164 |
#define TARGET_NR_sched_get_priority_min 160 |
|
165 |
#define TARGET_NR_sched_rr_get_interval 161 |
|
166 |
#define TARGET_NR_nanosleep 162 |
|
167 |
#define TARGET_NR_mremap 163 |
|
168 |
#define TARGET_NR_setresuid32 164 |
|
169 |
#define TARGET_NR_getresuid32 165 |
|
170 |
#define TARGET_NR_query_module 166 |
|
171 |
#define TARGET_NR_poll 167 |
|
172 |
#define TARGET_NR_nfsservctl 168 |
|
173 |
#define TARGET_NR_setresgid32 169 |
|
174 |
#define TARGET_NR_getresgid32 170 |
|
175 |
#define TARGET_NR_prctl 171 |
|
176 |
#define TARGET_NR_rt_sigreturn 172 |
|
177 |
#define TARGET_NR_rt_sigaction 173 |
|
178 |
#define TARGET_NR_rt_sigprocmask 174 |
|
179 |
#define TARGET_NR_rt_sigpending 175 |
|
180 |
#define TARGET_NR_rt_sigtimedwait 176 |
|
181 |
#define TARGET_NR_rt_sigqueueinfo 177 |
|
182 |
#define TARGET_NR_rt_sigsuspend 178 |
|
183 |
#define TARGET_NR_pread64 179 |
|
184 |
#define TARGET_NR_pwrite64 180 |
|
185 |
#define TARGET_NR_chown32 181 |
|
186 |
#define TARGET_NR_getcwd 182 |
|
187 |
#define TARGET_NR_capget 183 |
|
188 |
#define TARGET_NR_capset 184 |
|
189 |
#define TARGET_NR_sigaltstack 185 |
|
190 |
#define TARGET_NR_sendfile 186 |
|
191 |
#define TARGET_NR_getpmsg 187 /* some people actually want streams */ |
|
192 |
#define TARGET_NR_putpmsg 188 /* some people actually want streams */ |
|
193 |
#define TARGET_NR_vfork 189 |
|
194 |
#define TARGET_NR_ugetrlimit 190 /* SuS compliant getrlimit */ |
|
195 |
#define TARGET_NR_readahead 191 |
|
196 |
#define TARGET_NR_mmap2 192 |
|
197 |
#define TARGET_NR_truncate64 193 |
|
198 |
#define TARGET_NR_ftruncate64 194 |
|
199 |
#define TARGET_NR_stat64 195 |
|
200 |
#define TARGET_NR_lstat64 196 |
|
201 |
#define TARGET_NR_fstat64 197 |
|
202 |
#define TARGET_NR_pciconfig_read 198 |
|
203 |
#define TARGET_NR_pciconfig_write 199 |
|
204 |
#define TARGET_NR_pciconfig_iobase 200 |
|
205 |
#define TARGET_NR_multiplexer 201 |
|
206 |
#define TARGET_NR_getdents64 202 |
|
207 |
#define TARGET_NR_pivot_root 203 |
|
208 |
#define TARGET_NR_fcntl64 204 |
|
209 |
#define TARGET_NR_madvise 205 |
|
210 |
#define TARGET_NR_mincore 206 |
|
211 |
#define TARGET_NR_gettid 207 |
|
212 |
#define TARGET_NR_tkill 208 |
|
213 |
#define TARGET_NR_setxattr 209 |
|
214 |
#define TARGET_NR_lsetxattr 210 |
|
215 |
#define TARGET_NR_fsetxattr 211 |
|
216 |
#define TARGET_NR_getxattr 212 |
|
217 |
#define TARGET_NR_lgetxattr 213 |
|
218 |
#define TARGET_NR_fgetxattr 214 |
|
219 |
#define TARGET_NR_listxattr 215 |
|
220 |
#define TARGET_NR_llistxattr 216 |
|
221 |
#define TARGET_NR_flistxattr 217 |
|
222 |
#define TARGET_NR_removexattr 218 |
|
223 |
#define TARGET_NR_lremovexattr 219 |
|
224 |
#define TARGET_NR_fremovexattr 220 |
|
225 |
#define TARGET_NR_futex 221 |
|
226 |
#define TARGET_NR_sched_setaffinity 222 |
|
227 |
#define TARGET_NR_sched_getaffinity 223 |
|
228 |
/* 224 currently unused */ |
|
229 |
#define TARGET_NR_tuxcall 225 |
|
230 |
#define TARGET_NR_sendfile64 226 |
|
231 |
#define TARGET_NR_io_setup 227 |
|
232 |
#define TARGET_NR_io_destroy 228 |
|
233 |
#define TARGET_NR_io_getevents 229 |
|
234 |
#define TARGET_NR_io_submit 230 |
|
235 |
#define TARGET_NR_io_cancel 231 |
|
236 |
#define TARGET_NR_set_tid_address 232 |
|
237 |
#define TARGET_NR_fadvise64 233 |
|
238 |
#define TARGET_NR_exit_group 234 |
|
239 |
#define TARGET_NR_lookup_dcookie 235 |
|
240 |
#define TARGET_NR_epoll_create 236 |
|
241 |
#define TARGET_NR_epoll_ctl 237 |
|
242 |
#define TARGET_NR_epoll_wait 238 |
|
243 |
#define TARGET_NR_remap_file_pages 239 |
|
244 |
#define TARGET_NR_timer_create 240 |
|
245 |
#define TARGET_NR_timer_settime 241 |
|
246 |
#define TARGET_NR_timer_gettime 242 |
|
247 |
#define TARGET_NR_timer_getoverrun 243 |
|
248 |
#define TARGET_NR_timer_delete 244 |
|
249 |
#define TARGET_NR_clock_settime 245 |
|
250 |
#define TARGET_NR_clock_gettime 246 |
|
251 |
#define TARGET_NR_clock_getres 247 |
|
252 |
#define TARGET_NR_clock_nanosleep 248 |
|
253 |
#define TARGET_NR_swapcontext 249 |
|
254 |
#define TARGET_NR_tgkill 250 |
|
255 |
#define TARGET_NR_utimes 251 |
|
256 |
#define TARGET_NR_statfs64 252 |
|
257 |
#define TARGET_NR_fstatfs64 253 |
|
258 |
#define TARGET_NR_fadvise64_64 254 |
b/linux-user/ppc64/termbits.h | ||
---|---|---|
1 |
/* from asm/termbits.h */ |
|
2 |
|
|
3 |
#define TARGET_NCCS 19 |
|
4 |
|
|
5 |
struct target_termios { |
|
6 |
unsigned int c_iflag; /* input mode flags */ |
|
7 |
unsigned int c_oflag; /* output mode flags */ |
|
8 |
unsigned int c_cflag; /* control mode flags */ |
|
9 |
unsigned int c_lflag; /* local mode flags */ |
|
10 |
unsigned char c_line; /* line discipline */ |
|
11 |
unsigned char c_cc[TARGET_NCCS]; /* control characters */ |
|
12 |
unsigned int c_ispeed; /* input speed */ |
|
13 |
unsigned int c_ospeed; /* output speed */ |
|
14 |
}; |
|
15 |
|
|
16 |
/* c_cc character offsets */ |
|
17 |
#define TARGET_VINTR 0 |
|
18 |
#define TARGET_VQUIT 1 |
|
19 |
#define TARGET_VERASE 2 |
|
20 |
#define TARGET_VKILL 3 |
|
21 |
#define TARGET_VEOF 4 |
|
22 |
#define TARGET_VMIN 5 |
|
23 |
#define TARGET_VEOL 6 |
|
24 |
#define TARGET_VTIME 7 |
|
25 |
#define TARGET_VEOL2 8 |
|
26 |
#define TARGET_VSWTC 9 |
|
27 |
|
|
28 |
#define TARGET_VWERASE 10 |
|
29 |
#define TARGET_VREPRINT 11 |
|
30 |
#define TARGET_VSUSP 12 |
|
31 |
#define TARGET_VSTART 13 |
|
32 |
#define TARGET_VSTOP 14 |
|
33 |
#define TARGET_VLNEXT 15 |
|
34 |
#define TARGET_VDISCARD 16 |
|
35 |
|
|
36 |
#define TARGET_IGNBRK 0000001 |
|
37 |
#define TARGET_BRKINT 0000002 |
|
38 |
#define TARGET_IGNPAR 0000004 |
|
39 |
#define TARGET_PARMRK 0000010 |
|
40 |
#define TARGET_INPCK 0000020 |
|
41 |
#define TARGET_ISTRIP 0000040 |
|
42 |
#define TARGET_INLCR 0000100 |
|
43 |
#define TARGET_IGNCR 0000200 |
|
44 |
#define TARGET_ICRNL 0000400 |
|
45 |
#define TARGET_IXON 0001000 |
|
46 |
#define TARGET_IXOFF 0002000 |
|
47 |
#define TARGET_IXANY 0004000 |
|
48 |
#define TARGET_IUCLC 0010000 |
|
49 |
#define TARGET_IMAXBEL 0020000 |
|
50 |
|
|
51 |
/* c_oflag bits */ |
|
52 |
#define TARGET_OPOST 0000001 |
|
53 |
#define TARGET_ONLCR 0000002 |
|
54 |
#define TARGET_OLCUC 0000004 |
|
55 |
|
|
56 |
#define TARGET_OCRNL 0000010 |
|
57 |
#define TARGET_ONOCR 0000020 |
|
58 |
#define TARGET_ONLRET 0000040 |
|
59 |
|
|
60 |
#define TARGET_OFILL 00000100 |
|
61 |
#define TARGET_OFDEL 00000200 |
|
62 |
#define TARGET_NLDLY 00001400 |
|
63 |
#define TARGET_NL0 00000000 |
|
64 |
#define TARGET_NL1 00000400 |
|
65 |
#define TARGET_NL2 00001000 |
|
66 |
#define TARGET_NL3 00001400 |
|
67 |
#define TARGET_TABDLY 00006000 |
|
68 |
#define TARGET_TAB0 00000000 |
|
69 |
#define TARGET_TAB1 00002000 |
|
70 |
#define TARGET_TAB2 00004000 |
|
71 |
#define TARGET_TAB3 00006000 |
|
72 |
#define TARGET_CRDLY 00030000 |
|
73 |
#define TARGET_CR0 00000000 |
|
74 |
#define TARGET_CR1 00010000 |
|
75 |
#define TARGET_CR2 00020000 |
|
76 |
#define TARGET_CR3 00030000 |
|
77 |
#define TARGET_FFDLY 00040000 |
|
78 |
#define TARGET_FF0 00000000 |
|
79 |
#define TARGET_FF1 00040000 |
|
80 |
#define TARGET_BSDLY 00100000 |
|
81 |
#define TARGET_BS0 00000000 |
|
82 |
#define TARGET_BS1 00100000 |
|
83 |
#define TARGET_VTDLY 00200000 |
|
84 |
#define TARGET_VT0 00000000 |
|
85 |
#define TARGET_VT1 00200000 |
|
86 |
#define TARGET_XTABS 01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */ |
|
87 |
|
|
88 |
/* c_cflag bit meaning */ |
|
89 |
#define TARGET_CBAUD 0000377 |
|
90 |
#define TARGET_B0 0000000 /* hang up */ |
|
91 |
#define TARGET_B50 0000001 |
|
92 |
#define TARGET_B75 0000002 |
|
93 |
#define TARGET_B110 0000003 |
|
94 |
#define TARGET_B134 0000004 |
|
95 |
#define TARGET_B150 0000005 |
|
96 |
#define TARGET_B200 0000006 |
|
97 |
#define TARGET_B300 0000007 |
|
98 |
#define TARGET_B600 0000010 |
|
99 |
#define TARGET_B1200 0000011 |
|
100 |
#define TARGET_B1800 0000012 |
|
101 |
#define TARGET_B2400 0000013 |
|
102 |
#define TARGET_B4800 0000014 |
|
103 |
#define TARGET_B9600 0000015 |
|
104 |
#define TARGET_B19200 0000016 |
|
105 |
#define TARGET_B38400 0000017 |
|
106 |
#define TARGET_EXTA B19200 |
|
107 |
#define TARGET_EXTB B38400 |
|
108 |
#define TARGET_CBAUDEX 0000000 |
|
109 |
#define TARGET_B57600 00020 |
|
110 |
#define TARGET_B115200 00021 |
|
111 |
#define TARGET_B230400 00022 |
|
112 |
#define TARGET_B460800 00023 |
|
113 |
#define TARGET_B500000 00024 |
|
114 |
#define TARGET_B576000 00025 |
|
115 |
#define TARGET_B921600 00026 |
|
116 |
#define TARGET_B1000000 00027 |
|
117 |
#define TARGET_B1152000 00030 |
|
118 |
#define TARGET_B1500000 00031 |
|
119 |
#define TARGET_B2000000 00032 |
|
120 |
#define TARGET_B2500000 00033 |
|
121 |
#define TARGET_B3000000 00034 |
|
122 |
#define TARGET_B3500000 00035 |
|
123 |
#define TARGET_B4000000 00036 |
|
124 |
|
|
125 |
#define TARGET_CSIZE 00001400 |
|
126 |
#define TARGET_CS5 00000000 |
|
127 |
#define TARGET_CS6 00000400 |
|
128 |
#define TARGET_CS7 00001000 |
|
129 |
#define TARGET_CS8 00001400 |
|
130 |
|
|
131 |
#define TARGET_CSTOPB 00002000 |
|
132 |
#define TARGET_CREAD 00004000 |
|
133 |
#define TARGET_PARENB 00010000 |
|
134 |
#define TARGET_PARODD 00020000 |
|
135 |
#define TARGET_HUPCL 00040000 |
|
136 |
|
|
137 |
#define TARGET_CLOCAL 00100000 |
|
138 |
#define TARGET_CRTSCTS 020000000000 /* flow control */ |
|
139 |
|
|
140 |
/* c_lflag bits */ |
|
141 |
#define TARGET_ISIG 0x00000080 |
|
142 |
#define TARGET_ICANON 0x00000100 |
|
143 |
#define TARGET_XCASE 0x00004000 |
|
144 |
#define TARGET_ECHO 0x00000008 |
|
145 |
#define TARGET_ECHOE 0x00000002 |
|
146 |
#define TARGET_ECHOK 0x00000004 |
|
147 |
#define TARGET_ECHONL 0x00000010 |
|
148 |
#define TARGET_NOFLSH 0x80000000 |
|
149 |
#define TARGET_TOSTOP 0x00400000 |
|
150 |
#define TARGET_ECHOCTL 0x00000040 |
|
151 |
#define TARGET_ECHOPRT 0x00000020 |
|
152 |
#define TARGET_ECHOKE 0x00000001 |
|
153 |
#define TARGET_FLUSHO 0x00800000 |
|
154 |
#define TARGET_PENDIN 0x20000000 |
|
155 |
#define TARGET_IEXTEN 0x00000400 |
|
156 |
|
|
157 |
/* ioctls */ |
|
158 |
|
|
159 |
#define TARGET_FIOCLEX TARGET_IO('f', 1) |
|
160 |
#define TARGET_FIONCLEX TARGET_IO('f', 2) |
|
161 |
#define TARGET_FIOASYNC TARGET_IOW('f', 125, int) |
|
162 |
#define TARGET_FIONBIO TARGET_IOW('f', 126, int) |
|
163 |
#define TARGET_FIONREAD TARGET_IOR('f', 127, int) |
|
164 |
#define TARGET_TIOCINQ TARGET_FIONREAD |
|
165 |
//#define TARGET_FIOQSIZE TARGET_IOR('f', 128, loff_t) |
|
166 |
|
|
167 |
#define TARGET_TCGETS TARGET_IOR('t', 19, struct target_termios) |
|
168 |
#define TARGET_TCSETS TARGET_IOW('t', 20, struct target_termios) |
|
169 |
#define TARGET_TCSETSW TARGET_IOW('t', 21, struct target_termios) |
|
170 |
#define TARGET_TCSETSF TARGET_IOW('t', 22, struct target_termios) |
|
171 |
|
|
172 |
#define TARGET_TCGETA TARGET_IOR('t', 23, struct target_termio) |
|
173 |
#define TARGET_TCSETA TARGET_IOW('t', 24, struct target_termio) |
|
174 |
#define TARGET_TCSETAW TARGET_IOW('t', 25, struct target_termio) |
|
175 |
#define TARGET_TCSETAF TARGET_IOW('t', 28, struct target_termio) |
|
176 |
|
|
177 |
#define TARGET_TCSBRK TARGET_IO('t', 29) |
|
178 |
#define TARGET_TCXONC TARGET_IO('t', 30) |
|
179 |
#define TARGET_TCFLSH TARGET_IO('t', 31) |
|
180 |
|
|
181 |
#define TARGET_TIOCSWINSZ TARGET_IOW('t', 103, struct target_winsize) |
|
182 |
#define TARGET_TIOCGWINSZ TARGET_IOR('t', 104, struct target_winsize) |
|
183 |
#define TARGET_TIOCSTART TARGET_IO('t', 110) /* start output, like ^Q */ |
|
184 |
#define TARGET_TIOCSTOP TARGET_IO('t', 111) /* stop output, like ^S */ |
|
185 |
#define TARGET_TIOCOUTQ TARGET_IOR('t', 115, int) /* output queue size */ |
|
186 |
|
|
187 |
#define TARGET_TIOCGLTC TARGET_IOR('t', 116, struct target_ltchars) |
|
188 |
#define TARGET_TIOCSLTC TARGET_IOW('t', 117, struct target_ltchars) |
|
189 |
#define TARGET_TIOCSPGRP TARGET_IOW('t', 118, int) |
|
190 |
#define TARGET_TIOCGPGRP TARGET_IOR('t', 119, int) |
|
191 |
|
|
192 |
#define TARGET_TIOCEXCL 0x540C |
|
193 |
#define TARGET_TIOCNXCL 0x540D |
|
194 |
#define TARGET_TIOCSCTTY 0x540E |
|
195 |
|
|
196 |
#define TARGET_TIOCSTI 0x5412 |
|
197 |
#define TARGET_TIOCMGET 0x5415 |
|
198 |
#define TARGET_TIOCMBIS 0x5416 |
|
199 |
#define TARGET_TIOCMBIC 0x5417 |
|
200 |
#define TARGET_TIOCMSET 0x5418 |
|
201 |
|
|
202 |
#define TARGET_TIOCGSOFTCAR 0x5419 |
|
203 |
#define TARGET_TIOCSSOFTCAR 0x541A |
|
204 |
#define TARGET_TIOCLINUX 0x541C |
|
205 |
#define TARGET_TIOCCONS 0x541D |
|
206 |
#define TARGET_TIOCGSERIAL 0x541E |
|
207 |
#define TARGET_TIOCSSERIAL 0x541F |
|
208 |
#define TARGET_TIOCPKT 0x5420 |
|
209 |
|
|
210 |
#define TARGET_TIOCNOTTY 0x5422 |
|
211 |
#define TARGET_TIOCSETD 0x5423 |
|
212 |
#define TARGET_TIOCGETD 0x5424 |
|
213 |
#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ |
|
214 |
#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */ |
|
215 |
#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */ |
|
216 |
#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ |
|
217 |
#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */ |
|
218 |
#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
|
219 |
#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */ |
|
220 |
|
|
221 |
#define TARGET_TIOCSERCONFIG 0x5453 |
|
222 |
#define TARGET_TIOCSERGWILD 0x5454 |
|
223 |
#define TARGET_TIOCSERSWILD 0x5455 |
|
224 |
#define TARGET_TIOCGLCKTRMIOS 0x5456 |
|
225 |
#define TARGET_TIOCSLCKTRMIOS 0x5457 |
|
226 |
#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */ |
|
227 |
#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */ |
|
228 |
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ |
|
229 |
# define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */ |
|
230 |
#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */ |
|
231 |
#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */ |
|
232 |
|
|
233 |
#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ |
|
234 |
#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ |
|
235 |
|
b/linux-user/x86_64/syscall.h | ||
---|---|---|
1 |
#define __USER_CS (0x33) |
|
2 |
#define __USER_DS (0x2B) |
|
3 |
|
|
4 |
struct target_pt_regs { |
|
5 |
target_ulong r15; |
|
6 |
target_ulong r14; |
|
7 |
target_ulong r13; |
|
8 |
target_ulong r12; |
|
9 |
target_ulong rbp; |
|
10 |
target_ulong rbx; |
|
11 |
/* arguments: non interrupts/non tracing syscalls only save upto here*/ |
|
12 |
target_ulong r11; |
|
13 |
target_ulong r10; |
|
14 |
target_ulong r9; |
|
15 |
target_ulong r8; |
|
16 |
target_ulong rax; |
|
17 |
target_ulong rcx; |
|
18 |
target_ulong rdx; |
|
19 |
target_ulong rsi; |
|
20 |
target_ulong rdi; |
|
21 |
target_ulong orig_rax; |
|
22 |
/* end of arguments */ |
|
23 |
/* cpu exception frame or undefined */ |
|
24 |
target_ulong rip; |
|
25 |
target_ulong cs; |
|
26 |
target_ulong eflags; |
|
27 |
target_ulong rsp; |
|
28 |
target_ulong ss; |
|
29 |
/* top of stack page */ |
|
30 |
}; |
|
31 |
|
|
32 |
/* Maximum number of LDT entries supported. */ |
|
33 |
#define TARGET_LDT_ENTRIES 8192 |
|
34 |
/* The size of each LDT entry. */ |
|
35 |
#define TARGET_LDT_ENTRY_SIZE 8 |
|
36 |
|
|
37 |
#define TARGET_GDT_ENTRY_TLS_ENTRIES 3 |
|
38 |
#define TARGET_GDT_ENTRY_TLS_MIN 12 |
|
39 |
#define TARGET_GDT_ENTRY_TLS_MAX 14 |
|
40 |
|
|
41 |
#if 0 // Redefine this |
|
42 |
struct target_modify_ldt_ldt_s { |
|
43 |
unsigned int entry_number; |
|
44 |
target_ulong base_addr; |
|
45 |
unsigned int limit; |
|
46 |
unsigned int seg_32bit:1; |
|
47 |
unsigned int contents:2; |
|
48 |
unsigned int read_exec_only:1; |
|
49 |
unsigned int limit_in_pages:1; |
|
50 |
unsigned int seg_not_present:1; |
|
51 |
unsigned int useable:1; |
|
52 |
unsigned int lm:1; |
|
53 |
}; |
|
54 |
#else |
|
55 |
struct target_modify_ldt_ldt_s { |
|
56 |
unsigned int entry_number; |
|
57 |
target_ulong base_addr; |
|
58 |
unsigned int limit; |
|
59 |
unsigned int flags; |
|
60 |
}; |
|
61 |
#endif |
|
62 |
|
|
63 |
struct target_ipc64_perm |
|
64 |
{ |
|
65 |
int key; |
|
66 |
uint32_t uid; |
|
67 |
uint32_t gid; |
|
68 |
uint32_t cuid; |
|
69 |
uint32_t cgid; |
|
70 |
unsigned short mode; |
|
71 |
unsigned short __pad1; |
|
72 |
unsigned short seq; |
|
73 |
unsigned short __pad2; |
|
74 |
target_ulong __unused1; |
|
75 |
target_ulong __unused2; |
|
76 |
}; |
|
77 |
|
|
78 |
struct target_msqid64_ds { |
|
79 |
struct target_ipc64_perm msg_perm; |
|
80 |
unsigned int msg_stime; /* last msgsnd time */ |
|
81 |
unsigned int msg_rtime; /* last msgrcv time */ |
|
82 |
unsigned int msg_ctime; /* last change time */ |
|
83 |
target_ulong msg_cbytes; /* current number of bytes on queue */ |
|
84 |
target_ulong msg_qnum; /* number of messages in queue */ |
|
85 |
target_ulong msg_qbytes; /* max number of bytes on queue */ |
|
86 |
unsigned int msg_lspid; /* pid of last msgsnd */ |
|
87 |
unsigned int msg_lrpid; /* last receive pid */ |
|
88 |
target_ulong __unused4; |
|
89 |
target_ulong __unused5; |
|
90 |
}; |
|
91 |
|
|
92 |
#define UNAME_MACHINE "x86_64" |
b/linux-user/x86_64/syscall_nr.h | ||
---|---|---|
1 |
#define TARGET_NR_read 0 |
|
2 |
#define TARGET_NR_write 1 |
|
3 |
#define TARGET_NR_open 2 |
|
4 |
#define TARGET_NR_close 3 |
|
5 |
#define TARGET_NR_stat 4 |
|
6 |
#define TARGET_NR_fstat 5 |
|
7 |
#define TARGET_NR_lstat 6 |
|
8 |
#define TARGET_NR_poll 7 |
|
9 |
#define TARGET_NR_lseek 8 |
|
10 |
#define TARGET_NR_mmap 9 |
|
11 |
#define TARGET_NR_mprotect 10 |
|
12 |
#define TARGET_NR_munmap 11 |
|
13 |
#define TARGET_NR_brk 12 |
|
14 |
#define TARGET_NR_rt_sigaction 13 |
|
15 |
#define TARGET_NR_rt_sigprocmask 14 |
|
16 |
#define TARGET_NR_rt_sigreturn 15 |
|
17 |
#define TARGET_NR_ioctl 16 |
|
18 |
#define TARGET_NR_pread64 17 |
|
19 |
#define TARGET_NR_pwrite64 18 |
|
20 |
#define TARGET_NR_readv 19 |
|
21 |
#define TARGET_NR_writev 20 |
|
22 |
#define TARGET_NR_access 21 |
|
23 |
#define TARGET_NR_pipe 22 |
|
24 |
#define TARGET_NR_select 23 |
|
25 |
#define TARGET_NR_sched_yield 24 |
|
26 |
#define TARGET_NR_mremap 25 |
|
27 |
#define TARGET_NR_msync 26 |
|
28 |
#define TARGET_NR_mincore 27 |
|
29 |
#define TARGET_NR_madvise 28 |
|
30 |
#define TARGET_NR_shmget 29 |
|
31 |
#define TARGET_NR_shmat 30 |
|
32 |
#define TARGET_NR_shmctl 31 |
|
33 |
#define TARGET_NR_dup 32 |
|
34 |
#define TARGET_NR_dup2 33 |
|
35 |
#define TARGET_NR_pause 34 |
|
36 |
#define TARGET_NR_nanosleep 35 |
|
37 |
#define TARGET_NR_getitimer 36 |
|
38 |
#define TARGET_NR_alarm 37 |
|
39 |
#define TARGET_NR_setitimer 38 |
|
40 |
#define TARGET_NR_getpid 39 |
|
41 |
#define TARGET_NR_sendfile 40 |
|
42 |
#define TARGET_NR_socket 41 |
|
43 |
#define TARGET_NR_connect 42 |
|
44 |
#define TARGET_NR_accept 43 |
|
45 |
#define TARGET_NR_sendto 44 |
|
46 |
#define TARGET_NR_recvfrom 45 |
|
47 |
#define TARGET_NR_sendmsg 46 |
|
48 |
#define TARGET_NR_recvmsg 47 |
|
49 |
#define TARGET_NR_shutdown 48 |
|
50 |
#define TARGET_NR_bind 49 |
|
51 |
#define TARGET_NR_listen 50 |
|
52 |
#define TARGET_NR_getsockname 51 |
|
53 |
#define TARGET_NR_getpeername 52 |
|
54 |
#define TARGET_NR_socketpair 53 |
|
55 |
#define TARGET_NR_setsockopt 54 |
|
56 |
#define TARGET_NR_getsockopt 55 |
|
57 |
#define TARGET_NR_clone 56 |
|
58 |
#define TARGET_NR_fork 57 |
|
59 |
#define TARGET_NR_vfork 58 |
|
60 |
#define TARGET_NR_execve 59 |
|
61 |
#define TARGET_NR_exit 60 |
|
62 |
#define TARGET_NR_wait4 61 |
|
63 |
#define TARGET_NR_kill 62 |
|
64 |
#define TARGET_NR_uname 63 |
|
65 |
#define TARGET_NR_semget 64 |
|
66 |
#define TARGET_NR_semop 65 |
|
67 |
#define TARGET_NR_semctl 66 |
|
68 |
#define TARGET_NR_shmdt 67 |
|
69 |
#define TARGET_NR_msgget 68 |
|
70 |
#define TARGET_NR_msgsnd 69 |
|
71 |
#define TARGET_NR_msgrcv 70 |
|
72 |
#define TARGET_NR_msgctl 71 |
|
73 |
#define TARGET_NR_fcntl 72 |
|
74 |
#define TARGET_NR_flock 73 |
|
75 |
#define TARGET_NR_fsync 74 |
|
76 |
#define TARGET_NR_fdatasync 75 |
|
77 |
#define TARGET_NR_truncate 76 |
|
78 |
#define TARGET_NR_ftruncate 77 |
|
79 |
#define TARGET_NR_getdents 78 |
|
80 |
#define TARGET_NR_getcwd 79 |
|
81 |
#define TARGET_NR_chdir 80 |
|
82 |
#define TARGET_NR_fchdir 81 |
|
83 |
#define TARGET_NR_rename 82 |
|
84 |
#define TARGET_NR_mkdir 83 |
|
85 |
#define TARGET_NR_rmdir 84 |
|
86 |
#define TARGET_NR_creat 85 |
|
87 |
#define TARGET_NR_link 86 |
|
88 |
#define TARGET_NR_unlink 87 |
|
89 |
#define TARGET_NR_symlink 88 |
|
90 |
#define TARGET_NR_readlink 89 |
|
91 |
#define TARGET_NR_chmod 90 |
|
92 |
#define TARGET_NR_fchmod 91 |
|
93 |
#define TARGET_NR_chown 92 |
|
94 |
#define TARGET_NR_fchown 93 |
|
95 |
#define TARGET_NR_lchown 94 |
|
96 |
#define TARGET_NR_umask 95 |
|
97 |
#define TARGET_NR_gettimeofday 96 |
|
98 |
#define TARGET_NR_getrlimit 97 |
|
99 |
#define TARGET_NR_getrusage 98 |
|
100 |
#define TARGET_NR_sysinfo 99 |
|
101 |
#define TARGET_NR_times 100 |
|
102 |
#define TARGET_NR_ptrace 101 |
|
103 |
#define TARGET_NR_getuid 102 |
|
104 |
#define TARGET_NR_syslog 103 |
|
105 |
#define TARGET_NR_getgid 104 |
|
106 |
#define TARGET_NR_setuid 105 |
|
107 |
#define TARGET_NR_setgid 106 |
|
108 |
#define TARGET_NR_geteuid 107 |
|
109 |
#define TARGET_NR_getegid 108 |
|
110 |
#define TARGET_NR_setpgid 109 |
|
111 |
#define TARGET_NR_getppid 110 |
|
112 |
#define TARGET_NR_getpgrp 111 |
|
113 |
#define TARGET_NR_setsid 112 |
|
114 |
#define TARGET_NR_setreuid 113 |
|
115 |
#define TARGET_NR_setregid 114 |
|
116 |
#define TARGET_NR_getgroups 115 |
|
117 |
#define TARGET_NR_setgroups 116 |
|
118 |
#define TARGET_NR_setresuid 117 |
|
119 |
#define TARGET_NR_getresuid 118 |
|
120 |
#define TARGET_NR_setresgid 119 |
|
121 |
#define TARGET_NR_getresgid 120 |
|
122 |
#define TARGET_NR_getpgid 121 |
|
123 |
#define TARGET_NR_setfsuid 122 |
|
124 |
#define TARGET_NR_setfsgid 123 |
|
125 |
#define TARGET_NR_getsid 124 |
|
126 |
#define TARGET_NR_capget 125 |
|
127 |
#define TARGET_NR_capset 126 |
|
128 |
#define TARGET_NR_rt_sigpending 127 |
|
129 |
#define TARGET_NR_rt_sigtimedwait 128 |
|
130 |
#define TARGET_NR_rt_sigqueueinfo 129 |
|
131 |
#define TARGET_NR_rt_sigsuspend 130 |
|
132 |
#define TARGET_NR_sigaltstack 131 |
|
133 |
#define TARGET_NR_utime 132 |
|
134 |
#define TARGET_NR_mknod 133 |
|
135 |
#define TARGET_NR_uselib 134 |
|
136 |
#define TARGET_NR_personality 135 |
|
137 |
#define TARGET_NR_ustat 136 |
|
138 |
#define TARGET_NR_statfs 137 |
|
139 |
#define TARGET_NR_fstatfs 138 |
|
140 |
#define TARGET_NR_sysfs 139 |
|
141 |
#define TARGET_NR_getpriority 140 |
|
142 |
#define TARGET_NR_setpriority 141 |
|
143 |
#define TARGET_NR_sched_setparam 142 |
|
144 |
#define TARGET_NR_sched_getparam 143 |
|
145 |
#define TARGET_NR_sched_setscheduler 144 |
|
146 |
#define TARGET_NR_sched_getscheduler 145 |
|
147 |
#define TARGET_NR_sched_get_priority_max 146 |
|
148 |
#define TARGET_NR_sched_get_priority_min 147 |
|
149 |
#define TARGET_NR_sched_rr_get_interval 148 |
|
150 |
#define TARGET_NR_mlock 149 |
|
151 |
#define TARGET_NR_munlock 150 |
|
152 |
#define TARGET_NR_mlockall 151 |
|
153 |
#define TARGET_NR_munlockall 152 |
|
154 |
#define TARGET_NR_vhangup 153 |
|
155 |
#define TARGET_NR_modify_ldt 154 |
|
156 |
#define TARGET_NR_pivot_root 155 |
|
157 |
#define TARGET_NR__sysctl 156 |
|
158 |
#define TARGET_NR_prctl 157 |
|
159 |
#define TARGET_NR_arch_prctl 158 |
|
160 |
#define TARGET_NR_adjtimex 159 |
|
161 |
#define TARGET_NR_setrlimit 160 |
|
162 |
#define TARGET_NR_chroot 161 |
|
163 |
#define TARGET_NR_sync 162 |
|
164 |
#define TARGET_NR_acct 163 |
|
165 |
#define TARGET_NR_settimeofday 164 |
|
166 |
#define TARGET_NR_mount 165 |
|
167 |
#define TARGET_NR_umount2 166 |
|
168 |
#define TARGET_NR_swapon 167 |
|
169 |
#define TARGET_NR_swapoff 168 |
|
170 |
#define TARGET_NR_reboot 169 |
|
171 |
#define TARGET_NR_sethostname 170 |
|
172 |
#define TARGET_NR_setdomainname 171 |
|
173 |
#define TARGET_NR_iopl 172 |
|
174 |
#define TARGET_NR_ioperm 173 |
|
175 |
#define TARGET_NR_create_module 174 |
|
176 |
#define TARGET_NR_init_module 175 |
|
177 |
#define TARGET_NR_delete_module 176 |
|
178 |
#define TARGET_NR_get_kernel_syms 177 |
|
179 |
#define TARGET_NR_query_module 178 |
|
180 |
#define TARGET_NR_quotactl 179 |
|
181 |
#define TARGET_NR_nfsservctl 180 |
|
182 |
#define TARGET_NR_getpmsg 181 /* reserved for LiS/STREAMS */ |
|
183 |
#define TARGET_NR_putpmsg 182 /* reserved for LiS/STREAMS */ |
|
184 |
#define TARGET_NR_afs_syscall 183 /* reserved for AFS */ |
|
185 |
#define TARGET_NR_tuxcall 184 /* reserved for tux */ |
|
186 |
#define TARGET_NR_security 185 |
|
187 |
#define TARGET_NR_gettid 186 |
|
188 |
#define TARGET_NR_readahead 187 |
|
189 |
#define TARGET_NR_setxattr 188 |
|
190 |
#define TARGET_NR_lsetxattr 189 |
|
191 |
#define TARGET_NR_fsetxattr 190 |
|
192 |
#define TARGET_NR_getxattr 191 |
|
193 |
#define TARGET_NR_lgetxattr 192 |
|
194 |
#define TARGET_NR_fgetxattr 193 |
|
195 |
#define TARGET_NR_listxattr 194 |
|
196 |
#define TARGET_NR_llistxattr 195 |
|
197 |
#define TARGET_NR_flistxattr 196 |
|
198 |
#define TARGET_NR_removexattr 197 |
|
199 |
#define TARGET_NR_lremovexattr 198 |
|
200 |
#define TARGET_NR_fremovexattr 199 |
|
201 |
#define TARGET_NR_tkill 200 |
|
202 |
#define TARGET_NR_time 201 |
|
203 |
#define TARGET_NR_futex 202 |
|
204 |
#define TARGET_NR_sched_setaffinity 203 |
|
205 |
#define TARGET_NR_sched_getaffinity 204 |
|
206 |
#define TARGET_NR_set_thread_area 205 |
|
207 |
#define TARGET_NR_io_setup 206 |
|
208 |
#define TARGET_NR_io_destroy 207 |
|
209 |
#define TARGET_NR_io_getevents 208 |
|
210 |
#define TARGET_NR_io_submit 209 |
|
211 |
#define TARGET_NR_io_cancel 210 |
|
212 |
#define TARGET_NR_get_thread_area 211 |
|
213 |
#define TARGET_NR_lookup_dcookie 212 |
|
214 |
#define TARGET_NR_epoll_create 213 |
|
215 |
#define TARGET_NR_epoll_ctl_old 214 |
|
216 |
#define TARGET_NR_epoll_wait_old 215 |
|
217 |
#define TARGET_NR_remap_file_pages 216 |
|
218 |
#define TARGET_NR_getdents64 217 |
|
219 |
#define TARGET_NR_set_tid_address 218 |
|
220 |
#define TARGET_NR_restart_syscall 219 |
|
221 |
#define TARGET_NR_semtimedop 220 |
|
222 |
#define TARGET_NR_fadvise64 221 |
|
223 |
#define TARGET_NR_timer_create 222 |
|
224 |
#define TARGET_NR_timer_settime 223 |
|
225 |
#define TARGET_NR_timer_gettime 224 |
|
226 |
#define TARGET_NR_timer_getoverrun 225 |
|
227 |
#define TARGET_NR_timer_delete 226 |
|
228 |
#define TARGET_NR_clock_settime 227 |
|
229 |
#define TARGET_NR_clock_gettime 228 |
|
230 |
#define TARGET_NR_clock_getres 229 |
|
231 |
#define TARGET_NR_clock_nanosleep 230 |
|
232 |
#define TARGET_NR_exit_group 231 |
|
233 |
#define TARGET_NR_epoll_wait 232 |
|
234 |
#define TARGET_NR_epoll_ctl 233 |
|
235 |
#define TARGET_NR_tgkill 234 |
|
236 |
#define TARGET_NR_utimes 235 |
|
237 |
#define TARGET_NR_vserver 236 |
|
238 |
#define TARGET_NR_mbind 237 |
|
239 |
#define TARGET_NR_set_mempolicy 238 |
|
240 |
#define TARGET_NR_get_mempolicy 239 |
|
241 |
#define TARGET_NR_mq_open 240 |
|
242 |
#define TARGET_NR_mq_unlink 241 |
|
243 |
#define TARGET_NR_mq_timedsend 242 |
|
244 |
#define TARGET_NR_mq_timedreceive 243 |
|
245 |
#define TARGET_NR_mq_notify 244 |
|
246 |
#define TARGET_NR_mq_getsetattr 245 |
|
247 |
#define TARGET_NR_kexec_load 246 |
|
248 |
#define TARGET_NR_waitid 247 |
|
249 |
#define TARGET_NR_add_key 248 |
|
250 |
#define TARGET_NR_request_key 249 |
|
251 |
#define TARGET_NR_keyctl 250 |
|
252 |
#define TARGET_NR_ioprio_set 251 |
|
253 |
#define TARGET_NR_ioprio_get 252 |
|
254 |
#define TARGET_NR_inotify_init 253 |
|
255 |
#define TARGET_NR_inotify_add_watch 254 |
|
256 |
#define TARGET_NR_inotify_rm_watch 255 |
|
257 |
#define TARGET_NR_migrate_pages 256 |
|
258 |
#define TARGET_NR_openat 257 |
|
259 |
#define TARGET_NR_mkdirat 258 |
|
260 |
#define TARGET_NR_mknodat 259 |
|
261 |
#define TARGET_NR_fchownat 260 |
|
262 |
#define TARGET_NR_futimesat 261 |
|
263 |
#define TARGET_NR_newfstatat 262 |
|
264 |
#define TARGET_NR_unlinkat 263 |
|
265 |
#define TARGET_NR_renameat 264 |
|
266 |
#define TARGET_NR_linkat 265 |
|
267 |
#define TARGET_NR_symlinkat 266 |
|
268 |
#define TARGET_NR_readlinkat 267 |
|
269 |
#define TARGET_NR_fchmodat 268 |
|
270 |
#define TARGET_NR_faccessat 269 |
|
271 |
#define TARGET_NR_pselect6 270 |
|
272 |
#define TARGET_NR_ppoll 271 |
|
273 |
#define TARGET_NR_unshare 272 |
|
274 |
#define TARGET_NR_set_robust_list 273 |
|
275 |
#define TARGET_NR_get_robust_list 274 |
|
276 |
#define TARGET_NR_splice 275 |
|
277 |
#define TARGET_NR_tee 276 |
|
278 |
#define TARGET_NR_sync_file_range 277 |
|
279 |
#define TARGET_NR_vmsplice 278 |
|
280 |
#define TARGET_NR_move_pages 279 |
b/linux-user/x86_64/termbits.h | ||
---|---|---|
1 |
#define TARGET_NCCS 19 |
|
2 |
|
|
3 |
typedef unsigned char target_cc_t; |
|
4 |
typedef unsigned int target_speed_t; |
|
5 |
typedef unsigned int target_tcflag_t; |
|
6 |
struct target_termios { |
|
7 |
target_tcflag_t c_iflag; /* input mode flags */ |
|
8 |
target_tcflag_t c_oflag; /* output mode flags */ |
|
9 |
target_tcflag_t c_cflag; /* control mode flags */ |
|
10 |
target_tcflag_t c_lflag; /* local mode flags */ |
|
11 |
target_cc_t c_line; /* line discipline */ |
|
12 |
target_cc_t c_cc[TARGET_NCCS]; /* control characters */ |
|
13 |
}; |
|
14 |
|
|
15 |
/* c_cc characters */ |
|
16 |
#define TARGET_VINTR 0 |
|
17 |
#define TARGET_VQUIT 1 |
|
18 |
#define TARGET_VERASE 2 |
|
19 |
#define TARGET_VKILL 3 |
|
20 |
#define TARGET_VEOF 4 |
|
21 |
#define TARGET_VTIME 5 |
|
22 |
#define TARGET_VMIN 6 |
|
23 |
#define TARGET_VSWTC 7 |
|
24 |
#define TARGET_VSTART 8 |
|
25 |
#define TARGET_VSTOP 9 |
|
26 |
#define TARGET_VSUSP 10 |
|
27 |
#define TARGET_VEOL 11 |
|
28 |
#define TARGET_VREPRINT 12 |
|
29 |
#define TARGET_VDISCARD 13 |
|
30 |
#define TARGET_VWERASE 14 |
|
31 |
#define TARGET_VLNEXT 15 |
|
32 |
#define TARGET_VEOL2 16 |
|
33 |
|
|
34 |
/* c_iflag bits */ |
|
35 |
#define TARGET_IGNBRK 0000001 |
|
36 |
#define TARGET_BRKINT 0000002 |
|
37 |
#define TARGET_IGNPAR 0000004 |
|
38 |
#define TARGET_PARMRK 0000010 |
|
39 |
#define TARGET_INPCK 0000020 |
|
40 |
#define TARGET_ISTRIP 0000040 |
|
41 |
#define TARGET_INLCR 0000100 |
|
42 |
#define TARGET_IGNCR 0000200 |
|
43 |
#define TARGET_ICRNL 0000400 |
|
44 |
#define TARGET_IUCLC 0001000 |
|
45 |
#define TARGET_IXON 0002000 |
|
46 |
#define TARGET_IXANY 0004000 |
|
47 |
#define TARGET_IXOFF 0010000 |
|
48 |
#define TARGET_IMAXBEL 0020000 |
|
49 |
#define TARGET_IUTF8 0040000 |
|
50 |
|
|
51 |
/* c_oflag bits */ |
|
52 |
#define TARGET_OPOST 0000001 |
|
53 |
#define TARGET_OLCUC 0000002 |
|
54 |
#define TARGET_ONLCR 0000004 |
|
55 |
#define TARGET_OCRNL 0000010 |
|
56 |
#define TARGET_ONOCR 0000020 |
|
57 |
#define TARGET_ONLRET 0000040 |
|
58 |
#define TARGET_OFILL 0000100 |
|
59 |
#define TARGET_OFDEL 0000200 |
|
60 |
#define TARGET_NLDLY 0000400 |
|
61 |
#define TARGET_NL0 0000000 |
|
62 |
#define TARGET_NL1 0000400 |
|
63 |
#define TARGET_CRDLY 0003000 |
|
64 |
#define TARGET_CR0 0000000 |
|
65 |
#define TARGET_CR1 0001000 |
|
66 |
#define TARGET_CR2 0002000 |
|
67 |
#define TARGET_CR3 0003000 |
|
68 |
#define TARGET_TABDLY 0014000 |
|
69 |
#define TARGET_TAB0 0000000 |
|
70 |
#define TARGET_TAB1 0004000 |
|
71 |
#define TARGET_TAB2 0010000 |
|
72 |
#define TARGET_TAB3 0014000 |
|
73 |
#define TARGET_XTABS 0014000 |
|
74 |
#define TARGET_BSDLY 0020000 |
|
75 |
#define TARGET_BS0 0000000 |
|
76 |
#define TARGET_BS1 0020000 |
|
77 |
#define TARGET_VTDLY 0040000 |
|
78 |
#define TARGET_VT0 0000000 |
|
79 |
#define TARGET_VT1 0040000 |
|
80 |
#define TARGET_FFDLY 0100000 |
|
81 |
#define TARGET_FF0 0000000 |
|
82 |
#define TARGET_FF1 0100000 |
|
83 |
|
|
84 |
/* c_cflag bit meaning */ |
|
85 |
#define TARGET_CBAUD 0010017 |
|
86 |
#define TARGET_B0 0000000 /* hang up */ |
|
87 |
#define TARGET_B50 0000001 |
|
88 |
#define TARGET_B75 0000002 |
|
89 |
#define TARGET_B110 0000003 |
|
90 |
#define TARGET_B134 0000004 |
|
91 |
#define TARGET_B150 0000005 |
|
92 |
#define TARGET_B200 0000006 |
|
93 |
#define TARGET_B300 0000007 |
|
94 |
#define TARGET_B600 0000010 |
|
95 |
#define TARGET_B1200 0000011 |
|
96 |
#define TARGET_B1800 0000012 |
|
97 |
#define TARGET_B2400 0000013 |
|
98 |
#define TARGET_B4800 0000014 |
|
99 |
#define TARGET_B9600 0000015 |
|
100 |
#define TARGET_B19200 0000016 |
|
101 |
#define TARGET_B38400 0000017 |
|
102 |
#define TARGET_EXTA B19200 |
|
103 |
#define TARGET_EXTB B38400 |
|
104 |
#define TARGET_CSIZE 0000060 |
|
105 |
#define TARGET_CS5 0000000 |
|
106 |
#define TARGET_CS6 0000020 |
|
107 |
#define TARGET_CS7 0000040 |
|
108 |
#define TARGET_CS8 0000060 |
|
109 |
#define TARGET_CSTOPB 0000100 |
|
110 |
#define TARGET_CREAD 0000200 |
|
111 |
#define TARGET_PARENB 0000400 |
|
112 |
#define TARGET_PARODD 0001000 |
|
113 |
#define TARGET_HUPCL 0002000 |
|
114 |
#define TARGET_CLOCAL 0004000 |
|
115 |
#define TARGET_CBAUDEX 0010000 |
|
116 |
#define TARGET_BOTHER 0010000 /* non standard rate */ |
|
117 |
#define TARGET_B57600 0010001 |
|
118 |
#define TARGET_B115200 0010002 |
|
119 |
#define TARGET_B230400 0010003 |
|
120 |
#define TARGET_B460800 0010004 |
|
121 |
#define TARGET_B500000 0010005 |
|
122 |
#define TARGET_B576000 0010006 |
|
123 |
#define TARGET_B921600 0010007 |
|
124 |
#define TARGET_B1000000 0010010 |
|
125 |
#define TARGET_B1152000 0010011 |
|
126 |
#define TARGET_B1500000 0010012 |
|
127 |
#define TARGET_B2000000 0010013 |
|
128 |
#define TARGET_B2500000 0010014 |
|
129 |
#define TARGET_B3000000 0010015 |
|
130 |
#define TARGET_B3500000 0010016 |
|
131 |
#define TARGET_B4000000 0010017 |
|
132 |
#define TARGET_CIBAUD 002003600000 /* input baud rate */ |
|
133 |
#define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ |
|
134 |
#define TARGET_CRTSCTS 020000000000 /* flow control */ |
|
135 |
|
|
136 |
#define TARGET_IBSHIFT 8 /* Shift from CBAUD to CIBAUD */ |
|
137 |
|
|
138 |
/* c_lflag bits */ |
|
139 |
#define TARGET_ISIG 0000001 |
|
140 |
#define TARGET_ICANON 0000002 |
|
141 |
#define TARGET_XCASE 0000004 |
|
142 |
#define TARGET_ECHO 0000010 |
|
143 |
#define TARGET_ECHOE 0000020 |
|
144 |
#define TARGET_ECHOK 0000040 |
|
145 |
#define TARGET_ECHONL 0000100 |
|
146 |
#define TARGET_NOFLSH 0000200 |
|
147 |
#define TARGET_TOSTOP 0000400 |
|
148 |
#define TARGET_ECHOCTL 0001000 |
|
149 |
#define TARGET_ECHOPRT 0002000 |
|
150 |
#define TARGET_ECHOKE 0004000 |
|
151 |
#define TARGET_FLUSHO 0010000 |
|
152 |
#define TARGET_PENDIN 0040000 |
|
153 |
#define TARGET_IEXTEN 0100000 |
|
154 |
|
|
155 |
/* tcflow() and TCXONC use these */ |
|
156 |
#define TARGET_TCOOFF 0 |
|
157 |
#define TARGET_TCOON 1 |
|
158 |
#define TARGET_TCIOFF 2 |
|
159 |
#define TARGET_TCION 3 |
|
160 |
|
|
161 |
/* tcflush() and TCFLSH use these */ |
|
162 |
#define TARGET_TCIFLUSH 0 |
|
163 |
#define TARGET_TCOFLUSH 1 |
|
164 |
#define TARGET_TCIOFLUSH 2 |
|
165 |
|
|
166 |
/* tcsetattr uses these */ |
|
167 |
#define TARGET_TCSANOW 0 |
|
168 |
#define TARGET_TCSADRAIN 1 |
|
169 |
#define TARGET_TCSAFLUSH 2 |
|
170 |
|
|
171 |
#define TARGET_TCGETS 0x5401 |
|
172 |
#define TARGET_TCSETS 0x5402 |
|
173 |
#define TARGET_TCSETSW 0x5403 |
|
174 |
#define TARGET_TCSETSF 0x5404 |
|
175 |
#define TARGET_TCGETA 0x5405 |
|
176 |
#define TARGET_TCSETA 0x5406 |
|
177 |
#define TARGET_TCSETAW 0x5407 |
|
178 |
#define TARGET_TCSETAF 0x5408 |
|
179 |
#define TARGET_TCSBRK 0x5409 |
|
180 |
#define TARGET_TCXONC 0x540A |
|
181 |
#define TARGET_TCFLSH 0x540B |
|
182 |
#define TARGET_TIOCEXCL 0x540C |
|
183 |
#define TARGET_TIOCNXCL 0x540D |
|
184 |
#define TARGET_TIOCSCTTY 0x540E |
|
185 |
#define TARGET_TIOCGPGRP 0x540F |
|
186 |
#define TARGET_TIOCSPGRP 0x5410 |
|
187 |
#define TARGET_TIOCOUTQ 0x5411 |
|
188 |
#define TARGET_TIOCSTI 0x5412 |
|
189 |
#define TARGET_TIOCGWINSZ 0x5413 |
|
190 |
#define TARGET_TIOCSWINSZ 0x5414 |
|
191 |
#define TARGET_TIOCMGET 0x5415 |
|
192 |
#define TARGET_TIOCMBIS 0x5416 |
|
193 |
#define TARGET_TIOCMBIC 0x5417 |
|
194 |
#define TARGET_TIOCMSET 0x5418 |
|
195 |
#define TARGET_TIOCGSOFTCAR 0x5419 |
|
196 |
#define TARGET_TIOCSSOFTCAR 0x541A |
|
197 |
#define TARGET_FIONREAD 0x541B |
|
198 |
#define TARGET_TIOCINQ FIONREAD |
|
199 |
#define TARGET_TIOCLINUX 0x541C |
|
200 |
#define TARGET_TIOCCONS 0x541D |
|
201 |
#define TARGET_TIOCGSERIAL 0x541E |
|
202 |
#define TARGET_TIOCSSERIAL 0x541F |
|
203 |
#define TARGET_TIOCPKT 0x5420 |
|
204 |
#define TARGET_FIONBIO 0x5421 |
|
205 |
#define TARGET_TIOCNOTTY 0x5422 |
|
206 |
#define TARGET_TIOCSETD 0x5423 |
|
207 |
#define TARGET_TIOCGETD 0x5424 |
|
208 |
#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ |
|
209 |
#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */ |
|
210 |
#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ |
|
211 |
#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */ |
|
212 |
#define TARGET_TCGETS2 _IOR('T',0x2A, struct termios2) |
|
213 |
#define TARGET_TCSETS2 _IOW('T',0x2B, struct termios2) |
|
214 |
#define TARGET_TCSETSW2 _IOW('T',0x2C, struct termios2) |
|
215 |
#define TARGET_TCSETSF2 _IOW('T',0x2D, struct termios2) |
|
216 |
#define TARGET_TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
|
217 |
#define TARGET_TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ |
|
218 |
|
|
219 |
#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */ |
|
220 |
#define TARGET_FIOCLEX 0x5451 |
|
221 |
#define TARGET_FIOASYNC 0x5452 |
|
222 |
#define TARGET_TIOCSERCONFIG 0x5453 |
|
223 |
#define TARGET_TIOCSERGWILD 0x5454 |
|
224 |
#define TARGET_TIOCSERSWILD 0x5455 |
|
225 |
#define TARGET_TIOCGLCKTRMIOS 0x5456 |
|
226 |
#define TARGET_TIOCSLCKTRMIOS 0x5457 |
|
227 |
#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */ |
|
228 |
#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */ |
|
229 |
#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */ |
|
230 |
#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */ |
|
231 |
|
|
232 |
#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ |
|
233 |
#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ |
|
234 |
#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */ |
|
235 |
#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */ |
|
236 |
#define TARGET_FIOQSIZE 0x5460 |
|
237 |
|
|
238 |
/* Used for packet mode */ |
|
239 |
#define TARGET_TIOCPKT_DATA 0 |
|
240 |
#define TARGET_TIOCPKT_FLUSHREAD 1 |
|
241 |
#define TARGET_TIOCPKT_FLUSHWRITE 2 |
|
242 |
#define TARGET_TIOCPKT_STOP 4 |
|
243 |
#define TARGET_TIOCPKT_START 8 |
|
244 |
#define TARGET_TIOCPKT_NOSTOP 16 |
|
245 |
#define TARGET_TIOCPKT_DOSTOP 32 |
|
246 |
|
|
247 |
#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */ |
Also available in: Unified diff