6 #ifdef MAJOR_IN_SYSMACROS
7 # include <sys/sysmacros.h>
11 # include <sys/mkdev.h>
15 decode_mknod(struct tcb *tcp, int offset)
17 int mode = tcp->u_arg[offset + 1];
19 printpath(tcp, tcp->u_arg[offset]);
20 tprintf(", %s", sprintmode(mode));
21 switch (mode & S_IFMT) {
24 #if defined(SPARC) || defined(SPARC64)
25 if (current_personality == 1)
26 tprintf(", makedev(%lu, %lu)",
27 (unsigned long) ((tcp->u_arg[offset + 2] >> 18) & 0x3fff),
28 (unsigned long) (tcp->u_arg[offset + 2] & 0x3ffff));
30 #endif /* SPARC || SPARC64 */
31 tprintf(", makedev(%lu, %lu)",
32 (unsigned long) major(tcp->u_arg[offset + 2]),
33 (unsigned long) minor(tcp->u_arg[offset + 2]));
47 print_dirfd(tcp, tcp->u_arg[0]);
53 #if defined(SPARC) || defined(SPARC64)
56 int mode = tcp->u_arg[2];
58 tprintf("%ld, ", tcp->u_arg[0]);
59 printpath(tcp, tcp->u_arg[1]);
60 tprintf(", %s", sprintmode(mode));
61 switch (mode & S_IFMT) {
64 tprintf(", makedev(%lu, %lu)",
65 (unsigned long) ((tcp->u_arg[3] >> 18) & 0x3fff),
66 (unsigned long) (tcp->u_arg[3] & 0x3ffff));
74 #endif /* SPARC || SPARC64 */