xref: /aosp_15_r20/external/strace/linux/subcall.h (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker /*
2*cf84ac9aSAndroid Build Coastguard Worker  * Copyright (c) 2013-2015 Dmitry V. Levin <[email protected]>
3*cf84ac9aSAndroid Build Coastguard Worker  * Copyright (c) 2013-2017 The strace developers.
4*cf84ac9aSAndroid Build Coastguard Worker  * All rights reserved.
5*cf84ac9aSAndroid Build Coastguard Worker  *
6*cf84ac9aSAndroid Build Coastguard Worker  * Redistribution and use in source and binary forms, with or without
7*cf84ac9aSAndroid Build Coastguard Worker  * modification, are permitted provided that the following conditions
8*cf84ac9aSAndroid Build Coastguard Worker  * are met:
9*cf84ac9aSAndroid Build Coastguard Worker  * 1. Redistributions of source code must retain the above copyright
10*cf84ac9aSAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer.
11*cf84ac9aSAndroid Build Coastguard Worker  * 2. Redistributions in binary form must reproduce the above copyright
12*cf84ac9aSAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer in the
13*cf84ac9aSAndroid Build Coastguard Worker  *    documentation and/or other materials provided with the distribution.
14*cf84ac9aSAndroid Build Coastguard Worker  * 3. The name of the author may not be used to endorse or promote products
15*cf84ac9aSAndroid Build Coastguard Worker  *    derived from this software without specific prior written permission.
16*cf84ac9aSAndroid Build Coastguard Worker  *
17*cf84ac9aSAndroid Build Coastguard Worker  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18*cf84ac9aSAndroid Build Coastguard Worker  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19*cf84ac9aSAndroid Build Coastguard Worker  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20*cf84ac9aSAndroid Build Coastguard Worker  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21*cf84ac9aSAndroid Build Coastguard Worker  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22*cf84ac9aSAndroid Build Coastguard Worker  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23*cf84ac9aSAndroid Build Coastguard Worker  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24*cf84ac9aSAndroid Build Coastguard Worker  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25*cf84ac9aSAndroid Build Coastguard Worker  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26*cf84ac9aSAndroid Build Coastguard Worker  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*cf84ac9aSAndroid Build Coastguard Worker  */
28*cf84ac9aSAndroid Build Coastguard Worker 
29*cf84ac9aSAndroid Build Coastguard Worker #ifndef SYS_socket_subcall
30*cf84ac9aSAndroid Build Coastguard Worker # error SYS_socket_subcall is not defined
31*cf84ac9aSAndroid Build Coastguard Worker #endif
32*cf84ac9aSAndroid Build Coastguard Worker 
33*cf84ac9aSAndroid Build Coastguard Worker #define IS	TRACE_INDIRECT_SUBCALL
34*cf84ac9aSAndroid Build Coastguard Worker 
35*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  1] = { 3,	IS|TN,	SEN(socket),		"socket"		},
36*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  2] = { 3,	IS|TN,	SEN(bind),		"bind"			},
37*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  3] = { 3,	IS|TN,	SEN(connect),		"connect"		},
38*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  4] = { 2,	IS|TN,	SEN(listen),		"listen"		},
39*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  5] = { 3,	IS|TN,	SEN(accept),		"accept"		},
40*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  6] = { 3,	IS|TN,	SEN(getsockname),	"getsockname"		},
41*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  7] = { 3,	IS|TN,	SEN(getpeername),	"getpeername"		},
42*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  8] = { 4,	IS|TN,	SEN(socketpair),	"socketpair"		},
43*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall +  9] = { 4,	IS|TN,	SEN(send),		"send"			},
44*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 10] = { 4,	IS|TN,	SEN(recv),		"recv"			},
45*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 11] = { 6,	IS|TN,	SEN(sendto),		"sendto"		},
46*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 12] = { 6,	IS|TN,	SEN(recvfrom),		"recvfrom"		},
47*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 13] = { 2,	IS|TN,	SEN(shutdown),		"shutdown"		},
48*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 14] = { 5,	IS|TN,	SEN(setsockopt),	"setsockopt"		},
49*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 15] = { 5,	IS|TN,	SEN(getsockopt),	"getsockopt"		},
50*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 16] = { 3,	IS|TN,	SEN(sendmsg),		"sendmsg"		},
51*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 17] = { 3,	IS|TN,	SEN(recvmsg),		"recvmsg"		},
52*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 18] = { 4,	IS|TN,	SEN(accept4),		"accept4"		},
53*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 19] = { 5,	IS|TN,	SEN(recvmmsg),		"recvmmsg"		},
54*cf84ac9aSAndroid Build Coastguard Worker [SYS_socket_subcall + 20] = { 4,	IS|TN,	SEN(sendmmsg),		"sendmmsg"		},
55*cf84ac9aSAndroid Build Coastguard Worker 
56*cf84ac9aSAndroid Build Coastguard Worker #define SYS_socket_nsubcalls	21
57*cf84ac9aSAndroid Build Coastguard Worker #define SYS_ipc_subcall	((SYS_socket_subcall) + (SYS_socket_nsubcalls))
58*cf84ac9aSAndroid Build Coastguard Worker 
59*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall +  1] = { 4,	IS|TI,		SEN(semop),		"semop"			},
60*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall +  2] = { 3,	IS|TI,		SEN(semget),		"semget"		},
61*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall +  3] = { 4,	IS|TI,		SEN(semctl),		"semctl"		},
62*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall +  4] = { 5,	IS|TI,		SEN(semtimedop),	"semtimedop"		},
63*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 11] = { 4,	IS|TI,		SEN(msgsnd),		"msgsnd"		},
64*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 12] = { 5,	IS|TI,		SEN(msgrcv),		"msgrcv"		},
65*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 13] = { 2,	IS|TI,		SEN(msgget),		"msgget"		},
66*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 14] = { 4,	IS|TI,		SEN(msgctl),		"msgctl"		},
67*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 21] = { 4,	IS|TI|TM|SI,	SEN(shmat),		"shmat"			},
68*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 22] = { 4,	IS|TI|TM|SI,	SEN(shmdt),		"shmdt"			},
69*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 23] = { 3,	IS|TI,		SEN(shmget),		"shmget"		},
70*cf84ac9aSAndroid Build Coastguard Worker [SYS_ipc_subcall + 24] = { 4,	IS|TI,		SEN(shmctl),		"shmctl"		},
71*cf84ac9aSAndroid Build Coastguard Worker 
72*cf84ac9aSAndroid Build Coastguard Worker #define SYS_ipc_nsubcalls	25
73*cf84ac9aSAndroid Build Coastguard Worker 
74*cf84ac9aSAndroid Build Coastguard Worker #undef IS
75