Three basic types are ACK, indicating that data was successfully received, NAK, indicating that the data cannot be received and should be retried, and STALL, indicating that the device has an error condition and cannot transfer data until some corrective action (such as device initialization) occurs.