1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 2 /* 3 * Copyright(c) 2003-2015 Intel Corporation. All rights reserved. 4 * Intel Management Engine Interface (Intel MEI) Linux driver 5 * Intel MEI Interface Header 6 */ 7 #ifndef _LINUX_MEI_H 8 #define _LINUX_MEI_H 9 10 #include <linux/uuid.h> 11 12 /* 13 * This IOCTL is used to associate the current file descriptor with a 14 * FW Client (given by UUID). This opens a communication channel 15 * between a host client and a FW client. From this point every read and write 16 * will communicate with the associated FW client. 17 * Only in close() (file_operation release()) the communication between 18 * the clients is disconnected 19 * 20 * The IOCTL argument is a struct with a union that contains 21 * the input parameter and the output parameter for this IOCTL. 22 * 23 * The input parameter is UUID of the FW Client. 24 * The output parameter is the properties of the FW client 25 * (FW protocol version and max message size). 26 * 27 */ 28 #define IOCTL_MEI_CONNECT_CLIENT \ 29 _IOWR('H' , 0x01, struct mei_connect_client_data) 30 31 /* 32 * Intel MEI client information struct 33 */ 34 struct mei_client { 35 __u32 max_msg_length; 36 __u8 protocol_version; 37 __u8 reserved[3]; 38 }; 39 40 /* 41 * IOCTL Connect Client Data structure 42 */ 43 struct mei_connect_client_data { 44 union { 45 uuid_le in_client_uuid; 46 struct mei_client out_client_properties; 47 }; 48 }; 49 50 /** 51 * DOC: set and unset event notification for a connected client 52 * 53 * The IOCTL argument is 1 for enabling event notification and 0 for 54 * disabling the service 55 * Return: -EOPNOTSUPP if the devices doesn't support the feature 56 */ 57 #define IOCTL_MEI_NOTIFY_SET _IOW('H', 0x02, __u32) 58 59 /** 60 * DOC: retrieve notification 61 * 62 * The IOCTL output argument is 1 if an event was is pending and 0 otherwise 63 * the ioctl has to be called in order to acknowledge pending event 64 * 65 * Return: -EOPNOTSUPP if the devices doesn't support the feature 66 */ 67 #define IOCTL_MEI_NOTIFY_GET _IOR('H', 0x03, __u32) 68 69 #endif /* _LINUX_MEI_H */ 70