zend_class_entry *name_lower##
_type; \
void name_lower##_init(TSRMLS_D) { \
zend_class_entry class_type; \
INIT_CLASS_ENTRY(class_type, string_name, name_lower##_methods); \
name_lower##
_type = zend_register_internal_class(&class_type TSRMLS_CC); \
name_lower##_type->create_object = name_lower##_create; \
} \
name *php_to_##name_lower(zval *
val TSRMLS_DC) { \
return (
name *)zend_object_store_get_object(
val TSRMLS_CC); \
} \
void name_lower##_free(void *object TSRMLS_DC) { \
name *intern = (
name *)
object; \
name_lower##_free_c(intern TSRMLS_CC); \
efree(object); \
} \
zend_object_value name_lower##_create(zend_class_entry *ce TSRMLS_DC) { \
zend_object_value return_value; \
name *intern = (
name *)emalloc(
sizeof(
name)); \
memset(intern, 0,
sizeof(
name)); \
name_lower##_init_c_instance(intern TSRMLS_CC); \
return_value.handle = zend_objects_store_put( \
intern, (zend_objects_store_dtor_t)zend_objects_destroy_object, \
name_lower##_free,
NULL TSRMLS_CC); \
return_value.handlers = zend_get_std_object_handlers(); \
return return_value; \
}
EGLImageKHR EGLint * name
Definition: eglext.h:851
#define NULL
Definition: common_types.h:41
GLuint GLsizei GLsizei GLfloat * val
Definition: gl2ext.h:3301