Decode recvmmsg syscall
* net.c (do_msghr): New function to print struct msghdr. (printmsghdr): Use it. (printmmsghdr, sys_recvmmsg): New. * linux/syscall.h: Declare sys_recvmmsg. (SYS_sub_recvmmsg): Define. (SYS_socket_nsubcalls): Bump. * linux/sparc/syscall.h: Likewise. * linux/arm/syscallent.h: Add sys_recvmmsg. * linux/bfin/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/ia64/syscallent.h: Adjust.
This commit is contained in:
parent
a7835e631a
commit
0873f29af4
@ -454,33 +454,34 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
#endif
|
||||
|
@ -398,3 +398,4 @@
|
||||
{ 5, TD, printargs, "pwritev" }, /* 367 */
|
||||
{ 4, TP|TS, printargs, "rt_tgsigqueueinfo" }, /* 368 */
|
||||
{ 5, 0, printargs, "perf_counter_open" }, /* 369 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 370 */
|
||||
|
@ -453,32 +453,33 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
|
@ -242,14 +242,13 @@
|
||||
|
||||
#include "../dummy.h"
|
||||
|
||||
/* You must be careful to check ../syscallent.h so that this table
|
||||
/* You must be careful to check ../i386/syscallent.h so that this table
|
||||
starts where that one leaves off.
|
||||
*/
|
||||
#if SYS_ipc_subcall + SYS_ipc_nsubcalls != 444
|
||||
#if SYS_ipc_subcall + SYS_ipc_nsubcalls != 445
|
||||
# error fix me
|
||||
#endif
|
||||
|
||||
{ 8, 0, printargs, "SYS_444" }, /* 444 */
|
||||
{ 8, 0, printargs, "SYS_445" }, /* 445 */
|
||||
{ 8, 0, printargs, "SYS_446" }, /* 446 */
|
||||
{ 8, 0, printargs, "SYS_447" }, /* 447 */
|
||||
|
@ -452,32 +452,33 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
|
@ -452,37 +452,38 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, printargs, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, printargs, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 5, 0, printargs, "SYS_343" }, /* 444 */
|
||||
{ 5, 0, printargs, "SYS_344" }, /* 445 */
|
||||
{ 5, 0, printargs, "SYS_345" }, /* 446 */
|
||||
{ 5, 0, printargs, "SYS_346" }, /* 447 */
|
||||
{ 5, 0, printargs, "SYS_347" }, /* 448 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
{ 5, 0, printargs, "SYS_343" }, /* 445 */
|
||||
{ 5, 0, printargs, "SYS_344" }, /* 446 */
|
||||
{ 5, 0, printargs, "SYS_345" }, /* 447 */
|
||||
{ 5, 0, printargs, "SYS_346" }, /* 448 */
|
||||
{ 5, 0, printargs, "SYS_347" }, /* 449 */
|
||||
|
@ -452,32 +452,33 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
|
@ -450,32 +450,33 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
|
@ -455,33 +455,34 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 420 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 421 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 422 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 423 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
{ 4, TI, sys_semop, "semop" }, /* 421 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 422 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 423 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 424 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 425 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 426 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 427 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 428 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 429 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 430 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 431 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 432 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 433 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 430 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 431 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 432 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 433 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 434 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 435 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 436 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 437 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 438 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 439 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 440 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 441 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 442 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 443 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 440 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 441 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 442 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 443 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 444 */
|
||||
|
@ -451,8 +451,9 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 416 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 417 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 418 */
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 419 */
|
||||
|
||||
#if SYS_ipc_subcall != 419
|
||||
#if SYS_ipc_subcall != 420
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 419 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 420 */
|
||||
|
@ -99,6 +99,7 @@ int sys_socket(),sys_bind(),sys_listen(),sys_accept(),sys_connect();
|
||||
int sys_socketpair(),sys_sendto(),sys_send(),sys_recvfrom(),sys_recv();
|
||||
int sys_sendmsg(),sys_recvmsg(),sys_shutdown(),sys_setsockopt(),sys_getsockopt();
|
||||
int sys_getsockname(),sys_getpeername(),sys_pipe(),sys_accept4();
|
||||
int sys_recvmmsg();
|
||||
|
||||
int sys_setresuid(), sys_setresgid(), sys_getresuid(), sys_getresgid(), sys_pread();
|
||||
int sys_pwrite(), sys_getcwd();
|
||||
@ -233,8 +234,9 @@ int sys_signalfd(), sys_timerfd(), sys_eventfd();
|
||||
#define SYS_sub_sendmsg (SYS_socket_subcall + 16)
|
||||
#define SYS_sub_recvmsg (SYS_socket_subcall + 17)
|
||||
#define SYS_sub_accept4 (SYS_socket_subcall + 18)
|
||||
#define SYS_sub_recvmmsg (SYS_socket_subcall + 19)
|
||||
|
||||
#define SYS_socket_nsubcalls 19
|
||||
#define SYS_socket_nsubcalls 20
|
||||
|
||||
#define SYS_ipc_subcall ((SYS_socket_subcall)+(SYS_socket_nsubcalls))
|
||||
#define SYS_sub_semop (SYS_ipc_subcall + 1)
|
||||
|
@ -373,35 +373,36 @@
|
||||
{ 5, TN, sys_sendmsg, "sendmsg" }, /* 369 */
|
||||
{ 5, TN, sys_recvmsg, "recvmsg" }, /* 370 */
|
||||
{ 4, TN, sys_accept4, "accept4" }, /* 371 */
|
||||
#if SYS_ipc_subcall != 372
|
||||
{ 5, TN, sys_recvmmsg, "recvmmsg" }, /* 372 */
|
||||
#if SYS_ipc_subcall != 373
|
||||
#error fix me
|
||||
#endif
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 372 */
|
||||
{ 4, TI, printargs, "semop" }, /* 373 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 374 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 375 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 376 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 377 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 373 */
|
||||
{ 4, TI, printargs, "semop" }, /* 374 */
|
||||
{ 4, TI, sys_semget, "semget" }, /* 375 */
|
||||
{ 4, TI, sys_semctl, "semctl" }, /* 376 */
|
||||
{ 5, TI, sys_semtimedop, "semtimedop" }, /* 377 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 378 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 379 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 380 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 381 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 382 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 383 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 384 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 385 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 386 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 387 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 383 */
|
||||
{ 4, TI, sys_msgsnd, "msgsnd" }, /* 384 */
|
||||
{ 4, TI, sys_msgrcv, "msgrcv" }, /* 385 */
|
||||
{ 4, TI, sys_msgget, "msgget" }, /* 386 */
|
||||
{ 4, TI, sys_msgctl, "msgctl" }, /* 387 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 388 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 389 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 390 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 391 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 392 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 393 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 394 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 395 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 396 */
|
||||
{ 5, 0, printargs, "SYS_397" }, /* 397 */
|
||||
{ 5, 0, printargs, "SYS_398" }, /* 398 */
|
||||
{ 5, 0, printargs, "SYS_399" }, /* 399 */
|
||||
{ 5, 0, printargs, "SYS_400" }, /* 400 */
|
||||
{ 4, 0, printargs, "ipc_subcall" }, /* 393 */
|
||||
{ 4, TI, sys_shmat, "shmat" }, /* 394 */
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 395 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 396 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 397 */
|
||||
{ 5, 0, printargs, "SYS_397" }, /* 398 */
|
||||
{ 5, 0, printargs, "SYS_398" }, /* 399 */
|
||||
{ 5, 0, printargs, "SYS_399" }, /* 400 */
|
||||
{ 5, 0, printargs, "SYS_400" }, /* 401 */
|
||||
|
@ -113,6 +113,7 @@ int sys_socket(), sys_bind(), sys_connect(), sys_listen(), sys_accept4();
|
||||
int sys_accept(), sys_getsockname(), sys_getpeername(), sys_socketpair();
|
||||
int sys_send(), sys_recv(), sys_sendto(), sys_recvfrom();
|
||||
int sys_shutdown(), sys_setsockopt(), sys_getsockopt();
|
||||
int sys_recvmmsg();
|
||||
|
||||
/* *at syscalls */
|
||||
int sys_fchmodat();
|
||||
@ -228,8 +229,9 @@ int sys_osf_utimes();
|
||||
#define SYS_sub_sendmsg (SYS_socket_subcall + 16)
|
||||
#define SYS_sub_recvmsg (SYS_socket_subcall + 17)
|
||||
#define SYS_sub_accept4 (SYS_socket_subcall + 18)
|
||||
#define SYS_sub_recvmmsg (SYS_socket_subcall + 19)
|
||||
|
||||
#define SYS_socket_nsubcalls 19
|
||||
#define SYS_socket_nsubcalls 20
|
||||
#endif /* !(ALPHA || MIPS || HPPA) */
|
||||
|
||||
/* sys_ipc subcalls */
|
||||
|
81
net.c
81
net.c
@ -1184,6 +1184,30 @@ printcmsghdr(struct tcb *tcp, unsigned long addr, unsigned long len)
|
||||
tprintf(", ...}");
|
||||
}
|
||||
|
||||
static void
|
||||
do_msghdr(struct tcb *tcp, struct msghdr *msg)
|
||||
{
|
||||
tprintf("{msg_name(%d)=", msg->msg_namelen);
|
||||
printsock(tcp, (long)msg->msg_name, msg->msg_namelen);
|
||||
|
||||
tprintf(", msg_iov(%lu)=", (unsigned long)msg->msg_iovlen);
|
||||
tprint_iov(tcp, (unsigned long)msg->msg_iovlen,
|
||||
(unsigned long)msg->msg_iov);
|
||||
|
||||
#ifdef HAVE_STRUCT_MSGHDR_MSG_CONTROL
|
||||
tprintf(", msg_controllen=%lu", (unsigned long)msg->msg_controllen);
|
||||
if (msg->msg_controllen)
|
||||
printcmsghdr(tcp, (unsigned long) msg->msg_control,
|
||||
msg->msg_controllen);
|
||||
tprintf(", msg_flags=");
|
||||
printflags(msg_flags, msg->msg_flags, "MSG_???");
|
||||
#else /* !HAVE_STRUCT_MSGHDR_MSG_CONTROL */
|
||||
tprintf("msg_accrights=%#lx, msg_accrightslen=%u",
|
||||
(unsigned long) msg->msg_accrights, msg->msg_accrightslen);
|
||||
#endif /* !HAVE_STRUCT_MSGHDR_MSG_CONTROL */
|
||||
tprintf("}");
|
||||
}
|
||||
|
||||
static void
|
||||
printmsghdr(tcp, addr)
|
||||
struct tcb *tcp;
|
||||
@ -1195,27 +1219,28 @@ long addr;
|
||||
tprintf("%#lx", addr);
|
||||
return;
|
||||
}
|
||||
tprintf("{msg_name(%d)=", msg.msg_namelen);
|
||||
printsock(tcp, (long)msg.msg_name, msg.msg_namelen);
|
||||
|
||||
tprintf(", msg_iov(%lu)=", (unsigned long)msg.msg_iovlen);
|
||||
tprint_iov(tcp, (unsigned long)msg.msg_iovlen,
|
||||
(unsigned long)msg.msg_iov);
|
||||
|
||||
#ifdef HAVE_STRUCT_MSGHDR_MSG_CONTROL
|
||||
tprintf(", msg_controllen=%lu", (unsigned long)msg.msg_controllen);
|
||||
if (msg.msg_controllen)
|
||||
printcmsghdr(tcp, (unsigned long) msg.msg_control,
|
||||
msg.msg_controllen);
|
||||
tprintf(", msg_flags=");
|
||||
printflags(msg_flags, msg.msg_flags, "MSG_???");
|
||||
#else /* !HAVE_STRUCT_MSGHDR_MSG_CONTROL */
|
||||
tprintf("msg_accrights=%#lx, msg_accrightslen=%u",
|
||||
(unsigned long) msg.msg_accrights, msg.msg_accrightslen);
|
||||
#endif /* !HAVE_STRUCT_MSGHDR_MSG_CONTROL */
|
||||
tprintf("}");
|
||||
do_msghdr(tcp, &msg);
|
||||
}
|
||||
|
||||
#ifdef LINUX
|
||||
static void
|
||||
printmmsghdr(struct tcb *tcp, long addr)
|
||||
{
|
||||
struct mmsghdr {
|
||||
struct msghdr msg_hdr;
|
||||
unsigned msg_len;
|
||||
} mmsg;
|
||||
|
||||
if (umove(tcp, addr, &mmsg) < 0) {
|
||||
tprintf("%#lx", addr);
|
||||
return;
|
||||
}
|
||||
tprintf("{");
|
||||
do_msghdr(tcp, &mmsg.msg_hdr);
|
||||
tprintf(", %u}", mmsg.msg_len);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* HAVE_SENDMSG */
|
||||
|
||||
/*
|
||||
@ -1503,6 +1528,24 @@ struct tcb *tcp;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef LINUX
|
||||
int
|
||||
sys_recvmmsg(struct tcb *tcp)
|
||||
{
|
||||
if (entering(tcp)) {
|
||||
tprintf("%ld, ", tcp->u_arg[0]);
|
||||
printmmsghdr(tcp, tcp->u_arg[1]);
|
||||
tprintf(", %ld, ", tcp->u_arg[2]);
|
||||
/* flags */
|
||||
printflags(msg_flags, tcp->u_arg[3], "MSG_???");
|
||||
/* timeout */
|
||||
tprintf(", ");
|
||||
print_timespec(tcp, tcp->u_arg[4]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* HAVE_SENDMSG */
|
||||
|
||||
int
|
||||
|
Loading…
x
Reference in New Issue
Block a user