Translation components API.

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

GET /api/components/freebsd-doc/articles_linux-emulation/changes/?format=api&page=14
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 891,
    "next": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/changes/?format=api&page=15",
    "previous": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/changes/?format=api&page=13",
    "results": [
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26443/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:12:07.849173Z",
            "action": 5,
            "target": "Como puede ver, utilizamos eficazmente la <literal>__predict_true</literal> modificador para colapsar el caso más común (proceso FreeBSD) a una operación de retorno simple preservando así el alto rendimiento. Este código debería convertirse en una macro porque actualmente no es muy flexible, es decir, no admitimos <trademark class=\"registered\">Linux</trademark>64 emulación ni A.OUT<trademark class=\"registered\">Linux</trademark> procesos en i386.",
            "id": 93088,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93088/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26445/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:12:57.366901Z",
            "action": 5,
            "target": "el subsistema FreeBSD VFS es muy complejo pero es <trademark class=\"registered\">Linux</trademark> La capa de emulación utiliza solo un pequeño subconjunto a través de una API bien definida. Puede operar en vnodes o controladores de archivos. Vnode representa un vnode virtual, es decir, la representación de un nodo en VFS. Otra representación es un controlador de archivos, que representa un archivo abierto desde la perspectiva de un proceso. Un manejador de archivos puede representar un socket o un archivo ordinario. Un controlador de archivos contiene un puntero a su vnode. Más de un controlador de archivos puede apuntar al mismo vnode.",
            "id": 93089,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93089/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26446/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:13:01.423296Z",
            "action": 37,
            "target": "namei",
            "id": 93090,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93090/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26447/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:13:56.269261Z",
            "action": 5,
            "target": "La <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> La rutina es un punto de entrada central para la búsqueda y traducción de nombres de rutas. Atraviesa la ruta punto por punto desde el punto de inicio hasta el punto final utilizando la función de búsqueda, que es interna de VFS. los <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> syscall puede hacer frente a enlaces simbólicos, rutas absolutas y relativas. Cuando se busca un camino usando <citerefentry><refentrytitle>namei</refentrytitle><manvolnum>9</manvolnum></citerefentry> se ingresa en la caché de nombres. Este comportamiento se puede suprimir. Esta rutina se utiliza en todo el kernel y su rendimiento es muy crítico.",
            "id": 93091,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93091/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26448/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:13:59.219537Z",
            "action": 37,
            "target": "vn_fullpath",
            "id": 93092,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93092/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26449/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:14:19.504919Z",
            "action": 5,
            "target": "La <citerefentry><refentrytitle>vn_fullpath</refentrytitle><manvolnum>9</manvolnum></citerefentry> La función hace el mejor esfuerzo para atravesar la caché de nombres de VFS y devuelve una ruta para un vnode dado (bloqueado). Este proceso no es confiable pero funciona bien para los casos más comunes. La falta de confiabilidad se debe a que se basa en la caché VFS (no atraviesa las estructuras medias), no funciona con enlaces duros, etc. Esta rutina se usa en varios lugares del Linuxulator.",
            "id": 93093,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93093/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26450/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:14:29.124645Z",
            "action": 5,
            "target": "Operaciones de vnode",
            "id": 93094,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93094/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26451/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:14:43.521448Z",
            "action": 5,
            "target": "<function>fgetvp</function> - dado un hilo y un número de descriptor de archivo, devuelve el vnode asociado",
            "id": 93095,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93095/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26452/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:14:59.324394Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>vn_lock</refentrytitle><manvolnum>9</manvolnum></citerefentry> - bloquea un vnode",
            "id": 93096,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93096/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26453/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:15:09.015304Z",
            "action": 5,
            "target": "<function>vn_unlock</function> - desbloquea un vnode",
            "id": 93097,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93097/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26454/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:15:20.388922Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>VOP_READDIR</refentrytitle><manvolnum>9</manvolnum></citerefentry> - lee un directorio al que hace referencia un vnode",
            "id": 93098,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93098/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26455/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:15:32.523182Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>VOP_GETATTR</refentrytitle><manvolnum>9</manvolnum></citerefentry> - obtiene atributos de un archivo o directorio al que hace referencia un vnode",
            "id": 93099,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93099/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26456/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:15:43.316769Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>VOP_LOOKUP</refentrytitle><manvolnum>9</manvolnum></citerefentry> - busca una ruta a un directorio determinado",
            "id": 93100,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93100/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26457/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:16:32.305884Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>VOP_OPEN</refentrytitle><manvolnum>9</manvolnum></citerefentry> - abre un archivo referenciado por un vnode",
            "id": 93101,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93101/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26458/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:16:50.475038Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>VOP_CLOSE</refentrytitle><manvolnum>9</manvolnum></citerefentry> - cierra un archivo al que hace referencia un vnode",
            "id": 93102,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93102/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26459/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:16:59.895050Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>vput</refentrytitle><manvolnum>9</manvolnum></citerefentry> - disminuye el recuento de uso de un vnode y lo desbloquea",
            "id": 93103,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93103/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26460/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:17:09.926007Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>vrele</refentrytitle><manvolnum>9</manvolnum></citerefentry> - disminuye el recuento de uso de un vnode",
            "id": 93104,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93104/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26461/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:17:18.669061Z",
            "action": 5,
            "target": "<citerefentry><refentrytitle>vref</refentrytitle><manvolnum>9</manvolnum></citerefentry> - incrementa el recuento de uso de un vnode",
            "id": 93105,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93105/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26462/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:17:26.408620Z",
            "action": 5,
            "target": "Operaciones del controlador de archivos",
            "id": 93106,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93106/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26463/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:17:36.812116Z",
            "action": 5,
            "target": "<function>fget</function> - dado un hilo y un número de descriptor de archivo, devuelve el controlador de archivo asociado y lo hace referencia",
            "id": 93107,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93107/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26464/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:17:47.348620Z",
            "action": 5,
            "target": "<function>fdrop</function> - suelta una referencia a un controlador de archivos",
            "id": 93108,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93108/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26465/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:17:56.560359Z",
            "action": 5,
            "target": "<function>fhold</function> - hace referencia a un controlador de archivos",
            "id": 93109,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93109/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26466/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:18:06.644498Z",
            "action": 5,
            "target": "<trademark class=\"registered\">Linux</trademark> capa de emulación-parte MD",
            "id": 93110,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93110/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26467/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:18:27.076570Z",
            "action": 5,
            "target": "Esta sección trata de la implementación de <trademark class=\"registered\">Linux</trademark> capa de emulación en el sistema operativo FreeBSD. Primero describe la parte dependiente de la máquina hablando de cómo y dónde se implementa la interacción entre el área de usuario y el kernel. Habla de llamadas al sistema, señales, ptrace, trampas, reparación de pila. Esta parte trata sobre i386, pero está escrito en general, por lo que otras arquitecturas no deberían diferir mucho. La siguiente parte es la parte independiente de la máquina del Linuxulator. Esta sección solo cubre el manejo de i386 y ELF. A.OUT es obsoleto y no se ha probado.",
            "id": 93111,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93111/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26468/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:18:41.919937Z",
            "action": 5,
            "target": "Manejo de llamadas al sistema",
            "id": 93112,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93112/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26469/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:19:32.685402Z",
            "action": 5,
            "target": "El manejo de syscall está escrito principalmente en <filename>linux_sysvec.c</filename>, que cubre la mayoría de las rutinas señaladas en la <literal>sysentvec</literal> estructura. Cuando una <trademark class=\"registered\">Linux</trademark> proceso que se ejecuta en FreeBSD emite una llamada al sistema, la rutina general de llamada al sistema llama a la rutina prepsyscall de linux para <trademark class=\"registered\">Linux</trademark> ABI.",
            "id": 93113,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93113/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26470/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:19:42.938000Z",
            "action": 5,
            "target": "<trademark class=\"registered\">Linux</trademark> prepsyscall",
            "id": 93114,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93114/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26470/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:19:46.253076Z",
            "action": 37,
            "target": "<trademark class=\"registered\">Linux</trademark> prepsyscall",
            "id": 93115,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93115/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26471/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:20:56.199772Z",
            "action": 5,
            "target": "<trademark class=\"registered\">Linux</trademark>pasa argumentos a las llamadas al sistema a través de registros (es por eso que está limitado a 6 parámetros en i386) mientras que FreeBSD usa la pila. los <trademark class=\"registered\">Linux</trademark> La rutina prepsyscall debe copiar los parámetros de los registros a la pila. El orden de los registros es: <varname>%ebx</varname>, <varname>%ecx</varname>, <varname>%edx</varname>, <varname>%esi</varname>, <varname>%edi</varname>, <varname>%ebp</varname>. El problema es que esto es cierto solo para <emphasis>most</emphasis> de las llamadas al sistema. Algunos (más notablemente <function>clone</function>) usa un orden diferente pero afortunadamente es fácil de arreglar insertando un parámetro ficticio en el <function>linux_clone</function> prototipo.",
            "id": 93116,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93116/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26472/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:21:07.536409Z",
            "action": 5,
            "target": "Escritura de syscall",
            "id": 93117,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93117/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26473/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:21:28.029808Z",
            "action": 5,
            "target": "Cada syscall implementada en Linuxulator debe tener su prototipo con varios indicadores en <filename>syscalls.master</filename>. La forma del archivo es:",
            "id": 93118,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93118/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26474/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:21:31.916691Z",
            "action": 37,
            "target": "...\n\tAUE_FORK STD\t\t{ int linux_fork(void); }\n...\n\tAUE_CLOSE NOPROTO\t{ int close(int fd); }\n...",
            "id": 93119,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93119/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26475/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:22:49.587059Z",
            "action": 5,
            "target": "La primera columna representa el número de llamada al sistema. La segunda columna es para el soporte de auditoría. La tercera columna representa el tipo de llamada al sistema. Es bien <literal>STD</literal>, <literal>OBSOL</literal>, <literal>NOPROTO</literal> y <literal>UNIMPL</literal>. <literal>STD</literal> es una llamada al sistema estándar con prototipo completo e implementación. <literal>OBSOL</literal> es Obsoleto y define solo el prototipo.. <literal>NOPROTO</literal> significa que la llamada al sistema se implementa en otro lugar, así que no anteponga el prefijo ABI, etc. <literal>UNIMPL</literal> Significa que el syscall será sustituido por el <function>nosys</function> syscall (una syscall que simplemente imprime un mensaje sobre la no implementación del syscall y que regresa <literal>ENOSYS</literal>).",
            "id": 93120,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93120/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26476/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:23:32.132520Z",
            "action": 5,
            "target": "Desde <filename>syscalls.master</filename> un script genera tres archivos: <filename>linux_syscall.h</filename>, <filename>linux_proto.h</filename> y <filename>linux_sysent.c</filename>. El <filename>linux_syscall.h</filename> contiene definiciones de nombres de llamadas al sistema y su valor numérico, por ejemplo:",
            "id": 93121,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93121/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26477/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:23:36.910374Z",
            "action": 37,
            "target": "...\n#define LINUX_SYS_linux_fork 2\n...\n#define LINUX_SYS_close 6\n...",
            "id": 93122,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93122/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26478/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:23:59.343661Z",
            "action": 5,
            "target": "El <filename>linux_proto.h</filename> contiene definiciones de estructura de argumentos para cada llamada al sistema, por ejemplo:",
            "id": 93123,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93123/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26479/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:24:02.722036Z",
            "action": 37,
            "target": "struct linux_fork_args {\n  register_t dummy;\n};",
            "id": 93124,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93124/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26480/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:24:20.174531Z",
            "action": 5,
            "target": "Y finalmente, <filename>linux_sysent.c</filename> contiene una estructura que describe la tabla de entrada del sistema, utilizada para enviar una llamada al sistema, por ejemplo:",
            "id": 93125,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93125/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26481/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:24:23.398831Z",
            "action": 37,
            "target": "{ 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0 }, /* 2 = linux_fork */\n{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close */",
            "id": 93126,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93126/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26482/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:25:38.830341Z",
            "action": 5,
            "target": "Como puedes ver <function>linux_fork</function> se implementa en el propio Linuxulator, por lo que la definición es de <literal>STD</literal> type y no tiene argumento, que es exhibido por la estructura de argumento ficticia. Por otra parte <function>close</function> es solo un alias de FreeBSD real <citerefentry><refentrytitle>cierre</refentrytitle><manvolnum>2</manvolnum></citerefentry> por lo que no tiene una estructura de argumentos linux asociada y en la tabla de entrada del sistema no tiene el prefijo linux, ya que llama al real <citerefentry><refentrytitle>cierre</refentrytitle><manvolnum>2</manvolnum></citerefentry> en el kernel.",
            "id": 93127,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93127/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26483/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:25:50.553275Z",
            "action": 5,
            "target": "Llamadas al sistema ficticias",
            "id": 93128,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93128/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26484/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:26:49.082447Z",
            "action": 5,
            "target": "El <trademark class=\"registered\">Linux</trademark> La capa de emulación no está completa, ya que algunas llamadas al sistema no se implementan correctamente y otras no se implementan en absoluto. La capa de emulación emplea una función para marcar llamadas al sistema no implementadas con el<literal>DUMMY</literal> macro. Estas definiciones ficticias residen en <filename>linux_dummy.c</filename>en forma de <literal>DUMMY(syscall);</literal>, que luego se traduce a varios archivos auxiliares de syscall y la implementación consiste en imprimir un mensaje diciendo que este syscall no está implementado. los <literal>UNIMPL</literal> prototype no se utiliza porque queremos poder identificar el nombre de la llamada al sistema que se llamó para saber qué llamadas al sistema son más importantes de implementar.",
            "id": 93129,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93129/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26485/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:27:00.177688Z",
            "action": 5,
            "target": "Manejo de señales",
            "id": 93130,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93130/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26486/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:27:30.592473Z",
            "action": 5,
            "target": "El manejo de señales se realiza generalmente en el kernel de FreeBSD para todas las compatibilidades binarias con una llamada a una capa dependiente de la compatibilidad. <trademark class=\"registered\">Linux</trademark> la capa de compatibilidad define <function>linux_sendsig</function> rutina para este propósito.",
            "id": 93131,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93131/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26487/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:27:34.411258Z",
            "action": 37,
            "target": "<trademark class=\"registered\">Linux</trademark> sendsig",
            "id": 93132,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93132/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26488/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:28:27.564405Z",
            "action": 5,
            "target": "Esta rutina comprueba primero si la señal se ha instalado con un <literal>SA_SIGINFO</literal> en cuyo caso llama <function>linux_rt_sendsig</function> rutina en su lugar. Además, asigna (o reutiliza un contexto de manejador de señal ya existente), luego crea una lista de argumentos para el manejador de señal. Traduce el número de señal basado en la tabla de traducción de señales, asigna un manejador, traduce sigset. Luego guarda contexto para el <function>sigreturn</function> rutina (varios registros, número de trampa traducido y máscara de señal). Finalmente, copia el contexto de la señal al espacio de usuario y prepara el contexto para que se ejecute el manejador de señal real.",
            "id": 93133,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93133/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26489/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:28:30.673901Z",
            "action": 37,
            "target": "linux_rt_sendsig",
            "id": 93134,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93134/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26490/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:29:20.179146Z",
            "action": 5,
            "target": "Esta rutina es similar a  <function>linux_sendsig</function> solo la preparación del contexto de la señal es diferente. Agregando <literal>siginfo</literal>, <literal>ucontext</literal>, y algo <trademark class=\"registered\">POSIX</trademark> partes. Podría valer la pena considerar si esas dos funciones no se pueden combinar con el beneficio de una menor duplicación de código y posiblemente una ejecución aún más rápida.",
            "id": 93135,
            "action_name": "New translation",
            "url": "https://translate-dev.freebsd.org/api/changes/93135/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26490/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:29:23.934932Z",
            "action": 2,
            "target": "Esta rutina es similar a <function>linux_sendsig</function> solo la preparación del contexto de la señal es diferente. Agregando <literal>siginfo</literal>, <literal>ucontext</literal>, y algo <trademark class=\"registered\">POSIX</trademark> partes. Podría valer la pena considerar si esas dos funciones no se pueden combinar con el beneficio de una menor duplicación de código y posiblemente una ejecución aún más rápida.",
            "id": 93136,
            "action_name": "Translation changed",
            "url": "https://translate-dev.freebsd.org/api/changes/93136/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/26491/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/freebsd-doc/articles_linux-emulation/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/es/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/Aaron/?format=api",
            "timestamp": "2020-12-17T10:29:28.921704Z",
            "action": 37,
            "target": "linux_sigreturn",
            "id": 93137,
            "action_name": "Marked for edit",
            "url": "https://translate-dev.freebsd.org/api/changes/93137/?format=api"
        }
    ]
}