Units API.

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

GET /api/units/1134352/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbooksmp_index/en/?format=api",
    "source": [
        "A thread is added to a sleep queue via the `sleepq_add`. This function accepts the wait channel, a pointer to the mutex that protects the wait channel, a wait message description string, and a mask of flags. The sleep queue chain should be locked via `sleepq_lock` before this function is called. If no mutex protects the wait channel (or it is protected by Giant), then the mutex pointer argument should be `NULL`. The flags argument contains a type field that indicates the kind of sleep queue that the thread is being added to and a flag to indicate if the sleep is interruptible (`SLEEPQ_INTERRUPTIBLE`). Currently there are only two types of sleep queues: traditional sleep queues managed via the `msleep` and `wakeup` functions (`SLEEPQ_MSLEEP`) and condition variable sleep queues (`SLEEPQ_CONDVAR`). The sleep queue type and lock pointer argument are used solely for internal assertion checking. Code that calls `sleepq_add` should explicitly unlock any interlock protecting the wait channel after the associated sleepqueue chain has been locked via `sleepq_lock` and before blocking on the sleep queue via one of the waiting functions."
    ],
    "previous_source": "",
    "target": [
        "A thread is added to a sleep queue via the `sleepq_add`. This function accepts the wait channel, a pointer to the mutex that protects the wait channel, a wait message description string, and a mask of flags. The sleep queue chain should be locked via `sleepq_lock` before this function is called. If no mutex protects the wait channel (or it is protected by Giant), then the mutex pointer argument should be `NULL`. The flags argument contains a type field that indicates the kind of sleep queue that the thread is being added to and a flag to indicate if the sleep is interruptible (`SLEEPQ_INTERRUPTIBLE`). Currently there are only two types of sleep queues: traditional sleep queues managed via the `msleep` and `wakeup` functions (`SLEEPQ_MSLEEP`) and condition variable sleep queues (`SLEEPQ_CONDVAR`). The sleep queue type and lock pointer argument are used solely for internal assertion checking. Code that calls `sleepq_add` should explicitly unlock any interlock protecting the wait channel after the associated sleepqueue chain has been locked via `sleepq_lock` and before blocking on the sleep queue via one of the waiting functions."
    ],
    "id_hash": 997180401207099283,
    "content_hash": 997180401207099283,
    "location": "documentation/content/en/books/arch-handbook/smp/_index.adoc:243",
    "context": "",
    "note": "type: Plain text",
    "flags": "",
    "labels": [],
    "state": 100,
    "fuzzy": false,
    "translated": true,
    "approved": false,
    "position": 96,
    "has_suggestion": false,
    "has_comment": false,
    "has_failing_check": false,
    "num_words": 181,
    "source_unit": "https://translate-dev.freebsd.org/api/units/1134352/?format=api",
    "priority": 100,
    "id": 1134352,
    "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbooksmp_index/en/?checksum=8dd6b24aa6ee3f93",
    "url": "https://translate-dev.freebsd.org/api/units/1134352/?format=api",
    "explanation": "",
    "extra_flags": "",
    "pending": false,
    "timestamp": "2021-05-23T13:16:48.695467Z"
}