=== 9.4.1.1 Constrained Transfers With No Chaining === When the no chaining mode of output transfer is requested by the applet by calling the **setOutgoingNoChaining** method, the following protocol sequence shall be followed: When the no chaining mode is used (that is, after the invocation of the **setOutgoingNoChaining** method), calls to the **waitExtension** method shall throw an **APDUException** with reason code **ILLEGAL_USE**. == Notation == Le = CAD expected length. Lr = Applet response length set via **setOutgoingLength** method. = the protocol byte equal to the incoming header INS byte, which indicates that all data bytes will be transferred next. = the protocol byte that is the complement of the incoming header INS byte, which indicates that 1 data byte will be transferred next. = the response status bytes as in ISO7816-4. == ISO 7816-4 CASE 2 == == Le__Lr == 1. The card sends Lr bytes of output data using the standard T=0 or procedure byte mechanism. 2. The card sends completion status on completion of the **Applet.process** method. == Lr_ Le == 1. The card sends completion status bytes 2. The CAD sends GET RESPONSE command with Le = Lr. 3. The card sends Lr bytes of output data using the standard T=0 or procedure byte mechanism. 4. The card sends completion status on completion of the **Applet.process** method. == Lr_ Le == 1. The card sends Le bytes of output data using the standard T=0 or procedure byte mechanism. 2. The card sends completion status bytes 3. The CAD sends GET RESPONSE command with new Le <= Lr. 4. The card sends (new) Le bytes of output data using the standard T=0 or procedure byte mechanism. 5. Repeat steps 2-4 as necessary to send the remaining output data bytes (Lr) as required. 6. The card sends completion status on completion of the **Applet.process** method. == ISO 7816-4 CASE 4 == In Case 4, Le is determined after the following initial exchange: 1. The card sends 2. The CAD sends GET RESPONSE command with Le <= Lr. The rest of the protocol sequence is identical to CASE 2 described above. If the applet aborts early and sends less than Le bytes, zeros shall be sent instead to fill out the length of the transfer expected by the CAD.