diff --git a/reference/ffi/ffi/addr.xml b/reference/ffi/ffi/addr.xml
new file mode 100644
index 000000000..48fa50746
--- /dev/null
+++ b/reference/ffi/ffi/addr.xml
@@ -0,0 +1,63 @@
+
+
+
+
+ FFI::addr
+ Cria um ponteiro não gerenciado para dado C
+
+
+
+ &reftitle.description;
+
+ publicstaticFFI\CDataFFI::addr
+ FFI\CDataptr
+
+
+ Cria um ponteiro não gerenciado para o dado C representado pelo
+ FFI\CData informado. O ponteiro de origem ptr precisa sobreviver ao
+ ponteiro resultante. Esta função é útil principalmente para passar argumentos para funções C através de ponteiro.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O identificador do ponteiro para uma estrutura de dado C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI\CData recentemente criado.
+
+
+
+
+
diff --git a/reference/ffi/ffi/alignof.xml b/reference/ffi/ffi/alignof.xml
new file mode 100644
index 000000000..4a4da9142
--- /dev/null
+++ b/reference/ffi/ffi/alignof.xml
@@ -0,0 +1,63 @@
+
+
+
+
+ FFI::alignof
+ Obtém o alinhamento
+
+
+
+ &reftitle.description;
+
+ publicstaticintFFI::alignof
+ FFI\CDataFFI\CTypeptr
+
+
+ Obtém o alinhamento do objeto FFI\CData ou
+ FFI\CType informado.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O identificador do dado ou do tipo C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o alinhamento do objeto FFI\CData ou
+ FFI\CType informado.
+
+
+
+
+
diff --git a/reference/ffi/ffi/arraytype.xml b/reference/ffi/ffi/arraytype.xml
new file mode 100644
index 000000000..2a7e24f68
--- /dev/null
+++ b/reference/ffi/ffi/arraytype.xml
@@ -0,0 +1,83 @@
+
+
+
+
+ FFI::arrayType
+ Constrói dinamicamente um novo array tipo C
+
+
+
+ &reftitle.description;
+
+ publicstaticFFI\CTypeFFI::arrayType
+ FFI\CTypetype
+ arraydimensions
+
+
+ Constrói dinamicamente um novo array tipo C com elementos do tipo definido por type
+ e dimensões especificadas por dimensions. No exemplo a seguir, $t1
+ e $t2 são tipos de array equivalentes:
+
+
+
+]]>
+
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ type
+
+
+ Uma declaração C válida como uma string ou como uma instância de FFI\CType
+ que já tenha sido criada.
+
+
+
+
+ dimensions
+
+
+ As dimensões do tipo como um array.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI\CType recentemente criado.
+
+
+
+
+
diff --git a/reference/ffi/ffi/cast.xml b/reference/ffi/ffi/cast.xml
new file mode 100644
index 000000000..07c1f6c30
--- /dev/null
+++ b/reference/ffi/ffi/cast.xml
@@ -0,0 +1,100 @@
+
+
+
+
+ FFI::cast
+ Realiza um conversão de tipo C
+
+
+
+ &reftitle.description;
+
+ publicFFI\CDatanullFFI::cast
+ FFI\CTypestringtype
+ FFI\CDataintfloatboolnullptr
+
+
+ FFI::cast cria um novo objeto FFI\CData,
+ 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 ptr
+ precisa sobreviver ao resultado. O tipo C pode ser especificado como uma string com qualquer
+ declaração de tipo C válida ou como objeto FFI\CType, criado antes.
+ Qualquer tipo declarado para a instância é permitido.
+
+
+
+
+ &reftitle.parameters;
+
+
+ type
+
+
+ Uma declaração válida em C como uma string ou uma instância de FFI\CType
+ que já tenha sido criada.
+
+
+
+
+ ptr
+
+
+ O identificador do ponteiro para uma estrutura de dados C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI\CData recentemente criado.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.3.0
+
+ Chamar FFI::cast estaticamente agora foi descontinuado.
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/cdef.xml b/reference/ffi/ffi/cdef.xml
new file mode 100644
index 000000000..9974bc777
--- /dev/null
+++ b/reference/ffi/ffi/cdef.xml
@@ -0,0 +1,108 @@
+
+
+
+
+ FFI::cdef
+ Cria um novo objeto FFI
+
+
+
+ &reftitle.description;
+
+ publicstaticFFIFFI::cdef
+ stringcode""
+ stringnulllib&null;
+
+
+ Cria um novo objeto FFI.
+
+
+
+
+ &reftitle.parameters;
+
+
+ code
+
+
+ Uma string contendo uma sequência de declarações em liguagem C usual
+ (tipos, estruturas, funções, variáveis etc.). Na verdade, esta string pode ser
+ copiada e colada a partir de arquivos de cabeçalho C.
+
+
+
+ As diretivas de pré-processamento C não são suportadas, ou seja, #include,
+ #define e macros CPP não funcionam.
+
+
+
+
+
+ lib
+
+
+ O nome de um arquivo de biblioteca compartilhada, a ser carregado e conectado com
+ as definições.
+
+
+
+ Se lib for omitido ou &null;, as plaraformas que suportam RTLD_DEFAULT
+ tentarão localizar símbolos declarados em code no escopo global
+ normal. Outros sistemas falharão ao tentar resolver estes símbolos.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI criado.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ lib agora pode ser nulo.
+
+
+
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/free.xml b/reference/ffi/ffi/free.xml
new file mode 100644
index 000000000..c2ce932a0
--- /dev/null
+++ b/reference/ffi/ffi/free.xml
@@ -0,0 +1,61 @@
+
+
+
+
+ FFI::free
+ Libera uma estrutura de dados não gerenciada
+
+
+
+ &reftitle.description;
+
+ publicstaticvoidFFI::free
+ FFI\CDataptr
+
+
+ Libera manualmente uma estrutura de dados não gerenciada criada anteriormente.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O identificador do ponteiro não gerenciado a um estrutura de dados C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+
diff --git a/reference/ffi/ffi/isnull.xml b/reference/ffi/ffi/isnull.xml
new file mode 100644
index 000000000..e386df096
--- /dev/null
+++ b/reference/ffi/ffi/isnull.xml
@@ -0,0 +1,61 @@
+
+
+
+
+ FFI::isNull
+ Verifica se um FFI\CData é um ponteiro nulo
+
+
+
+ &reftitle.description;
+
+ publicstaticboolFFI::isNull
+ FFI\CDataptr
+
+
+ Verifica se um FFI\CData é um ponteiro nulo.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O identificador do ponteiro a uma estrutura de dados C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna se FFI\CData é um ponteiro nulo.
+
+
+
+
+
diff --git a/reference/ffi/ffi/load.xml b/reference/ffi/ffi/load.xml
new file mode 100644
index 000000000..e972444ba
--- /dev/null
+++ b/reference/ffi/ffi/load.xml
@@ -0,0 +1,88 @@
+
+
+
+
+ FFI::load
+ Carrega declarações C a partir de um arquivo de cabeçalho
+
+
+
+ &reftitle.description;
+
+ publicstaticFFInullFFI::load
+ stringfilename
+
+
+ Carrega declarações C a partir de um arquivo de cabeçalho. É possível especificar bibliotecas compartilhadas que devem ser carregadas,
+ usando definições especiais FFI_LIB no arquivo de cabeçalho carregado.
+
+
+
+
+ &reftitle.parameters;
+
+
+ filename
+
+
+ O nome de um arquivo de cabeçalho C.
+
+
+ Diretivas de pré-processamento C não são suportadas, ou seja, #include,
+ #define e macros CPP não funcionam, exceto para casos especiais
+ listados abaixo.
+
+
+ O arquivo de cabeçalho deveria conter uma declaração #define para a
+ variável FFI_SCOPE, ex.: #define FFI_SCOPE "MYLIB".
+ Refira à introdução desta classe para detalhes.
+
+
+ O arquivo de cabeçalho pode conter uma declaração #define para a
+ variável FFI_LIB para especificar a biblioteca que a ser exposta. Se for
+ uma biblioteca de sistema, apenas o nome é necessário, ex.: #define FFI_LIB
+ "libc.so.6". Se for uma biblioteca customizada, um caminho relativo é necessário,
+ ex.: #define FFI_LIB "./mylib.so".
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI recém criado ou &null; em caso de falha.
+
+
+
+
+ &reftitle.seealso;
+
+
+ FFI::scope
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/memcmp.xml b/reference/ffi/ffi/memcmp.xml
new file mode 100644
index 000000000..e6983b48c
--- /dev/null
+++ b/reference/ffi/ffi/memcmp.xml
@@ -0,0 +1,85 @@
+
+
+
+
+ FFI::memcmp
+ Compara áreas da memória
+
+
+
+ &reftitle.description;
+
+ publicstaticintFFI::memcmp
+ stringFFI\CDataptr1
+ stringFFI\CDataptr2
+ intsize
+
+
+ Compara o número de bytes definido em size das áreas de memória ptr1 e
+ ptr2. Ambos ptr1 e ptr2
+ podem ser quaisquer estruturas de dados nativas (FFI\CData) ou
+ strings PHP.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr1
+
+
+ O início de uma área de memória.
+
+
+
+
+ ptr2
+
+
+ O início de outra área de memória.
+
+
+
+
+ size
+
+
+ O número de bytes a serem comparados.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna um valor menor que 0 se o conteúdo da área de memória iniciando em ptr1
+ for considerado menor que o conteúdo da área de memória iniciando em ptr2,
+ um número maior que 0 se o conteúdo da primeira área de memória for considerado maior que o segundo,
+ e 0 se forem iguais.
+
+
+
+
+
diff --git a/reference/ffi/ffi/memcpy.xml b/reference/ffi/ffi/memcpy.xml
new file mode 100644
index 000000000..bd2d1eed8
--- /dev/null
+++ b/reference/ffi/ffi/memcpy.xml
@@ -0,0 +1,80 @@
+
+
+
+
+ FFI::memcpy
+ Copia uma área da memória para outra
+
+
+
+ &reftitle.description;
+
+ publicstaticvoidFFI::memcpy
+ FFI\CDatato
+ FFI\CDatastringfrom
+ intsize
+
+
+ Copia o número de bytes informado em size da área de memória from
+ para a área de memória to.
+
+
+
+
+ &reftitle.parameters;
+
+
+ to
+
+
+ O início da área de memória de destino da cópia.
+
+
+
+
+ from
+
+
+ O início da área de memória de origem da cópia.
+
+
+
+
+ size
+
+
+ O número de bytes a serem copiados.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+
diff --git a/reference/ffi/ffi/memset.xml b/reference/ffi/ffi/memset.xml
new file mode 100644
index 000000000..3c2462bbb
--- /dev/null
+++ b/reference/ffi/ffi/memset.xml
@@ -0,0 +1,80 @@
+
+
+
+
+ FFI::memset
+ Preenche uma área de memória
+
+
+
+ &reftitle.description;
+
+ publicstaticvoidFFI::memset
+ FFI\CDataptr
+ intvalue
+ intsize
+
+
+ Preenche, com o número de bytes informado em size, a área de memória apontada por
+ ptr com o valor de byte definido por value.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O início da área de memória a ser preenchida.
+
+
+
+
+ value
+
+
+ O byte para preenchimento.
+
+
+
+
+ size
+
+
+ O número de bytes a serem preenchidos.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+
diff --git a/reference/ffi/ffi/new.xml b/reference/ffi/ffi/new.xml
new file mode 100644
index 000000000..042da578a
--- /dev/null
+++ b/reference/ffi/ffi/new.xml
@@ -0,0 +1,111 @@
+
+
+
+
+ FFI::new
+ Cria uma estrutura de dados C
+
+
+
+ &reftitle.description;
+
+ publicFFI\CDatanullFFI::new
+ FFI\CTypestringtype
+ boolowned&true;
+ boolpersistent&false;
+
+
+ Cria uma estrutura de dados nativa do tipo C fornecido.
+ Qualquer tipo declarado para a instância é permitido.
+
+
+
+
+ &reftitle.parameters;
+
+
+ type
+
+
+ type é uma declaração C válida como uma string ou uma
+ instância de FFI\CType que já tenha sido criada.
+
+
+
+
+ owned
+
+
+ Define se serão criados dados próprios (ou seja, gerenciados) ou não gerenciados. Os dados gerenciados residem junto
+ com o objeto FFI\CData retornado e são liberados quando a
+ última referência a esse objeto é liberada pela contagem regular de referências do PHP ou pelo GC.
+ Dados não gerenciados devem ser liberados chamando FFI::free,
+ quando não forem mais necessários.
+
+
+
+
+ persistent
+
+
+ Define se a estrutura de dados C será alocada permanentemente na memória do sistema (usando
+ malloc) ou na memória de requisição do PHP (usando emalloc).
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI\CData recém criado
+ ou &null; em caso de falha.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.3.0
+
+ Chamar FFI::new estaticamente agora foi descontinuado.
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/scope.xml b/reference/ffi/ffi/scope.xml
new file mode 100644
index 000000000..6dc4a4d5d
--- /dev/null
+++ b/reference/ffi/ffi/scope.xml
@@ -0,0 +1,74 @@
+
+
+
+
+ FFI::scope
+ Instancia um objeto FFI com declarações C analisadas durante o pré-carregamento
+
+
+
+ &reftitle.description;
+
+ publicstaticFFIFFI::scope
+ stringname
+
+
+ Instancia um objeto FFI com declarações C analisadas durante o pré-carregamento.
+
+
+ O método FFI::scope é seguro para ser chamado várias vezes para o mesmo escopo. Várias referências ao
+ mesmo escopo podem ser carregadas ao mesmo tempo.
+
+
+
+
+ &reftitle.parameters;
+
+
+ name
+
+
+ O nome do escopo definido por uma definição especial FFI_SCOPE.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI recém-criado.
+
+
+
+
+ &reftitle.seealso;
+
+
+ FFI::load
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/sizeof.xml b/reference/ffi/ffi/sizeof.xml
new file mode 100644
index 000000000..80659bb1c
--- /dev/null
+++ b/reference/ffi/ffi/sizeof.xml
@@ -0,0 +1,62 @@
+
+
+
+
+ FFI::sizeof
+ Obtém o tamanho do dado ou tipo C
+
+
+
+ &reftitle.description;
+
+ publicstaticintFFI::sizeof
+ FFI\CDataFFI\CTypeptr
+
+
+ Retorna o tamanho do objeto FFI\CData ou
+ FFI\CType fornecido.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O identificador do dado ou tipo C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ O tamanho da área de memória apontada por ptr.
+
+
+
+
+
diff --git a/reference/ffi/ffi/string.xml b/reference/ffi/ffi/string.xml
new file mode 100644
index 000000000..dce002566
--- /dev/null
+++ b/reference/ffi/ffi/string.xml
@@ -0,0 +1,96 @@
+
+
+
+
+ FFI::string
+ Cria uma string PHP a partir de uma área de memória
+
+
+
+ &reftitle.description;
+
+ publicstaticstringFFI::string
+ FFI\CDataptr
+ intnullsize&null;
+
+
+ Cria uma string PHP com o número de bytes informados em size a partir da área de
+ memória apontada por ptr.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O início da área de memória a partir da qual será criada uma string.
+
+
+
+
+ size
+
+
+ O número de bytes a serem copiados para a string.
+ Se size for omitido ou &null;, ptr deverá ser um array de
+ char C terminado em zero.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ A string recém-criada do PHP.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ size agora pode ser nulo; anteriormente seu padrão era
+ 0.
+
+
+
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/type.xml b/reference/ffi/ffi/type.xml
new file mode 100644
index 000000000..d1a01024a
--- /dev/null
+++ b/reference/ffi/ffi/type.xml
@@ -0,0 +1,88 @@
+
+
+
+
+ FFI::type
+ Cria um objeto FFI\CType a partir de uma declaração C
+
+
+
+ &reftitle.description;
+
+ publicFFI\CTypenullFFI::type
+ stringtype
+
+
+ Esta função cria e retorna um objeto FFI\CType para a
+ string fornecida contendo uma declaração de tipo C.
+ Qualquer tipo declarado para a instância é permitido.
+
+
+
+
+ &reftitle.parameters;
+
+
+ type
+
+
+ Uma string com uma declaração C válida.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI\CType recém-criado
+ ou &null; em caso de falha.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.3.0
+
+ Chamar FFI::type estaticamente agora foi descontinuado.
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/ffi/ffi/typeof.xml b/reference/ffi/ffi/typeof.xml
new file mode 100644
index 000000000..dcd1ad937
--- /dev/null
+++ b/reference/ffi/ffi/typeof.xml
@@ -0,0 +1,63 @@
+
+
+
+
+ FFI::typeof
+ Obtém o FFI\CType de FFI\CData
+
+
+
+ &reftitle.description;
+
+ publicstaticFFI\CTypeFFI::typeof
+ FFI\CDataptr
+
+
+ Obtém o objeto FFI\CType que representa o tipo do objeto
+ FFI\CData fornecido.
+
+
+
+
+ &reftitle.parameters;
+
+
+ ptr
+
+
+ O identificador do ponteiro para uma estrutura de dados C.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Retorna o objeto FFI\CType que representa o tipo
+ do objeto FFI\CData fornecido.
+
+
+
+
+