blob: 3dfadb5d648f5de6a14d2010a101d377dadb0787 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Linus Torvalds1da177e2005-04-16 15:20:36 -07002 * S390 version
Heiko Carstensa53c8fa2012-07-20 11:15:04 +02003 * Copyright IBM Corp. 1999
Linus Torvalds1da177e2005-04-16 15:20:36 -07004 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
5 * Christian Borntraeger (cborntra@de.ibm.com),
6 */
7
Heiko Carstens740b5702006-12-04 15:40:30 +01008#ifndef _ASM_S390_CPCMD_H
9#define _ASM_S390_CPCMD_H
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
11/*
Christian Borntraeger6b979de2005-06-25 14:55:32 -070012 * the lowlevel function for cpcmd
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 * the caller of __cpcmd has to ensure that the response buffer is below 2 GB
14 */
Christian Borntraeger6b979de2005-06-25 14:55:32 -070015extern int __cpcmd(const char *cmd, char *response, int rlen, int *response_code);
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
Christian Borntraeger6b979de2005-06-25 14:55:32 -070017/*
18 * cpcmd is the in-kernel interface for issuing CP commands
19 *
20 * cmd: null-terminated command string, max 240 characters
21 * response: response buffer for VM's textual response
22 * rlen: size of the response buffer, cpcmd will not exceed this size
23 * but will cap the output, if its too large. Everything that
24 * did not fit into the buffer will be silently dropped
25 * response_code: return pointer for VM's error code
26 * return value: the size of the response. The caller can check if the buffer
27 * was large enough by comparing the return value and rlen
28 * NOTE: If the response buffer is not below 2 GB, cpcmd can sleep
29 */
30extern int cpcmd(const char *cmd, char *response, int rlen, int *response_code);
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
Heiko Carstens740b5702006-12-04 15:40:30 +010032#endif /* _ASM_S390_CPCMD_H */