xref: /linux/tools/sched_ext/include/scx/user_exit_info_common.h (revision a23cd25baed2316e50597f8b67192bdc904f955b)
1*de68c051SAndrea Righi /* SPDX-License-Identifier: GPL-2.0 */
2*de68c051SAndrea Righi /*
3*de68c051SAndrea Righi  * Define struct user_exit_info which is shared between BPF and userspace parts
4*de68c051SAndrea Righi  * to communicate exit status and other information.
5*de68c051SAndrea Righi  *
6*de68c051SAndrea Righi  * Copyright (c) 2022 Meta Platforms, Inc. and affiliates.
7*de68c051SAndrea Righi  * Copyright (c) 2022 Tejun Heo <tj@kernel.org>
8*de68c051SAndrea Righi  * Copyright (c) 2022 David Vernet <dvernet@meta.com>
9*de68c051SAndrea Righi  */
10*de68c051SAndrea Righi #ifndef __USER_EXIT_INFO_COMMON_H
11*de68c051SAndrea Righi #define __USER_EXIT_INFO_COMMON_H
12*de68c051SAndrea Righi 
13*de68c051SAndrea Righi #ifdef LSP
14*de68c051SAndrea Righi #include "../vmlinux.h"
15*de68c051SAndrea Righi #endif
16*de68c051SAndrea Righi 
17*de68c051SAndrea Righi enum uei_sizes {
18*de68c051SAndrea Righi 	UEI_REASON_LEN		= 128,
19*de68c051SAndrea Righi 	UEI_MSG_LEN		= 1024,
20*de68c051SAndrea Righi 	UEI_DUMP_DFL_LEN	= 32768,
21*de68c051SAndrea Righi };
22*de68c051SAndrea Righi 
23*de68c051SAndrea Righi struct user_exit_info {
24*de68c051SAndrea Righi 	int		kind;
25*de68c051SAndrea Righi 	s64		exit_code;
26*de68c051SAndrea Righi 	char		reason[UEI_REASON_LEN];
27*de68c051SAndrea Righi 	char		msg[UEI_MSG_LEN];
28*de68c051SAndrea Righi };
29*de68c051SAndrea Righi 
30*de68c051SAndrea Righi #endif /* __USER_EXIT_INFO_COMMON_H */
31