| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  *  arch/s390/kernel/cpcmd.h | 
 | 3 |  * | 
 | 4 |  *  S390 version | 
 | 5 |  *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation | 
 | 6 |  *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com), | 
 | 7 |  *               Christian Borntraeger (cborntra@de.ibm.com), | 
 | 8 |  */ | 
 | 9 |  | 
| Heiko Carstens | 740b570 | 2006-12-04 15:40:30 +0100 | [diff] [blame] | 10 | #ifndef _ASM_S390_CPCMD_H | 
 | 11 | #define _ASM_S390_CPCMD_H | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 |  | 
 | 13 | /* | 
| Christian Borntraeger | 6b979de | 2005-06-25 14:55:32 -0700 | [diff] [blame] | 14 |  * the lowlevel function for cpcmd | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 |  * the caller of __cpcmd has to ensure that the response buffer is below 2 GB | 
 | 16 |  */ | 
| Christian Borntraeger | 6b979de | 2005-06-25 14:55:32 -0700 | [diff] [blame] | 17 | extern int __cpcmd(const char *cmd, char *response, int rlen, int *response_code); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 18 |  | 
| Christian Borntraeger | 6b979de | 2005-06-25 14:55:32 -0700 | [diff] [blame] | 19 | /* | 
 | 20 |  * cpcmd is the in-kernel interface for issuing CP commands | 
 | 21 |  * | 
 | 22 |  * cmd:		null-terminated command string, max 240 characters | 
 | 23 |  * response:	response buffer for VM's textual response | 
 | 24 |  * rlen:	size of the response buffer, cpcmd will not exceed this size | 
 | 25 |  *		but will cap the output, if its too large. Everything that | 
 | 26 |  *		did not fit into the buffer will be silently dropped | 
 | 27 |  * response_code: return pointer for VM's error code | 
 | 28 |  * return value: the size of the response. The caller can check if the buffer | 
 | 29 |  *		was large enough by comparing the return value and rlen | 
 | 30 |  * NOTE: If the response buffer is not below 2 GB, cpcmd can sleep | 
 | 31 |  */ | 
 | 32 | extern int cpcmd(const char *cmd, char *response, int rlen, int *response_code); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 |  | 
| Heiko Carstens | 740b570 | 2006-12-04 15:40:30 +0100 | [diff] [blame] | 34 | #endif /* _ASM_S390_CPCMD_H */ |