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