Translation components API.

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

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

{
    "count": 77,
    "next": null,
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/units/?format=api",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "If a transfer over a pipe is larger than the maximum packet size specified in the associated endpoint descriptor, the host controller (OHCI) or the HC driver (UHCI) will split the transfer into packets of maximum packet size, with the last packet possibly smaller than the maximum packet size."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4822289356330390006,
            "content_hash": -4822289356330390006,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:134",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 51,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 49,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128812/?format=api",
            "priority": 100,
            "id": 1620121,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=3d13c96147c7ae0a",
            "url": "https://translate-dev.freebsd.org/api/units/1620121/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.463193Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Sometimes it is not a problem for a device to return less data than requested. For example abulk-in-transfer to a modem might request 200 bytes of data, but the modem has only 5 bytes available at that time. The driver can set the short packet (SPD) flag. It allows the host controller to accept a packet even if the amount of data transferred is less than requested. This flag is only valid for in-transfers, as the amount of data to be sent to a device is always known beforehand. If an unrecoverable error occurs in a device during a transfer the pipe is stalled. Before any more data is accepted or sent the driver needs to resolve the cause of the stall and clear the endpoint stall condition through send the clear endpoint halt device request over the default pipe. The default endpoint should never stall."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8773223200017684156,
            "content_hash": 8773223200017684156,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:136",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 52,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 146,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128814/?format=api",
            "priority": 100,
            "id": 1620122,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=f9c0c004944516bc",
            "url": "https://translate-dev.freebsd.org/api/units/1620122/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.463870Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "There are four different types of endpoints and corresponding pipes: - Control pipe / default pipe: There is one control pipe per device, connected to the default endpoint (endpoint 0). The pipe carries the device requests and associated data. The difference between transfers over the default pipe and other pipes is that the protocol for the transfers is described in the USB specification. These requests are used to reset and configure the device. A basic set of commands that must be supported by each device is provided in chapter 9 of the USB specification. The commands supported on this pipe can be extended by a device class specification to support additional functionality."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8203896935212608628,
            "content_hash": -8203896935212608628,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:138",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 53,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 112,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128816/?format=api",
            "priority": 100,
            "id": 1620123,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=0e25e7341abc938c",
            "url": "https://translate-dev.freebsd.org/api/units/1620123/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.464675Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Bulk pipe: This is the USB equivalent to a raw transmission medium."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5146862574263428232,
            "content_hash": 5146862574263428232,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:140",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 54,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128818/?format=api",
            "priority": 100,
            "id": 1620124,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=c76d543df6b96488",
            "url": "https://translate-dev.freebsd.org/api/units/1620124/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.465432Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Interrupt pipe: The host sends a request for data to the device and if the device has nothing to send, it will NAK the data packet. Interrupt transfers are scheduled at a frequency specified when creating the pipe."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2356523245501649133,
            "content_hash": 2356523245501649133,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:141",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 55,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128820/?format=api",
            "priority": 100,
            "id": 1620125,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=a0b40d68091390ed",
            "url": "https://translate-dev.freebsd.org/api/units/1620125/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.466063Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Isochronous pipe: These pipes are intended for isochronous data, for example video or audio streams, with fixed latency, but no guaranteed delivery. Some support for pipes of this type is available in the current implementation. Packets in control, bulk and interrupt transfers are retried if an error occurs during transmission or the device acknowledges the packet negatively (NAK) due to for example lack of buffer space to store the incoming data. Isochronous packets are however not retried in case of failed delivery or NAK of a packet as this might violate the timing constraints."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 380408501835488039,
            "content_hash": 380408501835488039,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:142",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 56,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 94,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128822/?format=api",
            "priority": 100,
            "id": 1620126,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=85477b8455715b27",
            "url": "https://translate-dev.freebsd.org/api/units/1620126/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.466717Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The availability of the necessary bandwidth is calculated during the creation of the pipe. Transfers are scheduled within frames of 1 millisecond. The bandwidth allocation within a frame is prescribed by the USB specification, section 5.6 [ 2]. Isochronous and interrupt transfers are allowed to consume up to 90% of the bandwidth within a frame. Packets for control and bulk transfers are scheduled after all isochronous and interrupt packets and will consume all the remaining bandwidth."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 630758344608002971,
            "content_hash": 630758344608002971,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:144",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 57,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 76,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128824/?format=api",
            "priority": 100,
            "id": 1620127,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=88c0e75f5d79339b",
            "url": "https://translate-dev.freebsd.org/api/units/1620127/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.467439Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "More information on scheduling of transfers and bandwidth reclamation can be found in chapter 5 of the USB specification, section 1.3 of the UHCI specification, and section 3.4.2 of the OHCI specification."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1872270191512731898,
            "content_hash": 1872270191512731898,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:146",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 58,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 32,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128826/?format=api",
            "priority": 100,
            "id": 1620128,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=99fba3d1c8ab40fa",
            "url": "https://translate-dev.freebsd.org/api/units/1620128/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.468128Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Device Probe and Attach"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8945498253712095546,
            "content_hash": 8945498253712095546,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:148",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 59,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128828/?format=api",
            "priority": 100,
            "id": 1620129,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=fc24cb443762f93a",
            "url": "https://translate-dev.freebsd.org/api/units/1620129/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.468765Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "After the notification by the hub that a new device has been connected, the service layer switches on the port, providing the device with 100 mA of current. At this point the device is in its default state and listening to device address 0. The services layer will proceed to retrieve the various descriptors through the default pipe. After that it will send a Set Address request to move the device away from the default device address (address 0). Multiple device drivers might be able to support the device. For example a modem driver might be able to support an ISDN TA through the AT compatibility interface. A driver for that specific model of the ISDN adapter might however be able to provide much better support for this device. To support this flexibility, the probes return priorities indicating their level of support. Support for a specific revision of a product ranks the highest and the generic driver the lowest priority. It might also be that multiple drivers could attach to one device if there are multiple interfaces within one configuration. Each driver only needs to support a subset of the interfaces."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6431974204371546166,
            "content_hash": -6431974204371546166,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:151",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 60,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 191,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128830/?format=api",
            "priority": 100,
            "id": 1620130,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=26bd098a07f54fca",
            "url": "https://translate-dev.freebsd.org/api/units/1620130/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.469414Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The probing for a driver for a newly attached device checks first for device specific drivers. If not found, the probe code iterates over all supported configurations until a driver attaches in a configuration. To support devices with multiple drivers on different interfaces, the probe iterates over all interfaces in a configuration that have not yet been claimed by a driver. Configurations that exceed the power budget for the hub are ignored. During attach the driver should initialise the device to its proper state, but not reset it, as this will make the device disconnect itself from the bus and restart the probing process for it. To avoid consuming unnecessary bandwidth should not claim the interrupt pipe at attach time, but should postpone allocating the pipe until the file is opened and the data is actually used. When the file is closed the pipe should be closed again, even though the device might still be attached."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2103454176056199125,
            "content_hash": -2103454176056199125,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:153",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 61,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 156,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128832/?format=api",
            "priority": 100,
            "id": 1620131,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=62cf07924adbb82b",
            "url": "https://translate-dev.freebsd.org/api/units/1620131/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.470189Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Device Disconnect and Detach"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 648331916993610391,
            "content_hash": 648331916993610391,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:154",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 62,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128834/?format=api",
            "priority": 100,
            "id": 1620132,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=88ff567188f3c297",
            "url": "https://translate-dev.freebsd.org/api/units/1620132/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.470917Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "A device driver should expect to receive errors during any transaction with the device. The design of USB supports and encourages the disconnection of devices at any point in time. Drivers should make sure that they do the right thing when the device disappears."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9142872362278066243,
            "content_hash": 9142872362278066243,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:157",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 63,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 44,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128836/?format=api",
            "priority": 100,
            "id": 1620133,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=fee201f8f4521843",
            "url": "https://translate-dev.freebsd.org/api/units/1620133/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.471520Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Furthermore a device that has been disconnected and reconnected will not be reattached at the same device instance. This might change in the future when more devices support serial numbers (see the device descriptor) or other means of defining an identity for a device have been developed."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6069447845281292968,
            "content_hash": -6069447845281292968,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:159",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 64,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 47,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128838/?format=api",
            "priority": 100,
            "id": 1620134,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=2bc4fd578f3f9d58",
            "url": "https://translate-dev.freebsd.org/api/units/1620134/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.472172Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The disconnection of a device is signaled by a hub in the interrupt packet delivered to the hub driver. The status change information indicates which port has seen a connection change. The device detach method for all device drivers for the device connected on that port are called and the structures cleaned up. If the port status indicates that in the mean time a device has been connected to that port, the procedure for probing and attaching the device will be started. A device reset will produce a disconnect-connect sequence on the hub and will be handled as described above."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8349090545983529665,
            "content_hash": 8349090545983529665,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:161",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 65,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 100,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128840/?format=api",
            "priority": 100,
            "id": 1620135,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=f3dded9dbeeba2c1",
            "url": "https://translate-dev.freebsd.org/api/units/1620135/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.472850Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "USB Drivers Protocol Information"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4349737382391548632,
            "content_hash": 4349737382391548632,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:163",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 66,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128842/?format=api",
            "priority": 100,
            "id": 1620136,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=bc5d5f1a77af8ad8",
            "url": "https://translate-dev.freebsd.org/api/units/1620136/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.473532Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The protocol used over pipes other than the default pipe is undefined by the USB specification. Information on this can be found from various sources. The most accurate source is the developer's section on the USB home pages. From these pages, a growing number of deviceclass specifications are available. These specifications specify what a compliant device should look like from a driver perspective, basic functionality it needs to provide and the protocol that is to be used over the communication channels. The USB specification includes the description of the Hub Class. A class specification for Human Interface Devices (HID) has been created to cater for keyboards, tablets, bar-code readers, buttons, knobs, switches, etc. A third example is the class specification for mass storage devices. For a full list of device classes see the developers section on the USB home pages."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4047065962669114731,
            "content_hash": -4047065962669114731,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:166",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 67,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 140,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128844/?format=api",
            "priority": 100,
            "id": 1620137,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=47d5eef300887a95",
            "url": "https://translate-dev.freebsd.org/api/units/1620137/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.474182Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "For many devices the protocol information has not yet been published however. Information on the protocol being used might be available from the company making the device. Some companies will require you to sign a Non -Disclosure Agreement (NDA) before giving you the specifications. This in most cases precludes making the driver open source."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4186450541290289260,
            "content_hash": -4186450541290289260,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:168",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 68,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 54,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128846/?format=api",
            "priority": 100,
            "id": 1620138,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=45e6bd69d8a68794",
            "url": "https://translate-dev.freebsd.org/api/units/1620138/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.474972Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Another good source of information is the Linux driver sources, as a number of companies have started to provide drivers for Linux for their devices. It is always a good idea to contact the authors of those drivers for their source of information."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4688982452391732550,
            "content_hash": -4688982452391732550,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:170",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 69,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 43,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128848/?format=api",
            "priority": 100,
            "id": 1620139,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=3eed634d87269aba",
            "url": "https://translate-dev.freebsd.org/api/units/1620139/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.475638Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Example: Human Interface Devices The specification for the Human Interface Devices like keyboards, mice, tablets, buttons, dials,etc. is referred to in other device class specifications and is used in many devices."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7628580363539079962,
            "content_hash": 7628580363539079962,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:172",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 70,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 31,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128850/?format=api",
            "priority": 100,
            "id": 1620140,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=e9de296c3544631a",
            "url": "https://translate-dev.freebsd.org/api/units/1620140/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.476268Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "For example audio speakers provide endpoints to the digital to analogue converters and possibly an extra pipe for a microphone. They also provide a HID endpoint in a separate interface for the buttons and dials on the front of the device. The same is true for the monitor control class. It is straightforward to build support for these interfaces through the available kernel and userland libraries together with the HID class driver or the generic driver. Another device that serves as an example for interfaces within one configuration driven by different device drivers is a cheap keyboard with built-in legacy mouse port. To avoid having the cost of including the hardware for a USB hub in the device, manufacturers combined the mouse data received from the PS/2 port on the back of the keyboard and the key presses from the keyboard into two separate interfaces in the same configuration. The mouse and keyboard drivers each attach to the appropriate interface and allocate the pipes to the two independent endpoints."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2678020260291312761,
            "content_hash": -2678020260291312761,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:174",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 71,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 169,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128852/?format=api",
            "priority": 100,
            "id": 1620141,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=5ad5c2c314098387",
            "url": "https://translate-dev.freebsd.org/api/units/1620141/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.476983Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Example: Firmware download Many devices that have been developed are based on a general purpose processor with an additional USB core added to it. Since the development of drivers and firmware for USB devices is still very new, many devices require the downloading of the firmware after they have been connected."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2354564052656662415,
            "content_hash": -2354564052656662415,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:176",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 72,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 51,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128854/?format=api",
            "priority": 100,
            "id": 1620142,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=5f52e878187ed871",
            "url": "https://translate-dev.freebsd.org/api/units/1620142/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.477737Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The procedure followed is straightforward. The device identifies itself through a vendor and product Id. The first driver probes and attaches to it and downloads the firmware into it. After that the device soft resets itself and the driver is detached. After a short pause the device announces its presence on the bus. The device will have changed its vendor/product/revision Id to reflect the fact that it has been supplied with firmware and as a consequence a second driver will probe it and attach to it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8659899539311310614,
            "content_hash": 8659899539311310614,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:178",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 73,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 86,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128856/?format=api",
            "priority": 100,
            "id": 1620143,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=f82e24bfb7383716",
            "url": "https://translate-dev.freebsd.org/api/units/1620143/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.478382Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "An example of these types of devices is the ActiveWire I/O board, based on the EZ-USB chip. For this chip a generic firmware downloader is available. The firmware downloaded into the ActiveWire board changes the revision Id. It will then perform a soft reset of the USB part of the EZ-USB chip to disconnect from the USB bus and again reconnect."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -9074426695251117584,
            "content_hash": -9074426695251117584,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:180",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 74,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 61,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128858/?format=api",
            "priority": 100,
            "id": 1620144,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=021128ffc13c39f0",
            "url": "https://translate-dev.freebsd.org/api/units/1620144/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.479076Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "Example: Mass Storage Devices Support for mass storage devices is mainly built around existing protocols. The Iomega USB Zipdrive is based on the SCSI version of their drive. The SCSI commands and status messages are wrapped in blocks and transferred over the bulk pipes to and from the device, emulating a SCSI controller over the USB wire. ATAPI and UFI commands are supported in a similar fashion."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8666401508107248648,
            "content_hash": 8666401508107248648,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:182",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 75,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 67,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128860/?format=api",
            "priority": 100,
            "id": 1620145,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=f8453e414ba46408",
            "url": "https://translate-dev.freebsd.org/api/units/1620145/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.479739Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The Mass Storage Specification supports 2 different types of wrapping of the command block.The initial attempt was based on sending the command and status through the default pipe and using bulk transfers for the data to be moved between the host and the device. Based on experience a second approach was designed that was based on wrapping the command and status blocks and sending them over the bulk out and in endpoint. The specification specifies exactly what has to happen when and what has to be done in case an error condition is encountered. The biggest challenge when writing drivers for these devices is to fit USB based protocol into the existing support for mass storage devices. CAM provides hooks to do this in a fairly straight forward way. ATAPI is less simple as historically the IDE interface has never had many different appearances."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2002704648597714469,
            "content_hash": 2002704648597714469,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:184",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 76,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 144,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128862/?format=api",
            "priority": 100,
            "id": 1620146,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=9bcb094461b0b625",
            "url": "https://translate-dev.freebsd.org/api/units/1620146/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.480406Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookusb_index/el/?format=api",
            "source": [
                "The support for the USB floppy from Y-E Data is again less straightforward as a new command set has been designed."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3234572799508782131,
            "content_hash": -3234572799508782131,
            "location": "documentation/content/en/books/arch-handbook/usb/_index.adoc:185",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 77,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1128864/?format=api",
            "priority": 100,
            "id": 1620147,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookusb_index/el/?checksum=531c7d2d252363cd",
            "url": "https://translate-dev.freebsd.org/api/units/1620147/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2024-02-17T12:26:10.481149Z"
        }
    ]
}