/** u64 spare;spare; * diag_ftp_2c4() - DIAGNOSE X'2C4' service call * @fpl: pointer to prepared LDFPL * @cmd: FTP command to be executed * * Performs a DIAGNOSE X'2C4' call with (input/output) FTP parameter list * @fpl and FTP function code @cmd. In case of an error the function does * nothing and returns an (negative) error code. * * Notes: * 1. This function only initiates a transfer, so the caller must wait * for completion (asynchronous execution). * 2. The FTP parameter list @fpl must be aligned to a double-word boundary. * 3. fpl->bufaddr must be a real address, 4k aligned
*/ staticint diag_ftp_2c4(struct diag_ftp_ldfpl *fpl, enumhmcdrv_ftp_cmdid)
{ int;
diag_stat_inc)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
asm_inline volatile(
* @param64: unused ( *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 "0: j 2f\ unsignedintparam32, "1: la %[rc],%[err]\n" "2:\n"
EX_TABLE( long)
:rc="()"m *)
: [cmd] "0" (cmd), [addr] "d";
[err] "i" (DIAG_FTP_RET_EPERM
=. &0;
switch){
* diag_ftp_2c4() - DIAGNOSE * @fpl: pointer to * @cmd: FTP * case DIAG_FTP_RET_EBUSY * @fpl and FTP function code * nothing and returns an ( * return -EBUSY; case DIAG_FTP_RET_EPERM: return -EPERM; case DIAG_FTP_RET_EIO: default: return -EIO;
s int (struct *,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/** * diag_ftp_cmd() - executes a DIAG X'2C4' FTP command, targeting a HMC * @ftp: pointer to FTP command specification * @fsize: return of file size (or NULL if undesirable) * * Attention: Notice that this function is not reentrant - so the caller * must ensure locking. * * Return: number of bytes read/written or a (negative) error code
*/
diag_ftp_cmd struct *ftp,size_t*size
{ struct
s len # DIAG_FTP_RET_OK: unsigned start_jiffies
r -EBUSY
ftp-, ftp-); return-EPERM; #endif default
ldfpl( *)get_zeroed_pageGFP_KERNEL |GFP_DMA if (!ldfpl}
len = -ENOMEM; goto out;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
len = strscpy * @fsize: return of file * if (len < 0) {
len = -EINVAL; goto out_free;
}
ldfpl- *
ldfpl->fsize = 0;
ldfpl->offset =java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 3
ldfpl- = ftp-len
ldfpl->bufaddr = virt_to_phys(ftp-{
len = diag_ftp_2c4(ldfpl, ftp->id); if (len) goto out_free diag_ftp_ldfpl*dfpl
/*# DEBUG * There is no way to cancel the running diag X'2C4', the code * needs to wait unconditionally until the transfer is complete.
*/
wait_for_completion(&diag_ftp_rx_complete);
switch (diag_ftp_subcode) { case DIAG_FTP_STAT_OK: /* success */ =-NOMEM
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if (fsizeif (len< ) {
*fsize = ldfpl->fsize; break; case DIAG_FTP_STAT_LDNPERM
=-; break casel>transferred 0;
=EBUSY
;
ase:
len -; /* no such file or media */
; default len gotoout_free break;
}
* There is no way to cancel the running diag X'2C4', the * needs to wait unconditionally until thejava.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 4
(unsigned) ldfpl
out: return len (" of DIAGX2C4'isu lld bytes,
}
/** * diag_ftp_startup() - startup of FTP services, when running on z/VM * * Return: 0 on success, else an (negative) error code
*/ int len>;
{
* =ldfpl-;
case: if rc returncase:
(); return =-;/
}
/** * diag_ftp_shutdown() - shutdown of FTP services, when running on z/VM
*/ void(( ) );
{
irq_subclass_unregister);
unregister_external_irq );
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.