| 
									
										
										
										
											2005-06-25 14:55:32 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (C) 2004, 2005 IBM Corporation | 
					
						
							| 
									
										
										
										
											2006-09-20 15:59:24 +02:00
										 |  |  |  * Interface implementation for communication with the z/VM control program | 
					
						
							| 
									
										
										
										
											2005-06-25 14:55:32 -07:00
										 |  |  |  * Version 1.0 | 
					
						
							|  |  |  |  * Author(s): Christian Borntraeger <cborntra@de.ibm.com> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * z/VMs CP offers the possibility to issue commands via the diagnose code 8 | 
					
						
							|  |  |  |  * this driver implements a character device that issues these commands and | 
					
						
							|  |  |  |  * returns the answer of CP. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * The idea of this driver is based on cpint from Neale Ferguson | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/ioctl.h>
 | 
					
						
							| 
									
										
										
										
											2007-07-17 13:36:05 +02:00
										 |  |  | #include <linux/mutex.h>
 | 
					
						
							| 
									
										
										
										
											2005-06-25 14:55:32 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define VMCP_GETCODE _IOR(0x10, 1, int)
 | 
					
						
							|  |  |  | #define VMCP_SETBUF _IOW(0x10, 2, int)
 | 
					
						
							|  |  |  | #define VMCP_GETSIZE _IOR(0x10, 3, int)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct vmcp_session { | 
					
						
							|  |  |  | 	unsigned int bufsize; | 
					
						
							|  |  |  | 	char *response; | 
					
						
							|  |  |  | 	int resp_size; | 
					
						
							|  |  |  | 	int resp_code; | 
					
						
							|  |  |  | 	/* As we use copy_from/to_user, which might     *
 | 
					
						
							|  |  |  | 	 * sleep and cannot use a spinlock              */ | 
					
						
							| 
									
										
										
										
											2007-07-17 13:36:05 +02:00
										 |  |  | 	struct mutex mutex; | 
					
						
							| 
									
										
										
										
											2005-06-25 14:55:32 -07:00
										 |  |  | }; |