cpcmd(cp_command, cp_response, sizeof(cp_response)); 
cpcmd(cp_command, cp_response, sizeof(cp_response), NULL); 
vmlogrdr_recording(struct vmlogrdr_priv_t * logptr, int action, int purge) {	char cp_command[80];	char cp_response[160];	char *onoff, *qid_string;	memset(cp_command, 0x00, sizeof(cp_command));	memset(cp_response, 0x00, sizeof(cp_response));        onoff = ((action == 1) ? "ON" : "OFF");	qid_string = ((recording_class_AB == 1) ? " QID * " : "");        /*	 * The recording commands needs to be called with option QID	 * for guests that have previlege classes A or B.	 * Purging has to be done as separate step, because recording	 * can't be switched on as long as records are on the queue.	 * Doing both at the same time doesn't work.	 */	if (purge) {		snprintf(cp_command, sizeof(cp_command),			 "RECORDING %s PURGE %s",			 logptr->recording_name,			 qid_string);		printk (KERN_DEBUG "vmlogrdr: recording command: %s\n",			cp_command);		cpcmd(cp_command, cp_response, sizeof(cp_response));		printk (KERN_DEBUG "vmlogrdr: recording response: %s",			cp_response);	}	memset(cp_command, 0x00, sizeof(cp_command));	memset(cp_response, 0x00, sizeof(cp_response));	snprintf(cp_command, sizeof(cp_command), "RECORDING %s %s %s",		logptr->recording_name,		onoff,		qid_string);	printk (KERN_DEBUG "vmlogrdr: recording command: %s\n", cp_command);	cpcmd(cp_command, cp_response, sizeof(cp_response));	printk (KERN_DEBUG "vmlogrdr: recording response: %s",		cp_response);	/* The recording command will usually answer with 'Command complete'	 * on success, but when the specific service was never connected	 * before then there might be an additional informational message	 * 'HCPCRC8072I Recording entry not found' before the         * 'Command complete'. So I use strstr rather then the strncmp.	 */	if (strstr(cp_response,"Command complete"))		return 0;	else		return -EIO;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6b979de395c7e1b7e59f74a870e1d1911853eccb/vmlogrdr.c/buggy/drivers/s390/char/vmlogrdr.c