Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / asm-s390 / cpcmd.h
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
10 #ifndef __CPCMD__
11 #define __CPCMD__
12
13 /*
14  * the lowlevel function for cpcmd
15  * the caller of __cpcmd has to ensure that the response buffer is below 2 GB
16  */
17 extern int __cpcmd(const char *cmd, char *response, int rlen, int *response_code);
18
19 #ifndef __s390x__
20 #define cpcmd __cpcmd
21 #else
22 /*
23  * cpcmd is the in-kernel interface for issuing CP commands
24  *
25  * cmd:         null-terminated command string, max 240 characters
26  * response:    response buffer for VM's textual response
27  * rlen:        size of the response buffer, cpcmd will not exceed this size
28  *              but will cap the output, if its too large. Everything that
29  *              did not fit into the buffer will be silently dropped
30  * response_code: return pointer for VM's error code
31  * return value: the size of the response. The caller can check if the buffer
32  *              was large enough by comparing the return value and rlen
33  * NOTE: If the response buffer is not below 2 GB, cpcmd can sleep
34  */
35 extern int cpcmd(const char *cmd, char *response, int rlen, int *response_code);
36 #endif /*__s390x__*/
37
38 #endif