Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/documentation/booksarch-handbookscsi_index/fr_FR/units/?format=api&page=7
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 358,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/units/?format=api&page=8",
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/units/?format=api&page=6",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    /* We assume that softc->first_hcb is the head of the list of all\n     * HCBs associated with this bus, including those enqueued for\n     * processing, being processed by hardware and disconnected ones.\n     */\n    for (h = softc->first_hcb; h != NULL; h = h->next) {\n        if (h->ccb == abort_ccb) {\n            hcb = h;\n            break;\n        }\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6003531185185911514,
            "content_hash": -6003531185185911514,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:694",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 168,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 55,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246796/?format=api",
            "priority": 100,
            "id": 1247232,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=2caf2c31f5038d26",
            "url": "https://translate-dev.freebsd.org/api/units/1247232/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.368923Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    if (hcb == NULL) {\n        /* no such CCB in our queue */\n        ccb->ccb_h.status = CAM_PATH_INVALID;\n        xpt_done(ccb);\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7644573077636779200,
            "content_hash": -7644573077636779200,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:701",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 169,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246798/?format=api",
            "priority": 100,
            "id": 1247233,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=15e90549dff1f340",
            "url": "https://translate-dev.freebsd.org/api/units/1247233/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.447346Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Now we look at the current processing status of the HCB.  It may be either sitting in the queue waiting to be sent to the SCSI bus, being transferred right now, or disconnected and waiting for the result of the command, or actually completed by hardware but not yet marked as done by software.  To make sure that we do not get in any races with hardware we mark the HCB as being aborted, so that if this HCB is about to be sent to the SCSI bus the SCSI controller will see this flag and skip it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7979385359998684553,
            "content_hash": -7979385359998684553,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:708",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 171,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 98,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246800/?format=api",
            "priority": 100,
            "id": 1247234,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=1143874aab537277",
            "url": "https://translate-dev.freebsd.org/api/units/1247234/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.466753Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    hstatus = get_hcb_status(hcb);\n    switch (hstatus) {\n    case HCB_SITTING_IN_QUEUE:\n        remove_hcb_from_hardware_queue(hcb);\n        /* FALLTHROUGH */\n    case HCB_COMPLETED:\n        /* this is an easy case */\n        free_hcb_and_ccb_done(hcb, abort_ccb, CAM_REQ_ABORTED);\n        break;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4043240677811312488,
            "content_hash": -4043240677811312488,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:729",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 175,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 25,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246802/?format=api",
            "priority": 100,
            "id": 1247235,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=47e3860689a5a898",
            "url": "https://translate-dev.freebsd.org/api/units/1247235/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.575585Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "If the CCB is being transferred right now we would like to signal to the SCSI controller in some hardware-dependent way that we want to abort the current transfer.  The SCSI controller would set the SCSI ATTENTION signal and when the target responds to it send an ABORT message.  We also reset the timeout to make sure that the target is not sleeping forever.  If the command would not get aborted in some reasonable time like 10 seconds the timeout routine would go ahead and reset the whole SCSI bus.  Since the command will be aborted in some reasonable time we can just return the abort request now as successfully completed, and mark the aborted CCB as aborted (but not mark it as done yet)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5442469201435145117,
            "content_hash": -5442469201435145117,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:736",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 176,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 125,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246804/?format=api",
            "priority": 100,
            "id": 1247236,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=34787718c3744c63",
            "url": "https://translate-dev.freebsd.org/api/units/1247236/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.660225Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    case HCB_BEING_TRANSFERRED:\n        untimeout(xxx_timeout, (caddr_t) hcb, abort_ccb->ccb_h.timeout_ch);\n        abort_ccb->ccb_h.timeout_ch =\n            timeout(xxx_timeout, (caddr_t) hcb, 10 * hz);\n        abort_ccb->ccb_h.status = CAM_REQ_ABORTED;\n        /* ask the controller to abort that HCB, then generate\n         * an interrupt and stop\n         */\n        if (signal_hardware_to_abort_hcb_and_stop(hcb) < 0) {\n            /* oops, we missed the race with hardware, this transaction\n             * got off the bus before we aborted it, try again */\n            goto abort_again;\n        }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4313169696377519300,
            "content_hash": 4313169696377519300,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:752",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 177,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 63,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246806/?format=api",
            "priority": 100,
            "id": 1247237,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=bbdb74fc988fbcc4",
            "url": "https://translate-dev.freebsd.org/api/units/1247237/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.669422Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "If the CCB is in the list of disconnected then set it up as an abort request and re-queue it at the front of hardware queue.  Reset the timeout and report the abort request to be completed."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2696060832400194310,
            "content_hash": 2696060832400194310,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:758",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 179,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246808/?format=api",
            "priority": 100,
            "id": 1247238,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=a56a550af00ebb06",
            "url": "https://translate-dev.freebsd.org/api/units/1247238/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.754112Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "That is all for the ABORT request, although there is one more issue.  As the ABORT message cleans all the ongoing transactions on a LUN we have to mark all the other active transactions on this LUN as aborted.  That should be done in the interrupt routine, after the transaction gets aborted."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2442965840376757359,
            "content_hash": -2442965840376757359,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:777",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 181,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 52,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246810/?format=api",
            "priority": 100,
            "id": 1247239,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=5e18d782f5ee0391",
            "url": "https://translate-dev.freebsd.org/api/units/1247239/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.855686Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Implementing the CCB abort as a function may be quite a good idea, this function can be re-used if an I/O transaction times out.  The only difference would be that the timed out transaction would return the status CAM_CMD_TIMEOUT for the timed out request.  Then the case XPT_ABORT would be small, like that:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7879492117798270127,
            "content_hash": 7879492117798270127,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:781",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 182,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 53,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246812/?format=api",
            "priority": 100,
            "id": 1247240,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=ed59945573db34af",
            "url": "https://translate-dev.freebsd.org/api/units/1247240/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.949539Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        if (abort_ccb->ccb_h.func_code != XPT_SCSI_IO) {\n            ccb->ccb_h.status = CAM_UA_ABORT;\n            xpt_done(ccb);\n            return;\n        }\n        if (xxx_abort_ccb(abort_ccb, CAM_REQ_ABORTED) < 0)\n            /* no such CCB in our queue */\n            ccb->ccb_h.status = CAM_PATH_INVALID;\n        else\n            ccb->ccb_h.status = CAM_REQ_CMP;\n        xpt_done(ccb);\n        return;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -798188249318925424,
            "content_hash": -798188249318925424,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:800",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 184,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246814/?format=api",
            "priority": 100,
            "id": 1247241,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=74ec440427745b90",
            "url": "https://translate-dev.freebsd.org/api/units/1247241/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:53.966868Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "_flags_ - consists of two parts, binary arguments and identification of sub-operations.  The binary arguments are:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2315126399109215499,
            "content_hash": -2315126399109215499,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:814",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 193,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246816/?format=api",
            "priority": 100,
            "id": 1247242,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=5fdf04ce5af74af5",
            "url": "https://translate-dev.freebsd.org/api/units/1247242/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.171762Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Two sets of negotiated parameters are supported, the user settings and the current settings.  The user settings are not really used much in the SIM drivers, this is mostly just a piece of memory where the upper levels can store (and later recall) its ideas about the parameters.  Setting the user parameters does not cause re-negotiation of the transfer rates.  But when the SCSI controller does a negotiation it must never set the values higher than the user parameters, so it is essentially the top boundary."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8920719549440205692,
            "content_hash": 8920719549440205692,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:824",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 199,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 86,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246818/?format=api",
            "priority": 100,
            "id": 1247243,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=fbccc32a8d44237c",
            "url": "https://translate-dev.freebsd.org/api/units/1247243/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.459187Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "The current settings are, as the name says, current.  Changing them means that the parameters must be re-negotiated on the next transfer.  Again, these \"new current settings\" are not supposed to be forced on the device, just they are used as the initial step of negotiations.  Also they must be limited by actual capabilities of the SCSI controller: for example, if the SCSI controller has 8-bit bus and the request asks to set 16-bit wide transfers this parameter must be silently truncated to 8-bit transfers before sending it to the device."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4823091710070583759,
            "content_hash": 4823091710070583759,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:829",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 200,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 91,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246820/?format=api",
            "priority": 100,
            "id": 1247244,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=c2ef105b41e371cf",
            "url": "https://translate-dev.freebsd.org/api/units/1247244/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.468586Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    cts = &ccb->cts;\n    targ = ccb_h->target_id;\n    lun = ccb_h->target_lun;\n    flags = cts->flags;\n    if (flags & CCB_TRANS_USER_SETTINGS) {\n        if (flags & CCB_TRANS_SYNC_RATE_VALID)\n            softc->user_sync_period[targ] = cts->sync_period;\n        if (flags & CCB_TRANS_SYNC_OFFSET_VALID)\n            softc->user_sync_offset[targ] = cts->sync_offset;\n        if (flags & CCB_TRANS_BUS_WIDTH_VALID)\n            softc->user_bus_width[targ] = cts->bus_width;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8978188597252778538,
            "content_hash": 8978188597252778538,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:857",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 208,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246822/?format=api",
            "priority": 100,
            "id": 1247245,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=fc98eef5f1b6ea2a",
            "url": "https://translate-dev.freebsd.org/api/units/1247245/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.656554Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        if (flags & CCB_TRANS_DISC_VALID) {\n            softc->user_tflags[targ][lun] &= ~CCB_TRANS_DISC_ENB;\n            softc->user_tflags[targ][lun] |= flags & CCB_TRANS_DISC_ENB;\n        }\n        if (flags & CCB_TRANS_TQ_VALID) {\n            softc->user_tflags[targ][lun] &= ~CCB_TRANS_TQ_ENB;\n            softc->user_tflags[targ][lun] |= flags & CCB_TRANS_TQ_ENB;\n        }\n    }\n    if (flags & CCB_TRANS_CURRENT_SETTINGS) {\n        if (flags & CCB_TRANS_SYNC_RATE_VALID)\n            softc->goal_sync_period[targ] =\n                max(cts->sync_period, OUR_MIN_SUPPORTED_PERIOD);\n        if (flags & CCB_TRANS_SYNC_OFFSET_VALID)\n            softc->goal_sync_offset[targ] =\n                min(cts->sync_offset, OUR_MAX_SUPPORTED_OFFSET);\n        if (flags & CCB_TRANS_BUS_WIDTH_VALID)\n            softc->goal_bus_width[targ] = min(cts->bus_width, OUR_BUS_WIDTH);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1023873138474143674,
            "content_hash": 1023873138474143674,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:876",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 209,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 58,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246824/?format=api",
            "priority": 100,
            "id": 1247246,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=8e358731d9d0cfba",
            "url": "https://translate-dev.freebsd.org/api/units/1247246/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.674649Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        if (flags & CCB_TRANS_DISC_VALID) {\n            softc->current_tflags[targ][lun] &= ~CCB_TRANS_DISC_ENB;\n            softc->current_tflags[targ][lun] |= flags & CCB_TRANS_DISC_ENB;\n        }\n        if (flags & CCB_TRANS_TQ_VALID) {\n            softc->current_tflags[targ][lun] &= ~CCB_TRANS_TQ_ENB;\n            softc->current_tflags[targ][lun] |= flags & CCB_TRANS_TQ_ENB;\n        }\n    }\n    ccb->ccb_h.status = CAM_REQ_CMP;\n    xpt_done(ccb);\n    return;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1003822090423757407,
            "content_hash": -1003822090423757407,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:889",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 210,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 34,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246826/?format=api",
            "priority": 100,
            "id": 1247247,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=7211b520929a15a1",
            "url": "https://translate-dev.freebsd.org/api/units/1247247/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.753743Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Then when the next I/O request will be processed it will check if it has to re-negotiate, for example by calling the function target_negotiated(hcb).  It can be implemented like this:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6953154947325333718,
            "content_hash": 6953154947325333718,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:893",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 211,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246828/?format=api",
            "priority": 100,
            "id": 1247248,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=e07e9195cf9390d6",
            "url": "https://translate-dev.freebsd.org/api/units/1247248/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.768454Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        if (softc->current_sync_period[targ] != softc->goal_sync_period[targ]\n        || softc->current_sync_offset[targ] != softc->goal_sync_offset[targ]\n        || softc->current_bus_width[targ] != softc->goal_bus_width[targ])\n            return 0; /* FALSE */\n        else\n            return 1; /* TRUE */\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6120957500689130113,
            "content_hash": -6120957500689130113,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:909",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 213,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246830/?format=api",
            "priority": 100,
            "id": 1247249,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=2b0dfd9556295d7f",
            "url": "https://translate-dev.freebsd.org/api/units/1247249/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.862923Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "After the values are re-negotiated the resulting values must be assigned to both current and goal parameters, so for future I/O transactions the current and goal parameters would be the same and `target_negotiated()` would return TRUE.  When the card is initialized (in `xxx_attach()`) the current negotiation values must be initialized to narrow asynchronous mode, the goal and current values must be initialized to the maximal values supported by controller."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6357502802046984747,
            "content_hash": 6357502802046984747,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:913",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 214,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 69,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246832/?format=api",
            "priority": 100,
            "id": 1247250,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=d83a631d6e8fa22b",
            "url": "https://translate-dev.freebsd.org/api/units/1247250/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.949248Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "This operations is the reverse of XPT_SET_TRAN_SETTINGS.  Fill up the CCB instance \"struct ccb_trans_setting cts\" with data as requested by the flags CCB_TRANS_CURRENT_SETTINGS or CCB_TRANS_USER_SETTINGS (if both are set then the existing drivers return the current settings).  Set all the bits in the valid field."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -589766250889036759,
            "content_hash": -589766250889036759,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:919",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 216,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 45,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246834/?format=api",
            "priority": 100,
            "id": 1247251,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=77d0bab8333ebc29",
            "url": "https://translate-dev.freebsd.org/api/units/1247251/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:54.971412Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "If the returned geometry differs much enough from what the SCSI controller BIOS thinks and a disk on this SCSI controller is used as bootable the system may not be able to boot.  The typical calculation example taken from the aic7xxx driver is:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4126511685296413766,
            "content_hash": 4126511685296413766,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:932",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 224,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 43,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246836/?format=api",
            "priority": 100,
            "id": 1247252,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=b9445083bb975c46",
            "url": "https://translate-dev.freebsd.org/api/units/1247252/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:55.262577Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "This gives the general idea, the exact calculation depends on the quirks of the particular BIOS.  If BIOS provides no way set the \"extended translation\" flag in EEPROM this flag should normally be assumed equal to 1.  Other popular geometries are:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 325505093533677395,
            "content_hash": 325505093533677395,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:962",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 228,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246838/?format=api",
            "priority": 100,
            "id": 1247253,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=84846d2870a7b753",
            "url": "https://translate-dev.freebsd.org/api/units/1247253/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:55.369431Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Polling xxx_poll"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5899192636297966934,
            "content_hash": 5899192636297966934,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1014",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 264,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246840/?format=api",
            "priority": 100,
            "id": 1247254,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=d1de24728c23f556",
            "url": "https://translate-dev.freebsd.org/api/units/1247254/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.159484Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "The poll function is used to simulate the interrupts when the interrupt subsystem is not functioning (for example, when the system has crashed and is creating the system dump).  The CAM subsystem sets the proper interrupt level before calling the poll routine.  So all it needs to do is to call the interrupt routine (or the other way around, the poll routine may be doing the real action and the interrupt routine would just call the poll routine).  Why bother about a separate function then? This has to do with different calling conventions.  The `xxx_poll` routine gets the struct cam_sim pointer as its argument while the PCI interrupt routine by common convention gets pointer to the struct `xxx_softc` and the ISA interrupt routine gets just the device unit number.  So the poll routine would normally look as:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4297586069154401367,
            "content_hash": -4297586069154401367,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1028",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 265,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 137,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246842/?format=api",
            "priority": 100,
            "id": 1247255,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=445be83d5c6273a9",
            "url": "https://translate-dev.freebsd.org/api/units/1247255/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.175073Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    sim = (struct cam_sim *)callback_arg;\n    softc = (struct xxx_softc *)cam_sim_softc(sim);\n    switch (code) {\n    case AC_LOST_DEVICE:\n        targ = xpt_path_target_id(path);\n        if (targ <= OUR_MAX_SUPPORTED_TARGET) {\n            clean_negotiations(softc, targ);\n            /* send indication to CAM */\n            neg.bus_width = 8;\n            neg.sync_period = neg.sync_offset = 0;\n            neg.valid = (CCB_TRANS_BUS_WIDTH_VALID\n                | CCB_TRANS_SYNC_RATE_VALID | CCB_TRANS_SYNC_OFFSET_VALID);\n            xpt_async(AC_TRANSFER_NEG, path, &neg);\n        }\n        break;\n    default:\n        break;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7329122152687138979,
            "content_hash": 7329122152687138979,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1092",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 278,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 54,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246844/?format=api",
            "priority": 100,
            "id": 1247256,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=e5b645c43a5cf8a3",
            "url": "https://translate-dev.freebsd.org/api/units/1247256/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.468432Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "The interrupt routines of the SIM drivers run at the interrupt level splcam.  So `splcam()` should be used in the driver to synchronize activity between the interrupt routine and the rest of the driver (for a multiprocessor-aware driver things get yet more interesting but we ignore this case here).  The pseudo-code in this document happily ignores the problems of synchronization.  The real code must not ignore them.  A simple-minded approach is to set `splcam()` on the entry to the other routines and reset it on return thus protecting them by one big critical section.  To make sure that the interrupt level will be always restored a wrapper function can be defined, like:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1332937660901483160,
            "content_hash": -1332937660901483160,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1105",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 281,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 112,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246846/?format=api",
            "priority": 100,
            "id": 1247257,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=6d807442763a1d68",
            "url": "https://translate-dev.freebsd.org/api/units/1247257/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.567915Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "This approach is simple and robust but the problem with it is that interrupts may get blocked for a relatively long time and this would negatively affect the system's performance.  On the other hand the functions of the `spl()` family have rather high overhead, so vast amount of tiny critical sections may not be good either."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4034635444908441429,
            "content_hash": -4034635444908441429,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1126",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 284,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246848/?format=api",
            "priority": 100,
            "id": 1247258,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=48021870740840ab",
            "url": "https://translate-dev.freebsd.org/api/units/1247258/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.751246Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "The conditions handled by the interrupt routine and the details depend very much on the hardware.  We consider the set of \"typical\" conditions."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7007835834336487087,
            "content_hash": 7007835834336487087,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1129",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 285,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 23,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246850/?format=api",
            "priority": 100,
            "id": 1247259,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=e140d58fede126af",
            "url": "https://translate-dev.freebsd.org/api/units/1247259/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.769169Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "First, we check if a SCSI reset was encountered on the bus (probably caused by another SCSI controller on the same SCSI bus).  If so we drop all the enqueued and disconnected requests, report the events and re-initialize our SCSI controller.  It is important that during this initialization the controller will not issue another reset or else two controllers on the same SCSI bus could ping-pong resets forever.  The case of fatal controller error/hang could be handled in the same place, but it will probably need also sending RESET signal to the SCSI bus to reset the status of the connections with the SCSI devices."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6640155775957863537,
            "content_hash": 6640155775957863537,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1134",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 286,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 105,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246852/?format=api",
            "priority": 100,
            "id": 1247260,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=dc26927f473a0c71",
            "url": "https://translate-dev.freebsd.org/api/units/1247260/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.777538Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    if (detected_scsi_reset(softc)\n    || (fatal = detected_fatal_controller_error(softc))) {\n        int targ, lun;\n        struct xxx_hcb *h, *hh;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7499271402865651307,
            "content_hash": 7499271402865651307,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1145",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 288,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246854/?format=api",
            "priority": 100,
            "id": 1247261,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=e812c39baa0d6e6b",
            "url": "https://translate-dev.freebsd.org/api/units/1247261/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.879018Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        /* drop all disconnected CCBs and clean negotiations  */\n        for (targ=0; targ <= OUR_MAX_SUPPORTED_TARGET; targ++) {\n            clean_negotiations(softc, targ);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3226662108104455373,
            "content_hash": -3226662108104455373,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1161",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 291,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246856/?format=api",
            "priority": 100,
            "id": 1247262,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=533897e884388b33",
            "url": "https://translate-dev.freebsd.org/api/units/1247262/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:56.969299Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "            /* report the event if possible */\n            if (xpt_create_path(&path, /*periph*/NULL,\n                    cam_sim_path(sim), targ,\n                    CAM_LUN_WILDCARD) == CAM_REQ_CMP) {\n                xpt_async(AC_TRANSFER_NEG, path, &neg);\n                xpt_free_path(path);\n            }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 222756865062497370,
            "content_hash": 222756865062497370,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1169",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 292,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246858/?format=api",
            "priority": 100,
            "id": 1247263,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=8317643045546c5a",
            "url": "https://translate-dev.freebsd.org/api/units/1247263/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.058532Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "            for (lun=0; lun <= OUR_MAX_SUPPORTED_LUN; lun++)\n                for (h = softc->first_discon_hcb[targ][lun]; h != NULL; h = hh) {\n                    hh=h->next;\n                    if (fatal)\n                        free_hcb_and_ccb_done(h, h->ccb, CAM_UNREC_HBA_ERROR);\n                    else\n                        free_hcb_and_ccb_done(h, h->ccb, CAM_SCSI_BUS_RESET);\n                }\n        }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1035162036925061612,
            "content_hash": -1035162036925061612,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1179",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 293,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246860/?format=api",
            "priority": 100,
            "id": 1247264,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=71a25d9ca81ca614",
            "url": "https://translate-dev.freebsd.org/api/units/1247264/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.083630Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        /* re-initialization may take a lot of time, in such case\n         * its completion should be signaled by another interrupt or\n         * checked on timeout - but for simplicity we assume here that\n         * it is really fast\n         */\n        if (!fatal) {\n            reinitialize_controller_without_scsi_reset(softc);\n        } else {\n            reinitialize_controller_with_scsi_reset(softc);\n        }\n        schedule_next_hcb(softc);\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4759196265224763731,
            "content_hash": -4759196265224763731,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1196",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 295,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 51,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246862/?format=api",
            "priority": 100,
            "id": 1247265,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=3df3f0364ae986ad",
            "url": "https://translate-dev.freebsd.org/api/units/1247265/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.168453Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "If interrupt is not caused by a controller-wide condition then probably something has happened to the current hardware control block.  Depending on the hardware there may be other non-HCB-related events, we just do not consider them here.  Then we analyze what happened to this HCB:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2118384225132859264,
            "content_hash": 2118384225132859264,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1201",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 296,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 45,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246864/?format=api",
            "priority": 100,
            "id": 1247266,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=9d66033aa4d5cf80",
            "url": "https://translate-dev.freebsd.org/api/units/1247266/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.251450Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    hcb = get_current_hcb(softc);\n    if (hcb == NULL) {\n        /* either stray interrupt or something went very wrong\n         * or this is something hardware-dependent\n         */\n        handle as necessary;\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1645090998072408747,
            "content_hash": -1645090998072408747,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1218",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 298,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 29,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246866/?format=api",
            "priority": 100,
            "id": 1247267,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=692b76740cb38555",
            "url": "https://translate-dev.freebsd.org/api/units/1247267/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.280101Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    if (hcb_status == COMPLETED) {\n        scsi_status = get_completion_status(hcb);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6803390068105159388,
            "content_hash": -6803390068105159388,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1229",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 301,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246868/?format=api",
            "priority": 100,
            "id": 1247268,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=219580c76a2bdd24",
            "url": "https://translate-dev.freebsd.org/api/units/1247268/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.366179Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        if (hcb->flags & DOING_AUTOSENSE) {\n            if (scsi_status == GOOD) { /* autosense was successful */\n                hcb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;\n                free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);\n            } else {\n        autosense_failed:\n                free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_AUTOSENSE_FAIL);\n            }\n            schedule_next_hcb(softc);\n            return;\n        }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -959796761266528601,
            "content_hash": -959796761266528601,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1246",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 303,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 32,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246870/?format=api",
            "priority": 100,
            "id": 1247269,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=72ae1dee4c235ea7",
            "url": "https://translate-dev.freebsd.org/api/units/1247269/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.380763Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Else the command itself has completed, pay more attention to details.  If auto-sense is not disabled for this CCB and the command has failed with sense data then run REQUEST SENSE command to receive that data."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2838786994445323958,
            "content_hash": 2838786994445323958,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1250",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 304,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 36,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246872/?format=api",
            "priority": 100,
            "id": 1247270,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=a76565bb1ce98eb6",
            "url": "https://translate-dev.freebsd.org/api/units/1247270/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.468731Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "        if ((hcb->ccb->ccb_h.flags & CAM_DIS_AUTOSENSE)==0\n        && (scsi_status == CHECK_CONDITION\n                || scsi_status == COMMAND_TERMINATED)) {\n            /* start auto-SENSE */\n            hcb->flags |= DOING_AUTOSENSE;\n            setup_autosense_command_in_hcb(hcb);\n            restart_current_hcb(softc);\n            return;\n        }\n        if (scsi_status == GOOD)\n            free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_REQ_CMP);\n        else\n            free_hcb_and_ccb_done(hcb, hcb->ccb, CAM_SCSI_STATUS_ERROR);\n        schedule_next_hcb(softc);\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -260208958984224181,
            "content_hash": -260208958984224181,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1272",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 306,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246874/?format=api",
            "priority": 100,
            "id": 1247271,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=7c638d54985f024b",
            "url": "https://translate-dev.freebsd.org/api/units/1247271/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.561178Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    switch (hcb_status) {\n    case TARGET_REJECTED_WIDE_NEG:\n        /* revert to 8-bit bus */\n        softc->current_bus_width[targ] = softc->goal_bus_width[targ] = 8;\n        /* report the event */\n        neg.bus_width = 8;\n        neg.valid = CCB_TRANS_BUS_WIDTH_VALID;\n        xpt_async(AC_TRANSFER_NEG, hcb->ccb.ccb_h.path_id, &neg);\n        continue_current_hcb(softc);\n        return;\n    case TARGET_ANSWERED_WIDE_NEG:\n        {\n            int wd;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6809792001358395528,
            "content_hash": -6809792001358395528,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1291",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 308,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246876/?format=api",
            "priority": 100,
            "id": 1247272,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=217ec2412cbc8778",
            "url": "https://translate-dev.freebsd.org/api/units/1247272/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.647892Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "            wd = get_target_bus_width_request(softc);\n            if (wd <= softc->goal_bus_width[targ]) {\n                /* answer is acceptable */\n                softc->current_bus_width[targ] =\n                softc->goal_bus_width[targ] = neg.bus_width = wd;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6389698159738762725,
            "content_hash": -6389698159738762725,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1297",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 309,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246878/?format=api",
            "priority": 100,
            "id": 1247273,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=27533b60b6cdca1b",
            "url": "https://translate-dev.freebsd.org/api/units/1247273/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.656056Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "            if (wd != softc->current_bus_width[targ]) {\n                /* the bus width has changed */\n                softc->current_bus_width[targ] =\n                softc->goal_bus_width[targ] = neg.bus_width = wd;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8101442410703244729,
            "content_hash": 8101442410703244729,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1319",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 312,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246880/?format=api",
            "priority": 100,
            "id": 1247274,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=f06e1af302404db9",
            "url": "https://translate-dev.freebsd.org/api/units/1247274/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.747925Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "Then we handle any errors that could have happened during auto-sense in the same simple-minded way as before.  Otherwise we look closer at the details again."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6538842540437933700,
            "content_hash": 6538842540437933700,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1333",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 314,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 26,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246882/?format=api",
            "priority": 100,
            "id": 1247275,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=dabea2a571040e84",
            "url": "https://translate-dev.freebsd.org/api/units/1247275/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.784115Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    if (hcb->flags & DOING_AUTOSENSE)\n        goto autosense_failed;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2917498665034543691,
            "content_hash": -2917498665034543691,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1338",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 315,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246884/?format=api",
            "priority": 100,
            "id": 1247276,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=5782f66bf5f08db5",
            "url": "https://translate-dev.freebsd.org/api/units/1247276/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.863566Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    switch (hcb_status) {\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 390234299119421792,
            "content_hash": 390234299119421792,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1340",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 316,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246886/?format=api",
            "priority": 100,
            "id": 1247277,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=856a64070a2fc960",
            "url": "https://translate-dev.freebsd.org/api/units/1247277/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.873312Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "The next event we consider is unexpected disconnect.  Which is considered normal after an ABORT or BUS DEVICE RESET message and abnormal in other cases."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1799854730278468772,
            "content_hash": -1799854730278468772,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1344",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 317,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 25,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246888/?format=api",
            "priority": 100,
            "id": 1247278,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=6705a1a8aa72035c",
            "url": "https://translate-dev.freebsd.org/api/units/1247278/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:57.971900Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    case UNEXPECTED_DISCONNECT:\n        if (requested_abort(hcb)) {\n            /* abort affects all commands on that target+LUN, so\n             * mark all disconnected HCBs on that target+LUN as aborted too\n             */\n            for (h = softc->first_discon_hcb[hcb->target][hcb->lun];\n                    h != NULL; h = hh) {\n                hh=h->next;\n                free_hcb_and_ccb_done(h, h->ccb, CAM_REQ_ABORTED);\n            }\n            ccb_status = CAM_REQ_ABORTED;\n        } else if (requested_bus_device_reset(hcb)) {\n            int lun;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 656442984913075183,
            "content_hash": 656442984913075183,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1360",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 318,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 52,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246890/?format=api",
            "priority": 100,
            "id": 1247279,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=891c276ab30a7bef",
            "url": "https://translate-dev.freebsd.org/api/units/1247279/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:58.054111Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "            for (lun=0; lun <= OUR_MAX_SUPPORTED_LUN; lun++)\n                for (h = softc->first_discon_hcb[hcb->target][lun];\n                        h != NULL; h = hh) {\n                    hh=h->next;\n                    free_hcb_and_ccb_done(h, h->ccb, CAM_SCSI_BUS_RESET);\n                }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 196000478448808,
            "content_hash": 196000478448808,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1371",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 320,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246892/?format=api",
            "priority": 100,
            "id": 1247280,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=8000b242eae4cca8",
            "url": "https://translate-dev.freebsd.org/api/units/1247280/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:58.157645Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/fr_FR/?format=api",
            "source": [
                "    if (hcb->ccb->ccb_h.status & CAM_DEV_QFRZN) {\n        /* freeze the queue */\n        xpt_freeze_devq(ccb->ccb_h.path, /*count*/1);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1931088707839919701,
            "content_hash": 1931088707839919701,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:1438",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 329,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246894/?format=api",
            "priority": 100,
            "id": 1247281,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/fr_FR/?checksum=9acc9af2cc910655",
            "url": "https://translate-dev.freebsd.org/api/units/1247281/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-07-24T14:56:58.553199Z"
        }
    ]
}