| 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 */ |