Translation components API.

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

GET /api/translations/documentation/booksarch-handbookscsi_index/pt/units/?format=api&page=3
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/pt/units/?format=api&page=4",
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/units/?format=api&page=2",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_dxfer_len_ - length of the data to transfer"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5690746484408782370,
            "content_hash": 5690746484408782370,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:356",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 101,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055166/?format=api",
            "priority": 100,
            "id": 1560023,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=cef997c6d5fd0e22",
            "url": "https://translate-dev.freebsd.org/api/units/1560023/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:47:59.890606Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_sglist_cnt_ - counter of the scatter/gather segments"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6386756857404387005,
            "content_hash": 6386756857404387005,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:357",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 102,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055168/?format=api",
            "priority": 100,
            "id": 1560024,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=d8a25185f860eebd",
            "url": "https://translate-dev.freebsd.org/api/units/1560024/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:47:59.895465Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_scsi_status_ - place to return the SCSI status"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 172911068764344057,
            "content_hash": 172911068764344057,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:358",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 103,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055170/?format=api",
            "priority": 100,
            "id": 1560025,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=82664db36f6e8ef9",
            "url": "https://translate-dev.freebsd.org/api/units/1560025/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:47:59.983917Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_sense_data_ - buffer for the SCSI sense information if the command returns an error (the SIM driver is supposed to run the REQUEST SENSE command automatically in this case if the CCB flag CAM_DIS_AUTOSENSE is not set)"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5444032694823806910,
            "content_hash": 5444032694823806910,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:359",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 104,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055172/?format=api",
            "priority": 100,
            "id": 1560026,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=cb8d16e46895e7be",
            "url": "https://translate-dev.freebsd.org/api/units/1560026/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:47:59.988732Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_sense_len_ - the length of that buffer (if it happens to be higher than size of sense_data the SIM driver must silently assume the smaller value)"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2380508546570683774,
            "content_hash": 2380508546570683774,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:360",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 105,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 26,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246740/?format=api",
            "priority": 100,
            "id": 1560027,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=a10943e91f20857e",
            "url": "https://translate-dev.freebsd.org/api/units/1560027/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:47:59.993707Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_resid_, _sense_resid_ - if the transfer of data or SCSI sense returned an error these are the returned counters of the residual (not transferred) data.  They do not seem to be especially meaningful, so in a case when they are difficult to compute (say, counting bytes in the SCSI controller's FIFO buffer) an approximate value will do as well.  For a successfully completed transfer they must be set to zero."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7922193534683376857,
            "content_hash": 7922193534683376857,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:363",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 106,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 70,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246742/?format=api",
            "priority": 100,
            "id": 1560028,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=edf1490bd4b2ecd9",
            "url": "https://translate-dev.freebsd.org/api/units/1560028/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:47:59.999278Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_tag_action_ - the kind of tag to use:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2231603517081813089,
            "content_hash": -2231603517081813089,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:364",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 107,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055176/?format=api",
            "priority": 100,
            "id": 1560029,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=6107c06cbcd37f9f",
            "url": "https://translate-dev.freebsd.org/api/units/1560029/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.094258Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "CAM_TAG_ACTION_NONE - do not use tags for this transaction"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8147000844812914171,
            "content_hash": 8147000844812914171,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:365",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 108,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 9,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055178/?format=api",
            "priority": 100,
            "id": 1560030,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=f10ff61a8be18dfb",
            "url": "https://translate-dev.freebsd.org/api/units/1560030/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.099324Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "MSG_SIMPLE_Q_TAG, MSG_HEAD_OF_Q_TAG, MSG_ORDERED_Q_TAG - value equal to the appropriate tag message (see /sys/cam/scsi/scsi_message.h); this gives only the tag type, the SIM driver must assign the tag value itself"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2910774261070248892,
            "content_hash": 2910774261070248892,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:366",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 109,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 28,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055180/?format=api",
            "priority": 100,
            "id": 1560031,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=a86525c4bc713bbc",
            "url": "https://translate-dev.freebsd.org/api/units/1560031/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.102087Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "The general logic of handling this request is the following:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3728519611557002820,
            "content_hash": -3728519611557002820,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:368",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 110,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186610/?format=api",
            "priority": 100,
            "id": 1560032,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=4c41a32af71141bc",
            "url": "https://translate-dev.freebsd.org/api/units/1560032/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.186748Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "The first thing to do is to check for possible races, to make sure that the command did not get aborted when it was sitting in the queue:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1569364709889449692,
            "content_hash": -1569364709889449692,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:370",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 111,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 28,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186612/?format=api",
            "priority": 100,
            "id": 1560033,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=6a387f1c78016124",
            "url": "https://translate-dev.freebsd.org/api/units/1560033/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.192260Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    struct ccb_scsiio *csio = &ccb->csio;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 122574670568478383,
            "content_hash": 122574670568478383,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:374",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 112,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055186/?format=api",
            "priority": 100,
            "id": 1560034,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=81b3790371b1d6af",
            "url": "https://translate-dev.freebsd.org/api/units/1560034/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.197611Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if ((ccb_h->status & CAM_STATUS_MASK) != CAM_REQ_INPROG) {\n        xpt_done(ccb);\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2156622001741607585,
            "content_hash": 2156622001741607585,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:379",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 113,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055188/?format=api",
            "priority": 100,
            "id": 1560035,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=9deddc48c899b2a1",
            "url": "https://translate-dev.freebsd.org/api/units/1560035/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.282223Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Also we check that the device is supported at all by our controller:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2280930717763830199,
            "content_hash": 2280930717763830199,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:382",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 114,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186614/?format=api",
            "priority": 100,
            "id": 1560036,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=9fa77e67259701b7",
            "url": "https://translate-dev.freebsd.org/api/units/1560036/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.294878Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if (ccb_h->target_id > OUR_MAX_SUPPORTED_TARGET_ID\n    || cch_h->target_id == OUR_SCSI_CONTROLLERS_OWN_ID) {\n        ccb_h->status = CAM_TID_INVALID;\n        xpt_done(ccb);\n        return;\n    }\n    if (ccb_h->target_lun > OUR_MAX_SUPPORTED_LUN) {\n        ccb_h->status = CAM_LUN_INVALID;\n        xpt_done(ccb);\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8856569995573329061,
            "content_hash": -8856569995573329061,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:396",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 115,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 26,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246744/?format=api",
            "priority": 100,
            "id": 1560037,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=051724835d78035b",
            "url": "https://translate-dev.freebsd.org/api/units/1560037/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.300339Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Then allocate whatever data structures (such as card-dependent hardware control block) we need to process this request.  If we can not then freeze the SIM queue and remember that we have a pending operation, return the CCB back and ask CAM to re-queue it.  Later when the resources become available the SIM queue must be unfrozen by returning a ccb with the `CAM_SIMQ_RELEASE` bit set in its status.  Otherwise, if all went well, link the CCB with the hardware control block (HCB) and mark it as queued."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3630451416585899396,
            "content_hash": 3630451416585899396,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:402",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 116,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 87,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246746/?format=api",
            "priority": 100,
            "id": 1560038,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=b261f45413ea8d84",
            "url": "https://translate-dev.freebsd.org/api/units/1560038/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.303987Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    struct xxx_hcb *hcb = allocate_hcb(softc, unit, bus);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3483573802881283243,
            "content_hash": -3483573802881283243,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:406",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 117,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055196/?format=api",
            "priority": 100,
            "id": 1560039,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=4fa7dc1542678b55",
            "url": "https://translate-dev.freebsd.org/api/units/1560039/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.381772Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if (hcb == NULL) {\n        softc->flags |= RESOURCE_SHORTAGE;\n        xpt_freeze_simq(sim, /*count*/1);\n        ccb_h->status = CAM_REQUEUE_REQ;\n        xpt_done(ccb);\n        return;\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6626135233982770067,
            "content_hash": 6626135233982770067,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:414",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 118,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246748/?format=api",
            "priority": 100,
            "id": 1560040,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=dbf4c2e3773e2b93",
            "url": "https://translate-dev.freebsd.org/api/units/1560040/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.388705Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    hcb->ccb = ccb; ccb_h->ccb_hcb = (void *)hcb;\n    ccb_h->status |= CAM_SIM_QUEUED;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2886597334057147437,
            "content_hash": 2886597334057147437,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:417",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 119,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055200/?format=api",
            "priority": 100,
            "id": 1560041,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=a80f40fb4210dc2d",
            "url": "https://translate-dev.freebsd.org/api/units/1560041/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.392454Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Extract the target data from CCB into the hardware control block.  Check if we are asked to assign a tag and if yes then generate an unique tag and build the SCSI tag messages.  The SIM driver is also responsible for negotiations with the devices to set the maximal mutually supported bus width, synchronous rate and offset."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4674368610876319550,
            "content_hash": -4674368610876319550,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:422",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 120,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 57,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246750/?format=api",
            "priority": 100,
            "id": 1560042,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=3f214e83a77b18c2",
            "url": "https://translate-dev.freebsd.org/api/units/1560042/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.396122Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    hcb->target = ccb_h->target_id; hcb->lun = ccb_h->target_lun;\n    generate_identify_message(hcb);\n    if (ccb_h->tag_action != CAM_TAG_ACTION_NONE)\n        generate_unique_tag_message(hcb, ccb_h->tag_action);\n    if (!target_negotiated(hcb))\n        generate_negotiation_messages(hcb);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5296891910313973804,
            "content_hash": -5296891910313973804,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:431",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 121,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246752/?format=api",
            "priority": 100,
            "id": 1560043,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=367da8df281867d4",
            "url": "https://translate-dev.freebsd.org/api/units/1560043/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.400048Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Then set up the SCSI command.  The command storage may be specified in the CCB in many interesting ways, specified by the CCB flags.  The command buffer can be contained in CCB or pointed to, in the latter case the pointer may be physical or virtual.  Since the hardware commonly needs physical address we always convert the address to the physical one, typically using the busdma API."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1954589363262559067,
            "content_hash": -1954589363262559067,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:437",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 122,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 67,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246754/?format=api",
            "priority": 100,
            "id": 1560044,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=64dfe75478fa6ca5",
            "url": "https://translate-dev.freebsd.org/api/units/1560044/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.404220Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "In case if a physical address is requested it is OK to return the CCB with the status `CAM_REQ_INVALID`, the current drivers do that.  If necessary a physical address can be also converted or mapped back to a virtual address but with big pain, so we do not do that."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7096409896411496682,
            "content_hash": 7096409896411496682,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:440",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 123,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 50,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246756/?format=api",
            "priority": 100,
            "id": 1560045,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=e27b8333d02c80ea",
            "url": "https://translate-dev.freebsd.org/api/units/1560045/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.482694Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if (ccb_h->flags & CAM_CDB_POINTER) {\n        /* CDB is a pointer */\n        if (!(ccb_h->flags & CAM_CDB_PHYS)) {\n            /* CDB pointer is virtual */\n            hcb->cmd = vtobus(csio->cdb_io.cdb_ptr);\n        } else {\n            /* CDB pointer is physical */\n            hcb->cmd = csio->cdb_io.cdb_ptr ;\n        }\n    } else {\n        /* CDB is in the ccb (buffer) */\n        hcb->cmd = vtobus(csio->cdb_io.cdb_bytes);\n    }\n    hcb->cmdlen = csio->cdb_len;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5315957952324026597,
            "content_hash": -5315957952324026597,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:457",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 124,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 57,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246758/?format=api",
            "priority": 100,
            "id": 1560046,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=3639ec6852d03f1b",
            "url": "https://translate-dev.freebsd.org/api/units/1560046/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.496950Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Now it is time to set up the data.  Again, the data storage may be specified in the CCB in many interesting ways, specified by the CCB flags.  First we get the direction of the data transfer.  The simplest case is if there is no data to transfer:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5976996877688237247,
            "content_hash": 5976996877688237247,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:463",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 125,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 48,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246760/?format=api",
            "priority": 100,
            "id": 1560047,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=d2f28efe2639ecbf",
            "url": "https://translate-dev.freebsd.org/api/units/1560047/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.500705Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    int dir = (ccb_h->flags & CAM_DIR_MASK);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1097975962552830880,
            "content_hash": 1097975962552830880,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:467",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 126,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055214/?format=api",
            "priority": 100,
            "id": 1560048,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=8f3ccb5213e10ba0",
            "url": "https://translate-dev.freebsd.org/api/units/1560048/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.582842Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if (dir == CAM_DIR_NONE)\n        goto end_data;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5921752949743915795,
            "content_hash": 5921752949743915795,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:470",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 127,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055216/?format=api",
            "priority": 100,
            "id": 1560049,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=d22e4aeed91b9313",
            "url": "https://translate-dev.freebsd.org/api/units/1560049/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.586627Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Then we check if the data is in one chunk or in a scatter-gather list, and the addresses are physical or virtual.  The SCSI controller may be able to handle only a limited number of chunks of limited length.  If the request hits this limitation we return an error.  We use a special function to return the CCB to handle in one place the HCB resource shortages.  The functions to add chunks are driver-dependent, and here we leave them without detailed implementation.  See description of the SCSI command (CDB) handling for the details on the address-translation issues.  If some variation is too difficult or impossible to implement with a particular card it is OK to return the status `CAM_REQ_INVALID`.  Actually, it seems like the scatter-gather ability is not used anywhere in the CAM code now.  But at least the case for a single non-scattered virtual buffer must be implemented, it is actively used by CAM."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5587607330246681287,
            "content_hash": 5587607330246681287,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:481",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 128,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 155,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246762/?format=api",
            "priority": 100,
            "id": 1560050,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=cd8b2b432fb8e2c7",
            "url": "https://translate-dev.freebsd.org/api/units/1560050/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.590381Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    int rv;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5852425935704720785,
            "content_hash": -5852425935704720785,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:485",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 129,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055220/?format=api",
            "priority": 100,
            "id": 1560051,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=2ec8019e74097a6f",
            "url": "https://translate-dev.freebsd.org/api/units/1560051/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.687773Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    initialize_hcb_for_data(hcb);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4448843079717488454,
            "content_hash": -4448843079717488454,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:487",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 130,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055222/?format=api",
            "priority": 100,
            "id": 1560052,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=424288ca3bfbf8ba",
            "url": "https://translate-dev.freebsd.org/api/units/1560052/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.691805Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if ((!(ccb_h->flags & CAM_SCATTER_VALID)) {\n        /* single buffer */\n        if (!(ccb_h->flags & CAM_DATA_PHYS)) {\n            rv = add_virtual_chunk(hcb, csio->data_ptr, csio->dxfer_len, dir);\n            }\n        } else {\n            rv = add_physical_chunk(hcb, csio->data_ptr, csio->dxfer_len, dir);\n        }\n    } else {\n        int i;\n        struct bus_dma_segment *segs;\n        segs = (struct bus_dma_segment *)csio->data_ptr;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4786901564299591920,
            "content_hash": 4786901564299591920,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:500",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 131,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 44,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246764/?format=api",
            "priority": 100,
            "id": 1560053,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=c26e7d9c52d6c0f0",
            "url": "https://translate-dev.freebsd.org/api/units/1560053/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.695016Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "        if ((ccb_h->flags & CAM_SG_LIST_PHYS) != 0) {\n            /* The SG list pointer is physical */\n            rv = setup_hcb_for_physical_sg_list(hcb, segs, csio->sglist_cnt);\n        } else if (!(ccb_h->flags & CAM_DATA_PHYS)) {\n            /* SG buffer pointers are virtual */\n            for (i = 0; i < csio->sglist_cnt; i++) {\n                rv = add_virtual_chunk(hcb, segs[i].ds_addr,\n                    segs[i].ds_len, dir);\n                if (rv != CAM_REQ_CMP)\n                    break;\n            }\n        } else {\n            /* SG buffer pointers are physical */\n            for (i = 0; i < csio->sglist_cnt; i++) {\n                rv = add_physical_chunk(hcb, segs[i].ds_addr,\n                    segs[i].ds_len, dir);\n                if (rv != CAM_REQ_CMP)\n                    break;\n            }\n        }\n    }\n    if (rv != CAM_REQ_CMP) {\n        /* we expect that add_*_chunk() functions return CAM_REQ_CMP\n         * if they added a chunk successfully, CAM_REQ_TOO_BIG if\n         * the request is too big (too many bytes or too many chunks),\n         * CAM_REQ_INVALID in case of other troubles\n         */\n        free_hcb_and_ccb_done(hcb, ccb, rv);\n        return;\n    }\n    end_data:\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1106796684279926089,
            "content_hash": -1106796684279926089,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:532",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 132,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 137,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246766/?format=api",
            "priority": 100,
            "id": 1560054,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=70a3de479aea32b7",
            "url": "https://translate-dev.freebsd.org/api/units/1560054/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.698951Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "If disconnection is disabled for this CCB we pass this information to the hcb:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1951069465128859757,
            "content_hash": -1951069465128859757,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:535",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 133,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186628/?format=api",
            "priority": 100,
            "id": 1560055,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=64ec68a89ee20793",
            "url": "https://translate-dev.freebsd.org/api/units/1560055/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.783129Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    if (ccb_h->flags & CAM_DIS_DISCONNECT)\n        hcb_disable_disconnect(hcb);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1458194228609944810,
            "content_hash": 1458194228609944810,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:540",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 134,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246768/?format=api",
            "priority": 100,
            "id": 1560056,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=943c8becd1d20cea",
            "url": "https://translate-dev.freebsd.org/api/units/1560056/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.787044Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "If the controller is able to run REQUEST SENSE command all by itself then the value of the flag CAM_DIS_AUTOSENSE should also be passed to it, to prevent automatic REQUEST SENSE if the CAM subsystem does not want it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7289311664322631344,
            "content_hash": -7289311664322631344,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:543",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 135,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186630/?format=api",
            "priority": 100,
            "id": 1560057,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=1ad729a966f02950",
            "url": "https://translate-dev.freebsd.org/api/units/1560057/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.792208Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "The only thing left is to set up the timeout, pass our hcb to the hardware and return, the rest will be done by the interrupt handler (or timeout handler)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4828230282898163408,
            "content_hash": 4828230282898163408,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:545",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 136,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186632/?format=api",
            "priority": 100,
            "id": 1560058,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=c30151dc79edc6d0",
            "url": "https://translate-dev.freebsd.org/api/units/1560058/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.795866Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    ccb_h->timeout_ch = timeout(xxx_timeout, (caddr_t) hcb,\n        (ccb_h->timeout * hz) / 1000); /* convert milliseconds to ticks */\n    put_hcb_into_hardware_queue(hcb);\n    return;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5309909609372829020,
            "content_hash": 5309909609372829020,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:552",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 137,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055236/?format=api",
            "priority": 100,
            "id": 1560059,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=c9b096a81819c55c",
            "url": "https://translate-dev.freebsd.org/api/units/1560059/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.799809Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "And here is a possible implementation of the function returning CCB:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3640753210711826181,
            "content_hash": 3640753210711826181,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:555",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 138,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186634/?format=api",
            "priority": 100,
            "id": 1560060,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=b2868dc16f575f05",
            "url": "https://translate-dev.freebsd.org/api/units/1560060/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.887279Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    static void\n    free_hcb_and_ccb_done(struct xxx_hcb *hcb, union ccb *ccb, u_int32_t status)\n    {\n        struct xxx_softc *softc = hcb->softc;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5377298526830418003,
            "content_hash": 5377298526830418003,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:562",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 139,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055240/?format=api",
            "priority": 100,
            "id": 1560061,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=caa000851ef55853",
            "url": "https://translate-dev.freebsd.org/api/units/1560061/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.894683Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "        ccb->ccb_h.ccb_hcb = 0;\n        if (hcb != NULL) {\n            untimeout(xxx_timeout, (caddr_t) hcb, ccb->ccb_h.timeout_ch);\n            /* we're about to free a hcb, so the shortage has ended */\n            if (softc->flags & RESOURCE_SHORTAGE)  {\n                softc->flags &= ~RESOURCE_SHORTAGE;\n                status |= CAM_RELEASE_SIMQ;\n            }\n            free_hcb(hcb); /* also removes hcb from any internal lists */\n        }\n        ccb->ccb_h.status = status |\n            (ccb->ccb_h.status & ~(CAM_STATUS_MASK|CAM_SIM_QUEUED));\n        xpt_done(ccb);\n    }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -113111364016574282,
            "content_hash": -113111364016574282,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:577",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 140,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 57,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246770/?format=api",
            "priority": 100,
            "id": 1560062,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=7e6e25d04fbb70b6",
            "url": "https://translate-dev.freebsd.org/api/units/1560062/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.897917Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_XPT_RESET_DEV_ - send the SCSI \"BUS DEVICE RESET\" message to a device"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6490354896768232767,
            "content_hash": -6490354896768232767,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:579",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 141,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055244/?format=api",
            "priority": 100,
            "id": 1560063,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=25eda09bd7e992c1",
            "url": "https://translate-dev.freebsd.org/api/units/1560063/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.901007Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "There is no data transferred in CCB except the header and the most interesting argument of it is target_id.  Depending on the controller hardware a hardware control block just like for the XPT_SCSI_IO request may be constructed (see XPT_SCSI_IO request description) and sent to the controller or the SCSI controller may be immediately programmed to send this RESET message to the device or this request may be just not supported (and return the status `CAM_REQ_INVALID`).  Also on completion of the request all the disconnected transactions for this target must be aborted (probably in the interrupt routine)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1639869946652650162,
            "content_hash": 1639869946652650162,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:584",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 142,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 96,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246772/?format=api",
            "priority": 100,
            "id": 1560064,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=96c1fd073011eab2",
            "url": "https://translate-dev.freebsd.org/api/units/1560064/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.982114Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "Also all the current negotiations for the target are lost on reset, so they might be cleaned too.  Or they clearing may be deferred, because anyway the target would request re-negotiation on the next transaction."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -9085882252731845826,
            "content_hash": -9085882252731845826,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:587",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 143,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246774/?format=api",
            "priority": 100,
            "id": 1560065,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=01e8763aeee4733e",
            "url": "https://translate-dev.freebsd.org/api/units/1560065/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.986549Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "_XPT_RESET_BUS_ - send the RESET signal to the SCSI bus"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2270485357775715591,
            "content_hash": -2270485357775715591,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:588",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 144,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055250/?format=api",
            "priority": 100,
            "id": 1560066,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=607d9d98be0d82f9",
            "url": "https://translate-dev.freebsd.org/api/units/1560066/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.990519Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "No arguments are passed in the CCB, the only interesting argument is the SCSI bus indicated by the struct sim pointer."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2765976484931753395,
            "content_hash": -2765976484931753395,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:591",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 145,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186640/?format=api",
            "priority": 100,
            "id": 1560067,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=599d470aae8f2a4d",
            "url": "https://translate-dev.freebsd.org/api/units/1560067/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.994208Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "A minimalistic implementation would forget the SCSI negotiations for all the devices on the bus and return the status CAM_REQ_CMP."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4235429331760324541,
            "content_hash": 4235429331760324541,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:593",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 146,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1186642/?format=api",
            "priority": 100,
            "id": 1560068,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=bac7448976d81fbd",
            "url": "https://translate-dev.freebsd.org/api/units/1560068/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:00.997647Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "The proper implementation would in addition actually reset the SCSI bus (possible also reset the SCSI controller) and mark all the CCBs being processed, both those in the hardware queue and those being disconnected, as done with the status CAM_SCSI_BUS_RESET.  Like:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8529240215978969809,
            "content_hash": 8529240215978969809,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:596",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 147,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246776/?format=api",
            "priority": 100,
            "id": 1560069,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=f65df2c95d670ad1",
            "url": "https://translate-dev.freebsd.org/api/units/1560069/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:01.082377Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    int targ, lun;\n    struct xxx_hcb *h, *hh;\n    struct ccb_trans_settings neg;\n    struct cam_path *path;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2861290091999418694,
            "content_hash": -2861290091999418694,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:602",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 148,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055258/?format=api",
            "priority": 100,
            "id": 1560070,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=584aa7d23307a6ba",
            "url": "https://translate-dev.freebsd.org/api/units/1560070/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:01.086233Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    /* The SCSI bus reset may take a long time, in this case its completion\n     * should be checked by interrupt or timeout. But for simplicity\n     * we assume here that it is really fast.\n     */\n    reset_scsi_bus(softc);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6556559884532053909,
            "content_hash": -6556559884532053909,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:608",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 149,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1055260/?format=api",
            "priority": 100,
            "id": 1560071,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=25026b85ede4086b",
            "url": "https://translate-dev.freebsd.org/api/units/1560071/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:01.089641Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookscsi_index/pt/?format=api",
            "source": [
                "    /* drop all enqueued CCBs */\n    for (h = softc->first_queued_hcb; 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": 3863773933556605974,
            "content_hash": 3863773933556605974,
            "location": "documentation/content/en/books/arch-handbook/scsi/_index.adoc:614",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 150,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1246778/?format=api",
            "priority": 100,
            "id": 1560072,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookscsi_index/pt/?checksum=b59ee1ebe20e2416",
            "url": "https://translate-dev.freebsd.org/api/units/1560072/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T16:48:01.093533Z"
        }
    ]
}