DECL_TEMPLATE(generic, sys_setgid); // SVr4,SVID
DECL_TEMPLATE(generic, sys_utimes); // 4.3BSD
-// These ones may be Linux specific... not sure. They use 16-bit gid_t and
-// uid_t types. The similarly named (minus the "16" suffix) ones below use
-// 32-bit versions of these types.
-DECL_TEMPLATE(generic, sys_fchown16); // ## SVr4,BSD4.3
-DECL_TEMPLATE(generic, sys_chown16); // ## P
-
// Some archs on Linux do not match the generic wrapper for sys_pipe().
DECL_TEMPLATE(generic, sys_pipe);
DECL_TEMPLATE(linux, sys_getgroups16);
DECL_TEMPLATE(linux, sys_setgroups16);
+// Again, these 16-bit versions are Linux-specific, the 32-bit versions are
+// generic.
+DECL_TEMPLATE(linux, sys_chown16);
+DECL_TEMPLATE(linux, sys_fchown16);
+//DECL_TEMPLATE(linux, sys_lchown16); // not yet encountered
+
#endif // __PRIV_SYSWRAP_LINUX_H
/*--------------------------------------------------------------------*/
PRE_MEM_RASCIIZ( "chmod(path)", ARG1 );
}
-PRE(sys_chown16)
-{
- PRINT("sys_chown16 ( %p, 0x%x, 0x%x )", ARG1,ARG2,ARG3);
- PRE_REG_READ3(long, "chown16",
- const char *, path,
- vki_old_uid_t, owner, vki_old_gid_t, group);
- PRE_MEM_RASCIIZ( "chown16(path)", ARG1 );
-}
-
PRE(sys_chown)
{
/* int chown(const char *path, uid_t owner, gid_t group); */
PRE_REG_READ1(long, "fchdir", unsigned int, fd);
}
-PRE(sys_fchown16)
-{
- PRINT("sys_fchown16 ( %d, %d, %d )", ARG1,ARG2,ARG3);
- PRE_REG_READ3(long, "fchown16",
- unsigned int, fd, vki_old_uid_t, owner, vki_old_gid_t, group);
-}
-
PRE(sys_fchown)
{
PRINT("sys_fchown ( %d, %d, %d )", ARG1,ARG2,ARG3);
PRE_MEM_READ( "setgroups16(list)", ARG2, ARG1 * sizeof(vki_old_gid_t) );
}
+PRE(sys_chown16)
+{
+ PRINT("sys_chown16 ( %p, 0x%x, 0x%x )", ARG1,ARG2,ARG3);
+ PRE_REG_READ3(long, "chown16",
+ const char *, path,
+ vki_old_uid_t, owner, vki_old_gid_t, group);
+ PRE_MEM_RASCIIZ( "chown16(path)", ARG1 );
+}
+
+PRE(sys_fchown16)
+{
+ PRINT("sys_fchown16 ( %d, %d, %d )", ARG1,ARG2,ARG3);
+ PRE_REG_READ3(long, "fchown16",
+ unsigned int, fd, vki_old_uid_t, owner, vki_old_gid_t, group);
+}
+
#undef PRE
#undef POST
//.. GENX_(__NR_mknod, sys_mknod), // 14
//..
GENX_(__NR_chmod, sys_chmod), // 15
-//.. // (__NR_lchown, sys_lchown16), // 16 ## P
+//.. LINX_(__NR_lchown, sys_lchown16), // 16 ## P
//.. GENX_(__NR_break, sys_ni_syscall), // 17
//.. // (__NR_oldstat, sys_stat), // 18 (obsolete)
GENX_(__NR_lseek, sys_lseek), // 19
GENX_(__NR_ftruncate, sys_ftruncate), // 93
GENX_(__NR_fchmod, sys_fchmod), // 94
- GENX_(__NR_fchown, sys_fchown16), // 95
+ LINX_(__NR_fchown, sys_fchown16), // 95
//.. GENX_(__NR_getpriority, sys_getpriority), // 96
//.. GENX_(__NR_setpriority, sys_setpriority), // 97
//.. GENX_(__NR_profil, sys_ni_syscall), // 98
//..
GENXY(__NR_pread64, sys_pread64), // 179
GENX_(__NR_pwrite64, sys_pwrite64), // 180
- GENX_(__NR_chown, sys_chown16), // 181
+ LINX_(__NR_chown, sys_chown16), // 181
GENXY(__NR_getcwd, sys_getcwd), // 182
//.. LINXY(__NR_capget, sys_capget), // 183
//..
GENX_(__NR_mknod, sys_mknod), // 14
GENX_(__NR_chmod, sys_chmod), // 15
-//zz // (__NR_lchown, sys_lchown16), // 16 ## P
+//zz LINX_(__NR_lchown, sys_lchown16), // 16
GENX_(__NR_break, sys_ni_syscall), // 17
//zz // (__NR_oldstat, sys_stat), // 18 (obsolete)
GENX_(__NR_lseek, sys_lseek), // 19
GENX_(__NR_ftruncate, sys_ftruncate), // 93
GENX_(__NR_fchmod, sys_fchmod), // 94
- GENX_(__NR_fchown, sys_fchown16), // 95
+ LINX_(__NR_fchown, sys_fchown16), // 95
GENX_(__NR_getpriority, sys_getpriority), // 96
GENX_(__NR_setpriority, sys_setpriority), // 97
GENX_(__NR_profil, sys_ni_syscall), // 98
GENXY(__NR_pread64, sys_pread64), // 180
GENX_(__NR_pwrite64, sys_pwrite64), // 181
- GENX_(__NR_chown, sys_chown16), // 182
+ LINX_(__NR_chown, sys_chown16), // 182
GENXY(__NR_getcwd, sys_getcwd), // 183
LINXY(__NR_capget, sys_capget), // 184