Translation components API.

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

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

{
    "count": 293,
    "next": null,
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/units/?format=api&page=5",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/i386/i386/machdep.c:\n\t/* Init basic tunables, hz etc */\n\tinit_param1();\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3320089471727760266,
            "content_hash": -3320089471727760266,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1369",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 241,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 9,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436683/?format=api",
            "priority": 100,
            "id": 1438124,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=51ecac374f270c76",
            "url": "https://translate-dev.freebsd.org/api/units/1438124/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.351796Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "`init_param1()` is defined in [.filename]#sys/kern/subr_param.c#.  That file has a number of sysctls, and two functions, `init_param1()` and `init_param2()`, that are called from `init386()`:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6597620447322619591,
            "content_hash": 6597620447322619591,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1373",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 242,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 23,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436685/?format=api",
            "priority": 100,
            "id": 1438125,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=db8f74d75584bec7",
            "url": "https://translate-dev.freebsd.org/api/units/1438125/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.356462Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/kern/subr_param.c:\n\thz = -1;\n\tTUNABLE_INT_FETCH(\"kern.hz\", &hz);\n\tif (hz == -1)\n\t\thz = vm_guest > VM_GUEST_NO ? HZ_VM : HZ;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -217867315881781991,
            "content_hash": -217867315881781991,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1381",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 243,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436687/?format=api",
            "priority": 100,
            "id": 1438126,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=7cf9fad49cb2d519",
            "url": "https://translate-dev.freebsd.org/api/units/1438126/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.362396Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Sysctl `kern.hz` is the system clock tick.  Additionally, these sysctls are set by `init_param1()`: `kern.maxswzone, kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.maxdsiz, kern.dflssiz, kern.maxssiz, kern.sgrowsiz`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4368720816864920745,
            "content_hash": 4368720816864920745,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1393",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 246,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436689/?format=api",
            "priority": 100,
            "id": 1438127,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=bca0d06fbc1684a9",
            "url": "https://translate-dev.freebsd.org/api/units/1438127/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.374254Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Then `init386()` prepares the Global Descriptors Table (GDT).  Every task on an x86 is running in its own virtual address space, and this space is addressed by a segment:offset pair.  Say, for instance, the current instruction to be executed by the processor lies at CS:EIP, then the linear virtual address for that instruction would be \"the virtual address of code segment CS\" + EIP.  For convenience, segments begin at virtual address 0 and end at a 4GB boundary.  Therefore, the instruction's linear virtual address for this example would just be the value of EIP.  Segment registers such as CS, DS etc are the selectors, i.e., indexes, into GDT (to be more precise, an index is not a selector itself, but the INDEX field of a selector).  FreeBSD's GDT holds descriptors for 15 selectors per CPU:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1500275163722055164,
            "content_hash": -1500275163722055164,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1401",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 247,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 135,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436691/?format=api",
            "priority": 100,
            "id": 1438128,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=6b2df3aff9018204",
            "url": "https://translate-dev.freebsd.org/api/units/1438128/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.379162Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/i386/i386/machdep.c:\nunion descriptor gdt0[NGDT];\t/* initial global descriptor table */\nunion descriptor *gdt = gdt0;\t/* global descriptor table */\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4014185918783757256,
            "content_hash": 4014185918783757256,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1407",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 248,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436693/?format=api",
            "priority": 100,
            "id": 1438129,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=b7b540d3377b1bc8",
            "url": "https://translate-dev.freebsd.org/api/units/1438129/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.388328Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/x86/include/segments.h:\n/*\n * Entries in the Global Descriptor Table (GDT)\n */\n#define\tGNULL_SEL\t0\t/* Null Descriptor */\n#define\tGPRIV_SEL\t1\t/* SMP Per-Processor Private Data */\n#define\tGUFS_SEL\t2\t/* User %fs Descriptor (order critical: 1) */\n#define\tGUGS_SEL\t3\t/* User %gs Descriptor (order critical: 2) */\n#define\tGCODE_SEL\t4\t/* Kernel Code Descriptor (order critical: 1) */\n#define\tGDATA_SEL\t5\t/* Kernel Data Descriptor (order critical: 2) */\n#define\tGUCODE_SEL\t6\t/* User Code Descriptor (order critical: 3) */\n#define\tGUDATA_SEL\t7\t/* User Data Descriptor (order critical: 4) */\n#define\tGBIOSLOWMEM_SEL\t8\t/* BIOS low memory access (must be entry 8) */\n#define\tGPROC0_SEL\t9\t/* Task state process slot zero and up */\n#define\tGLDT_SEL\t10\t/* Default User LDT */\n#define\tGUSERLDT_SEL\t11\t/* User LDT */\n#define\tGPANIC_SEL\t12\t/* Task state to consider panic from */\n#define\tGBIOSCODE32_SEL\t13\t/* BIOS interface (32bit Code) */\n#define\tGBIOSCODE16_SEL\t14\t/* BIOS interface (16bit Code) */\n#define\tGBIOSDATA_SEL\t15\t/* BIOS interface (Data) */\n#define\tGBIOSUTIL_SEL\t16\t/* BIOS interface (Utility) */\n#define\tGBIOSARGS_SEL\t17\t/* BIOS interface (Arguments) */\n#define\tGNDIS_SEL\t18\t/* For the NDIS layer */\n#define\tNGDT\t\t19\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3160799259206036359,
            "content_hash": 3160799259206036359,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1432",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 249,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 198,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436695/?format=api",
            "priority": 100,
            "id": 1438130,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=abdd6a2dfb4b2b87",
            "url": "https://translate-dev.freebsd.org/api/units/1438130/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.454928Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Note that those #defines are not selectors themselves, but just a field INDEX of a selector, so they are exactly the indices of the GDT.  for example, an actual selector for the kernel code (GCODE_SEL) has the value 0x20."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8176078262795571696,
            "content_hash": -8176078262795571696,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1436",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 250,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 39,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436697/?format=api",
            "priority": 100,
            "id": 1438131,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=0e88bc238246ee10",
            "url": "https://translate-dev.freebsd.org/api/units/1438131/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.460382Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The next step is to initialize the Interrupt Descriptor Table (IDT).  This table is referenced by the processor when a software or hardware interrupt occurs.  For example, to make a system call, user application issues the `INT 0x80` instruction.  This is a software interrupt, so the processor's hardware looks up a record with index 0x80 in the IDT.  This record points to the routine that handles this interrupt, in this particular case, this will be the kernel's syscall gate.  The IDT may have a maximum of 256 (0x100) records.  The kernel allocates NIDT records for the IDT, where NIDT is the maximum (256):"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7186970414472126712,
            "content_hash": 7186970414472126712,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1444",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 251,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 103,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436699/?format=api",
            "priority": 100,
            "id": 1438132,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=e3bd3f8385da60f8",
            "url": "https://translate-dev.freebsd.org/api/units/1438132/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.467399Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "For each interrupt, an appropriate handler is set.  The syscall gate for `INT 0x80` is set as well:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -277368198141816850,
            "content_hash": -277368198141816850,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1454",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 253,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436701/?format=api",
            "priority": 100,
            "id": 1438133,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=7c269717e5c44fee",
            "url": "https://translate-dev.freebsd.org/api/units/1438133/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.475547Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/i386/i386/machdep.c:\n\tsetidt(IDT_SYSCALL, &IDTVEC(int0x80_syscall),\n\t\t\tSDT_SYS386IGT, SEL_UPL, GSEL(GCODE_SEL, SEL_KPL));\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6744683379925620864,
            "content_hash": 6744683379925620864,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1460",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 254,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436703/?format=api",
            "priority": 100,
            "id": 1438134,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=dd99edcc96f29880",
            "url": "https://translate-dev.freebsd.org/api/units/1438134/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.479869Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/i386/i386/machdep.c:\n\tcninit();\n/* skipped */\n  kdb_init();\n#ifdef KDB\n\tif (boothowto & RB_KDB)\n\t\tkdb_enter(KDB_WHY_BOOTFLAGS, \"Boot flags requested debugger\");\n#endif\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2012254997938625272,
            "content_hash": 2012254997938625272,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1476",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 257,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436705/?format=api",
            "priority": 100,
            "id": 1438135,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=9becf7425da2daf8",
            "url": "https://translate-dev.freebsd.org/api/units/1438135/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.552767Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The Local Descriptors Table is used to reference userland code and data.  Several selectors are defined to point to the LDT, they are the system call gates and the user code and data selectors:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2783708399809134021,
            "content_hash": 2783708399809134021,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1482",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 259,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 34,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436707/?format=api",
            "priority": 100,
            "id": 1438136,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=a6a1b80a78e4fdc5",
            "url": "https://translate-dev.freebsd.org/api/units/1438136/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.560349Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/x86/include/segments.h:\n#define\tLSYS5CALLS_SEL\t0\t/* forced by intel BCS */\n#define\tLSYS5SIGR_SEL\t1\n#define\tLUCODE_SEL\t3\n#define\tLUDATA_SEL\t5\n#define\tNLDT\t\t(LUDATA_SEL + 1)\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3364917455224861351,
            "content_hash": -3364917455224861351,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1491",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 260,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436709/?format=api",
            "priority": 100,
            "id": 1438137,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=514d69670ecf8d59",
            "url": "https://translate-dev.freebsd.org/api/units/1438137/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.565029Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Next, proc0's Process Control Block (`struct pcb`) structure is initialized.  proc0 is a `struct proc` structure that describes a kernel process.  It is always present while the kernel is running, therefore it is linked with thread0:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2411460706721938861,
            "content_hash": -2411460706721938861,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1496",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 261,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 36,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436711/?format=api",
            "priority": 100,
            "id": 1438138,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=5e88c5438206c253",
            "url": "https://translate-dev.freebsd.org/api/units/1438138/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.569571Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/i386/i386/machdep.c:\nregister_t\ninit386(int first)\n{\n    /* ... skipped ... */\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8385406470627532957,
            "content_hash": 8385406470627532957,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1504",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 262,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436713/?format=api",
            "priority": 100,
            "id": 1438139,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=f45ef2c1db04209d",
            "url": "https://translate-dev.freebsd.org/api/units/1438139/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.574130Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "    proc_linkup0(&proc0, &thread0);\n    /* ... skipped ... */\n}\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5116111209993946715,
            "content_hash": 5116111209993946715,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1508",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 263,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436715/?format=api",
            "priority": 100,
            "id": 1438140,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=c700140a0715465b",
            "url": "https://translate-dev.freebsd.org/api/units/1438140/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.581525Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The structure `struct pcb` is a part of a proc structure.  It is defined in [.filename]#/usr/include/machine/pcb.h# and has a process's information specific to the i386 architecture, such as registers values."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8257741692319495952,
            "content_hash": 8257741692319495952,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1512",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 264,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436717/?format=api",
            "priority": 100,
            "id": 1438141,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=f299645159a2f710",
            "url": "https://translate-dev.freebsd.org/api/units/1438141/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.651597Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/kern/init_main.c:\n\tfor (sipp = sysinit; sipp < sysinit_end; sipp++) {\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -843137760784888106,
            "content_hash": -843137760784888106,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1521",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 267,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436719/?format=api",
            "priority": 100,
            "id": 1438142,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=744c92ac77b2ced6",
            "url": "https://translate-dev.freebsd.org/api/units/1438142/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.661283Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Every system initialization object (sysinit object) is created by calling a SYSINIT() macro.  Let us take as example an `announce` sysinit object.  This object prints the copyright message:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -10745820838869193,
            "content_hash": -10745820838869193,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1535",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 271,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 28,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436721/?format=api",
            "priority": 100,
            "id": 1438143,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=7fd9d2bb9e144737",
            "url": "https://translate-dev.freebsd.org/api/units/1438143/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.675303Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/kern/init_main.c:\nstatic void\nprint_caddr_t(void *data __unused)\n{\n\tprintf(\"%s\", (char *)data);\n}\n/* ... skipped ... */\nSYSINIT(announce, SI_SUB_COPYRIGHT, SI_ORDER_FIRST, print_caddr_t, copyright);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8837472577090343749,
            "content_hash": 8837472577090343749,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1546",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 272,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436723/?format=api",
            "priority": 100,
            "id": 1438144,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=faa5027c65b9d345",
            "url": "https://translate-dev.freebsd.org/api/units/1438144/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.681185Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The subsystem ID for this object is SI_SUB_COPYRIGHT (0x0800001).  So, the copyright message will be printed out first, just after the console initialization."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2283709589131675783,
            "content_hash": 2283709589131675783,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1550",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 273,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 23,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436725/?format=api",
            "priority": 100,
            "id": 1438145,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=9fb15dc58e58c887",
            "url": "https://translate-dev.freebsd.org/api/units/1438145/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.754055Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Let us take a look at what exactly the macro `SYSINIT()` does.  It expands to a `C_SYSINIT()` macro.  The `C_SYSINIT()` macro then expands to a static `struct sysinit` structure declaration with another `DATA_SET` macro call:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4615136525243812842,
            "content_hash": 4615136525243812842,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1554",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 274,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436727/?format=api",
            "priority": 100,
            "id": 1438146,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=c00c4237b9168bea",
            "url": "https://translate-dev.freebsd.org/api/units/1438146/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.761879Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "/usr/include/sys/kernel.h:\n      #define C_SYSINIT(uniquifier, subsystem, order, func, ident) \\\n      static struct sysinit uniquifier ## _sys_init = { \\ subsystem, \\\n      order, \\ func, \\ (ident) \\ }; \\ DATA_WSET(sysinit_set,uniquifier ##\n      _sys_init);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4337549903764371273,
            "content_hash": -4337549903764371273,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1562",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 275,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436729/?format=api",
            "priority": 100,
            "id": 1438147,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=43cded58069848b7",
            "url": "https://translate-dev.freebsd.org/api/units/1438147/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.766225Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "#define\tSYSINIT(uniquifier, subsystem, order, func, ident)\t\\\n\tC_SYSINIT(uniquifier, subsystem, order,\t\t\t\\\n\t(sysinit_cfunc_t)(sysinit_nfunc_t)func, (void *)(ident))\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2672645011271876147,
            "content_hash": -2672645011271876147,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1566",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 276,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436731/?format=api",
            "priority": 100,
            "id": 1438148,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=5ae8db85c46b81cd",
            "url": "https://translate-dev.freebsd.org/api/units/1438148/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.770219Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The `DATA_SET()` macro expands to a `_MAKE_SET()`, and that macro is the point where all the sysinit magic is hidden:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2385931087557404755,
            "content_hash": -2385931087557404755,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1569",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 277,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436733/?format=api",
            "priority": 100,
            "id": 1438149,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=5ee378512b9457ad",
            "url": "https://translate-dev.freebsd.org/api/units/1438149/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.774138Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "/usr/include/linker_set.h:\n#define TEXT_SET(set, sym) _MAKE_SET(set, sym)\n#define DATA_SET(set, sym) _MAKE_SET(set, sym)\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8956736948686896211,
            "content_hash": 8956736948686896211,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1575",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 278,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436735/?format=api",
            "priority": 100,
            "id": 1438150,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=fc4cb8cccd193c53",
            "url": "https://translate-dev.freebsd.org/api/units/1438150/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.778898Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "After executing these macros, various sections were made in the kernel, including`set.sysinit_set`.  Running objdump on a kernel binary, you may notice the presence of such small sections:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6992113184431442186,
            "content_hash": -6992113184431442186,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1579",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 279,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 27,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436737/?format=api",
            "priority": 100,
            "id": 1438151,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=1ef7061ac4a376f6",
            "url": "https://translate-dev.freebsd.org/api/units/1438151/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.782469Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "% llvm-objdump -h /kernel\nSections:\nIdx Name                               Size     VMA      Type\n 10 set_sysctl_set                     000021d4 01827078 DATA\n 16 set_kbddriver_set                  00000010 0182a4d0 DATA\n 20 set_scterm_set                     0000000c 0182c75c DATA\n 21 set_cons_set                       00000014 0182c768 DATA\n 33 set_scrndr_set                     00000024 0182c828 DATA\n 41 set_sysinit_set                    000014d8 018fabb0 DATA\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8574511370304156779,
            "content_hash": -8574511370304156779,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1591",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 280,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 40,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436739/?format=api",
            "priority": 100,
            "id": 1438152,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=09013756a2790b95",
            "url": "https://translate-dev.freebsd.org/api/units/1438152/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.786499Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "This screen dump shows that the size of set.sysinit_set section is 0x14d8 bytes, so `0x14d8/sizeof(void *)` sysinit objects are compiled into the kernel.  The other sections such as `set.sysctl_set` represent other linker sets."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4704716232418067035,
            "content_hash": 4704716232418067035,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1595",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 281,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436741/?format=api",
            "priority": 100,
            "id": 1438153,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=c14a827c9a4b025b",
            "url": "https://translate-dev.freebsd.org/api/units/1438153/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.790267Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "By defining a variable of type `struct sysinit` the content of `set.sysinit_set` section will be \"collected\" into that variable:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2320165597606611715,
            "content_hash": 2320165597606611715,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1597",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 282,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 19,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436743/?format=api",
            "priority": 100,
            "id": 1438154,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=a032e251796c8b03",
            "url": "https://translate-dev.freebsd.org/api/units/1438154/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.851639Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/kern/init_main.c:\n  SET_DECLARE(sysinit_set, struct sysinit);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3840119093180254934,
            "content_hash": -3840119093180254934,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1602",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 283,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 4,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436745/?format=api",
            "priority": 100,
            "id": 1438155,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=4ab52807d3cbb52a",
            "url": "https://translate-dev.freebsd.org/api/units/1438155/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.863608Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The `struct sysinit` is defined as follows:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8065507834668769113,
            "content_hash": 8065507834668769113,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1605",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 284,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 7,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436747/?format=api",
            "priority": 100,
            "id": 1438156,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=efee70a48a8fdf59",
            "url": "https://translate-dev.freebsd.org/api/units/1438156/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.867929Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/sys/kernel.h:\n  struct sysinit {\n\tenum sysinit_sub_id\tsubsystem;\t/* subsystem identifier*/\n\tenum sysinit_elem_order\torder;\t\t/* init order within subsystem*/\n\tsysinit_cfunc_t func;\t\t\t/* function\t\t*/\n\tconst void\t*udata;\t\t\t/* multiplexer/argument */\n};\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -266988184645425778,
            "content_hash": -266988184645425778,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1615",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 285,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436749/?format=api",
            "priority": 100,
            "id": 1438157,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=7c4b77a91efba58e",
            "url": "https://translate-dev.freebsd.org/api/units/1438157/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.872072Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "Returning to the `mi_startup()` discussion, it is must be clear now, how the sysinit objects are being organized.  The `mi_startup()` function sorts them and calls each.  The very last object is the system scheduler:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5764470494903486789,
            "content_hash": -5764470494903486789,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1620",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 286,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 34,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436751/?format=api",
            "priority": 100,
            "id": 1438158,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=30007ca0590eb6bb",
            "url": "https://translate-dev.freebsd.org/api/units/1438158/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.884446Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "/usr/include/sys/kernel.h:\nenum sysinit_sub_id {\n\tSI_SUB_DUMMY\t\t= 0x0000000,\t/* not executed; for linker*/\n\tSI_SUB_DONE\t\t= 0x0000001,\t/* processed*/\n\tSI_SUB_TUNABLES\t\t= 0x0700000,\t/* establish tunable values */\n\tSI_SUB_COPYRIGHT\t= 0x0800001,\t/* first use of console*/\n...\n\tSI_SUB_LAST\t\t= 0xfffffff\t/* final initialization */\n};\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4020755177944712359,
            "content_hash": -4020755177944712359,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1632",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 287,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436753/?format=api",
            "priority": 100,
            "id": 1438159,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=48336877f1cafb59",
            "url": "https://translate-dev.freebsd.org/api/units/1438159/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.889711Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The system scheduler sysinit object is defined in the file [.filename]#sys/vm/vm_glue.c#, and the entry point for that object is `scheduler()`.  That function is actually an infinite loop, and it represents a process with PID 0, the swapper process.  The thread0 structure, mentioned before, is used to describe it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9024181217344328284,
            "content_hash": 9024181217344328284,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1637",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 288,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 48,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436755/?format=api",
            "priority": 100,
            "id": 1438160,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=fd3c5501488f925c",
            "url": "https://translate-dev.freebsd.org/api/units/1438160/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.954141Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/kern/init_main.c:\nstatic void\ncreate_init(const void *udata __unused)\n{\n\tstruct fork_req fr;\n\tstruct ucred *newcred, *oldcred;\n\tstruct thread *td;\n\tint error;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4373904580847336475,
            "content_hash": 4373904580847336475,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1650",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 290,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436757/?format=api",
            "priority": 100,
            "id": 1438161,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=bcb33b0ad6dbfc1b",
            "url": "https://translate-dev.freebsd.org/api/units/1438161/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:00.963843Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "\tbzero(&fr, sizeof(fr));\n\tfr.fr_flags = RFFDG | RFPROC | RFSTOPPED;\n\tfr.fr_procp = &initproc;\n\terror = fork1(&thread0, &fr);\n\tif (error)\n\t\tpanic(\"cannot fork init: %d\\n\", error);\n\tKASSERT(initproc->p_pid == 1, (\"create_init: initproc->p_pid != 1\"));\n\t/* divorce init's credentials from the kernel's */\n\tnewcred = crget();\n\tsx_xlock(&proctree_lock);\n\tPROC_LOCK(initproc);\n\tinitproc->p_flag |= P_SYSTEM | P_INMEM;\n\tinitproc->p_treeflag |= P_TREE_REAPER;\n\toldcred = initproc->p_ucred;\n\tcrcopy(newcred, oldcred);\n#ifdef MAC\n\tmac_cred_create_init(newcred);\n#endif\n#ifdef AUDIT\n\taudit_cred_proc1(newcred);\n#endif\n\tproc_set_cred(initproc, newcred);\n\ttd = FIRST_THREAD_IN_PROC(initproc);\n\tcrcowfree(td);\n\ttd->td_realucred = crcowget(initproc->p_ucred);\n\ttd->td_ucred = td->td_realucred;\n\tPROC_UNLOCK(initproc);\n\tsx_xunlock(&proctree_lock);\n\tcrfree(oldcred);\n\tcpu_fork_kthread_handler(FIRST_THREAD_IN_PROC(initproc), start_init, NULL);\n}\nSYSINIT(init, SI_SUB_CREATE_INIT, SI_ORDER_FIRST, create_init, NULL);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 658938301461247435,
            "content_hash": 658938301461247435,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1683",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 291,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 88,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436759/?format=api",
            "priority": 100,
            "id": 1438162,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=892504e4db7f35cb",
            "url": "https://translate-dev.freebsd.org/api/units/1438162/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:01.056336Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "The function `create_init()` allocates a new process by calling `fork1()`, but does not mark it runnable.  When this new process is scheduled for execution by the scheduler, the `start_init()` will be called.  That function is defined in [.filename]#init_main.c#.  It tries to load and exec the [.filename]#init# binary, probing [.filename]#/sbin/init# first, then [.filename]#/sbin/oinit#, [.filename]#/sbin/init.bak#, and finally [.filename]#/rescue/init#:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4040839099632815195,
            "content_hash": 4040839099632815195,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1689",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 292,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436761/?format=api",
            "priority": 100,
            "id": 1438163,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=b813f1c0781f8c5b",
            "url": "https://translate-dev.freebsd.org/api/units/1438163/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:01.061119Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "sys/kern/init_main.c:\nstatic char init_path[MAXPATHLEN] =\n#ifdef\tINIT_PATH\n    __XSTRING(INIT_PATH);\n#else\n    \"/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init\";\n#endif\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1813822175094227308,
            "content_hash": 1813822175094227308,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1699",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 293,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1436763/?format=api",
            "priority": 100,
            "id": 1438164,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=992bfda88037c16c",
            "url": "https://translate-dev.freebsd.org/api/units/1438164/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-07-08T03:00:01.066520Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "After control is received from the BIOS at memory address `0x7c00`, [.filename]#boot0# starts executing.  It is the first piece of code under FreeBSD control.  The task of [.filename]#boot0# is quite simple: scan the partition table and let the user choose which partition to boot from.  The Partition Table is a special, standard data structure embedded in the MBR (hence embedded in [.filename]#boot0#) describing the four standard PC \"partitions\".  [.filename]#boot0# resides in the filesystem as [.filename]#/boot/boot0#.  It is a small 512-byte file, and it is exactly what FreeBSD's installation procedure wrote to the hard disk's MBR if you chose the \"bootmanager\" option at installation time.  Indeed, [.filename]#boot0# _is_ the MBR."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3322287093586598056,
            "content_hash": -3322287093586598056,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:193",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 28,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 109,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1454419/?format=api",
            "priority": 100,
            "id": 1454435,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=51e4dd7d98e7e758",
            "url": "https://translate-dev.freebsd.org/api/units/1454435/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-10-30T17:43:57.330054Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/nl_NL/?format=api",
            "source": [
                "`init386()` is defined in [.filename]#sys/i386/i386/machdep.c# and performs low-level initialization specific to the i386 chip. The switch to protected mode was performed by the loader.  The loader has created the very first task, in which the kernel continues to operate.  Before looking at the code, consider the tasks the processor must complete to initialize protected mode execution:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8011202278981642321,
            "content_hash": 8011202278981642321,
            "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:1351",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 231,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1454421/?format=api",
            "priority": 100,
            "id": 1454436,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/nl_NL/?checksum=ef2d82070e802851",
            "url": "https://translate-dev.freebsd.org/api/units/1454436/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2022-10-30T17:43:57.411967Z"
        }
    ]
}