C Type Handles

(PHP 7 >= 7.4.0, PHP 8)

Introduction

Class synopsis

final class FFI\CType {
/* Constants */
public const int TYPE_VOID ;
public const int TYPE_FLOAT ;
public const int TYPE_DOUBLE ;
public const int TYPE_LONGDOUBLE ;
public const int TYPE_UINT8 ;
public const int TYPE_SINT8 ;
public const int TYPE_UINT16 ;
public const int TYPE_SINT16 ;
public const int TYPE_UINT32 ;
public const int TYPE_SINT32 ;
public const int TYPE_UINT64 ;
public const int TYPE_SINT64 ;
public const int TYPE_ENUM ;
public const int TYPE_BOOL ;
public const int TYPE_CHAR ;
public const int TYPE_POINTER ;
public const int TYPE_FUNC ;
public const int TYPE_ARRAY ;
public const int TYPE_STRUCT ;
public const int ATTR_CONST ;
public const int ATTR_INCOMPLETE_TAG ;
public const int ATTR_VARIADIC ;
public const int ATTR_INCOMPLETE_ARRAY ;
public const int ATTR_VLA ;
public const int ATTR_UNION ;
public const int ATTR_PACKED ;
public const int ATTR_MS_STRUCT ;
public const int ATTR_GCC_STRUCT ;
public const int ABI_DEFAULT ;
public const int ABI_CDECL ;
public const int ABI_FASTCALL ;
public const int ABI_THISCALL ;
public const int ABI_STDCALL ;
public const int ABI_PASCAL ;
public const int ABI_REGISTER ;
public const int ABI_MS ;
public const int ABI_SYSV ;
public const int ABI_VECTORCALL ;
/* Methods */
public getAlignment (): int
public getArrayLength (): int
public getAttributes (): int
public getEnumKind (): int
public getFuncABI (): int
public getKind (): int
public getName (): string
public getSize (): int
}

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
0
scorninpc at php dot net
5 years ago
You can compare CTypes if you want to know if the type are correct

\FFI::typeof(\FFI::addr($a)) == \FFI::typeof(\FFI::new("void *"))

CType need some methods, like equal() or toString(), but .....
+add a note

AltStyle によって変換されたページ (->オリジナル) /