public final int writeBytes()

in src/main/java/com/fazecast/jSerialComm/SerialPort.java [948:966]


	public final int writeBytes(byte[] buffer, int bytesToWrite, int offset)
	{
		// Ensure that the buffer is large enough to write the requested number of bytes
		if (bytesToWrite > (buffer.length - offset))
			return -2;

		// Write to the serial port until all bytes have been consumed
		int totalNumWritten = 0;
		while ((portHandle != 0) && (totalNumWritten != bytesToWrite))
		{
			int numWritten = (androidPort != null) ? androidPort.writeBytes(buffer, bytesToWrite - totalNumWritten, offset + totalNumWritten, timeoutMode) :
				writeBytes(portHandle, buffer, bytesToWrite - totalNumWritten, offset + totalNumWritten, timeoutMode);
			if (numWritten > 0)
				totalNumWritten += numWritten;
			else
				break;
		}
		return ((portHandle != 0) && (totalNumWritten >= 0)) ? totalNumWritten : -1;
	}