1 /* 2 * Copyright (C) 2004, 2005 IBM Corporation 3 * Interface implementation for communication with the z/VM control program 4 * Version 1.0 5 * Author(s): Christian Borntraeger <cborntra@de.ibm.com> 6 * 7 * 8 * z/VMs CP offers the possibility to issue commands via the diagnose code 8 9 * this driver implements a character device that issues these commands and 10 * returns the answer of CP. 11 * 12 * The idea of this driver is based on cpint from Neale Ferguson 13 */ 14 15 #include <linux/ioctl.h> 16 #include <linux/mutex.h> 17 18 #define VMCP_GETCODE _IOR(0x10, 1, int) 19 #define VMCP_SETBUF _IOW(0x10, 2, int) 20 #define VMCP_GETSIZE _IOR(0x10, 3, int) 21 22 struct vmcp_session { 23 unsigned int bufsize; 24 char *response; 25 int resp_size; 26 int resp_code; 27 /* As we use copy_from/to_user, which might * 28 * sleep and cannot use a spinlock */ 29 struct mutex mutex; 30 }; 31