Skip to content

Commit

Permalink
initial translation in ffi/ffi
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardolara committed Nov 29, 2024
1 parent 9eefdb5 commit 75e376c
Show file tree
Hide file tree
Showing 17 changed files with 1,366 additions and 0 deletions.
63 changes: 63 additions & 0 deletions reference/ffi/ffi/addr.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9e0804888ae46a50f28d98514a8d5e70a34e069c Maintainer: leonardolara Status: ready -->
<refentry xml:id="ffi.addr" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>FFI::addr</refname>
<refpurpose>Cria um ponteiro não gerenciado para dado C</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="FFI">
<modifier>public</modifier> <modifier>static</modifier> <type>FFI\CData</type><methodname>FFI::addr</methodname>
<methodparam><type>FFI\CData</type><parameter role="reference">ptr</parameter></methodparam>
</methodsynopsis>
<para>
Cria um ponteiro não gerenciado para o dado C representado pelo
<classname>FFI\CData</classname> informado. O ponteiro de origem <parameter>ptr</parameter> precisa sobreviver ao
ponteiro resultante. Esta função é útil principalmente para passar argumentos para funções C através de ponteiro.
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>ptr</parameter></term>
<listitem>
<para>
O identificador do ponteiro para uma estrutura de dado C.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna o objeto <classname>FFI\CData</classname> recentemente criado.
</para>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
63 changes: 63 additions & 0 deletions reference/ffi/ffi/alignof.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9e0804888ae46a50f28d98514a8d5e70a34e069c Maintainer: leonardolara Status: ready -->
<refentry xml:id="ffi.alignof" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>FFI::alignof</refname>
<refpurpose>Obtém o alinhamento</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="FFI">
<modifier>public</modifier> <modifier>static</modifier> <type>int</type><methodname>FFI::alignof</methodname>
<methodparam><type class="union"><type>FFI\CData</type><type>FFI\CType</type></type><parameter role="reference">ptr</parameter></methodparam>
</methodsynopsis>
<para>
Obtém o alinhamento do objeto <classname>FFI\CData</classname> ou
<classname>FFI\CType</classname> informado.
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>ptr</parameter></term>
<listitem>
<para>
O identificador do dado ou do tipo C.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna o alinhamento do objeto <classname>FFI\CData</classname> ou
<classname>FFI\CType</classname> informado.
</para>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
83 changes: 83 additions & 0 deletions reference/ffi/ffi/arraytype.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9e0804888ae46a50f28d98514a8d5e70a34e069c Maintainer: leonardolara Status: ready -->
<refentry xml:id="ffi.arraytype" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>FFI::arrayType</refname>
<refpurpose>Constrói dinamicamente um novo array tipo C</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="FFI">
<modifier>public</modifier> <modifier>static</modifier> <type>FFI\CType</type><methodname>FFI::arrayType</methodname>
<methodparam><type>FFI\CType</type><parameter>type</parameter></methodparam>
<methodparam><type>array</type><parameter>dimensions</parameter></methodparam>
</methodsynopsis>
<para>
Constrói dinamicamente um novo array tipo C com elementos do tipo definido por <parameter>type</parameter>
e dimensões especificadas por <parameter>dimensions</parameter>. No exemplo a seguir, <code>$t1</code>
e <code>$t2</code> são tipos de array equivalentes:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$t1 = FFI::type("int[2][3]");
$t2 = FFI::arrayType(FFI::type("int"), [2, 3]);
?>
]]>
</programlisting>
</informalexample>
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>type</parameter></term>
<listitem>
<para>
Uma declaração C válida como uma <type>string</type> ou como uma instância de <classname>FFI\CType</classname>
que já tenha sido criada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>dimensions</parameter></term>
<listitem>
<para>
As dimensões do tipo como um <type>array</type>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna o objeto <classname>FFI\CType</classname> recentemente criado.
</para>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
100 changes: 100 additions & 0 deletions reference/ffi/ffi/cast.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 10beb4156579b621246bca461be7a0017bc280ad Maintainer: leonardolara Status: ready -->
<refentry xml:id="ffi.cast" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>FFI::cast</refname>
<refpurpose>Realiza um conversão de tipo C</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="FFI">
<modifier>public</modifier> <type class="union"><type>FFI\CData</type><type>null</type></type><methodname>FFI::cast</methodname>
<methodparam><type class="union"><type>FFI\CType</type><type>string</type></type><parameter>type</parameter></methodparam>
<methodparam><type class="union"><type>FFI\CData</type><type>int</type><type>float</type><type>bool</type><type>null</type></type><parameter role="reference">ptr</parameter></methodparam>
</methodsynopsis>
<para>
<methodname>FFI::cast</methodname> cria um novo objeto <classname>FFI\CData</classname>,
que referencia a mesma estrutura de dados C, mas é associado com um tipo diferente.
O objeto resultante não detém o dado C, e o ponteiro de origem <parameter>ptr</parameter>
precisa sobreviver ao resultado. O tipo C pode ser especificado como uma <type>string</type> com qualquer
declaração de tipo C válida ou como objeto <classname>FFI\CType</classname>, criado antes.
Qualquer tipo declarado para a instância é permitido.
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>type</parameter></term>
<listitem>
<para>
Uma declaração válida em C como uma <type>string</type> ou uma instância de <classname>FFI\CType</classname>
que já tenha sido criada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>ptr</parameter></term>
<listitem>
<para>
O identificador do ponteiro para uma estrutura de dados C.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna o objeto <classname>FFI\CData</classname> recentemente criado.
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.3.0</entry>
<entry>
Chamar <methodname>FFI::cast</methodname> estaticamente agora foi descontinuado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
Loading

0 comments on commit 75e376c

Please sign in to comment.