xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/nsm.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker /*
3*f80ad8b4SAndroid Build Coastguard Worker  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4*f80ad8b4SAndroid Build Coastguard Worker  */
5*f80ad8b4SAndroid Build Coastguard Worker 
6*f80ad8b4SAndroid Build Coastguard Worker #ifndef __UAPI_LINUX_NSM_H
7*f80ad8b4SAndroid Build Coastguard Worker #define __UAPI_LINUX_NSM_H
8*f80ad8b4SAndroid Build Coastguard Worker 
9*f80ad8b4SAndroid Build Coastguard Worker #include <linux/ioctl.h>
10*f80ad8b4SAndroid Build Coastguard Worker #include <linux/types.h>
11*f80ad8b4SAndroid Build Coastguard Worker 
12*f80ad8b4SAndroid Build Coastguard Worker #define NSM_MAGIC		0x0A
13*f80ad8b4SAndroid Build Coastguard Worker 
14*f80ad8b4SAndroid Build Coastguard Worker #define NSM_REQUEST_MAX_SIZE	0x1000
15*f80ad8b4SAndroid Build Coastguard Worker #define NSM_RESPONSE_MAX_SIZE	0x3000
16*f80ad8b4SAndroid Build Coastguard Worker 
17*f80ad8b4SAndroid Build Coastguard Worker struct nsm_iovec {
18*f80ad8b4SAndroid Build Coastguard Worker 	__u64 addr; /* Virtual address of target buffer */
19*f80ad8b4SAndroid Build Coastguard Worker 	__u64 len;  /* Length of target buffer */
20*f80ad8b4SAndroid Build Coastguard Worker };
21*f80ad8b4SAndroid Build Coastguard Worker 
22*f80ad8b4SAndroid Build Coastguard Worker /* Raw NSM message. Only available with CAP_SYS_ADMIN. */
23*f80ad8b4SAndroid Build Coastguard Worker struct nsm_raw {
24*f80ad8b4SAndroid Build Coastguard Worker 	/* Request from user */
25*f80ad8b4SAndroid Build Coastguard Worker 	struct nsm_iovec request;
26*f80ad8b4SAndroid Build Coastguard Worker 	/* Response to user */
27*f80ad8b4SAndroid Build Coastguard Worker 	struct nsm_iovec response;
28*f80ad8b4SAndroid Build Coastguard Worker };
29*f80ad8b4SAndroid Build Coastguard Worker #define NSM_IOCTL_RAW		_IOWR(NSM_MAGIC, 0x0, struct nsm_raw)
30*f80ad8b4SAndroid Build Coastguard Worker 
31*f80ad8b4SAndroid Build Coastguard Worker #endif /* __UAPI_LINUX_NSM_H */
32