Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
[linux-2.6] / 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 _ASM_S390_CPCMD_H
11 #define _ASM_S390_CPCMD_H
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 /*
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);
33
34 #endif /* _ASM_S390_CPCMD_H */