diff --git a/xml/cl.xml b/xml/cl.xml
index d6cd517b..b0907351 100644
--- a/xml/cl.xml
+++ b/xml/cl.xml
@@ -463,6 +463,66 @@ server's OpenCL/api-docs repository.
CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR | \
CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR)
+
+ void
+ cl_command_queue queue
+ cl_uint num_svm_pointers
+ void* svm_pointers[]
+ void* user_data
+
+
+
+ void
+ const char* errinfo
+ const void* private_info
+ size_t cb
+ void* user_data
+
+
+
+ void
+ cl_context context
+ void* user_data
+
+
+
+ void
+ cl_mem memobj
+ void* user_data
+
+
+
+ void
+ cl_program program
+ void* user_data
+
+
+
+ void
+ cl_program program
+ void* user_data
+
+
+
+ void
+ cl_event event
+ cl_int event_command_status
+ void* user_data
+
+
+
+ void
+ void* user_data
+
+
+
+ void
+ const char* buffer
+ size_t len
+ size_t complete
+ void* user_data
+
+
@@ -2948,7 +3008,7 @@ server's OpenCL/api-docs repository.
cl_command_queue command_queue
cl_uint num_svm_pointers
void* svm_pointers[]
- void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void * svm_pointers[], void *user_data)
+ cl_free_svm_callback pfn_free_func
void* user_data
cl_uint num_events_in_wait_list
const cl_event* event_wait_list
@@ -3596,7 +3656,7 @@ server's OpenCL/api-docs repository.
const cl_context_properties* properties
cl_uint num_devices
const cl_device_id* devices
- void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data)
+ cl_context_error_callback pfn_notify
void* user_data
cl_int* errcode_ret
@@ -3604,7 +3664,7 @@ server's OpenCL/api-docs repository.
cl_context clCreateContextFromType
const cl_context_properties* properties
cl_device_type device_type
- void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data)
+ cl_context_error_callback pfn_notify
void* user_data
cl_int* errcode_ret
@@ -3627,7 +3687,7 @@ server's OpenCL/api-docs repository.
cl_int clSetContextDestructorCallback
cl_context context
- void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data)
+ cl_context_destruction_callback pfn_notify
void* user_data
@@ -3750,13 +3810,13 @@ server's OpenCL/api-docs repository.
cl_int clSetMemObjectDestructorCallback
cl_mem memobj
- void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data)
+ cl_mem_object_destruction_callback pfn_notify
void* user_data
cl_int clSetMemObjectDestructorAPPLE
cl_mem memobj
- void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data)
+ cl_mem_object_destruction_callback pfn_notify
void* user_data
@@ -3840,7 +3900,7 @@ server's OpenCL/api-docs repository.
cl_uint num_devices
const cl_device_id* device_list
const char* options
- void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data)
+ cl_program_callback pfn_notify
void* user_data
@@ -3852,7 +3912,7 @@ server's OpenCL/api-docs repository.
cl_uint num_input_headers
const cl_program* input_headers
const char** header_include_names
- void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data)
+ cl_program_callback pfn_notify
void* user_data
@@ -3863,14 +3923,14 @@ server's OpenCL/api-docs repository.
const char* options
cl_uint num_input_programs
const cl_program* input_programs
- void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data)
+ cl_program_callback pfn_notify
void* user_data
cl_int* errcode_ret
cl_int clSetProgramReleaseCallback
cl_program program
- void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data)
+ cl_program_destruction_callback pfn_notify
void* user_data
@@ -4025,7 +4085,7 @@ server's OpenCL/api-docs repository.
cl_int clSetEventCallback
cl_event event
cl_int command_exec_callback_type
- void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data)
+ cl_event_status_change_callback pfn_notify
void* user_data
@@ -4279,7 +4339,7 @@ server's OpenCL/api-docs repository.
cl_int clEnqueueNativeKernel
cl_command_queue command_queue
- void (CL_CALLBACK* user_func)(void*)
+ cl_native_kernel_callback user_func
void* args
size_t cb_args
cl_uint num_mem_objects
@@ -4308,7 +4368,7 @@ server's OpenCL/api-docs repository.
cl_command_queue command_queue
cl_uint num_svm_pointers
void* svm_pointers[]
- void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data)
+ cl_free_svm_callback pfn_free_func
void* user_data
cl_uint num_events_in_wait_list
const cl_event* event_wait_list
@@ -4626,6 +4686,9 @@ server's OpenCL/api-docs repository.
+
+
+
@@ -5132,6 +5195,8 @@ server's OpenCL/api-docs repository.
+
+
@@ -5398,6 +5463,7 @@ server's OpenCL/api-docs repository.
+
@@ -5559,6 +5625,9 @@ server's OpenCL/api-docs repository.
+
+
+
@@ -5583,6 +5652,7 @@ server's OpenCL/api-docs repository.
+
@@ -5864,6 +5934,9 @@ server's OpenCL/api-docs repository.
+
+
+
@@ -6062,6 +6135,9 @@ server's OpenCL/api-docs repository.
+
+
+
@@ -6339,6 +6415,9 @@ server's OpenCL/api-docs repository.
+
+
+
diff --git a/xml/registry.rnc b/xml/registry.rnc
index fb167f3d..d1b0273f 100644
--- a/xml/registry.rnc
+++ b/xml/registry.rnc
@@ -72,7 +72,7 @@ Types = element types {
# bitvalues - for a *Flags type, name of an enum definition that
# defines the valid values for parameters of that type
# category - if present, 'enum' indicates a matching
-# block to generate an enumerated type for, and 'struct'
+# block to generate an enumerated type for, and 'struct'/'function'
# causes special interpretation of the contents of the type
# tag including ... TBD ...
# Other allowed values are 'include', 'define', 'handle' and 'bitmask',
@@ -123,6 +123,9 @@ Types = element types {
# noautovalidity - tag stating that no automatic validity language should be generated
# values - comma-separated list of legal values, usually used only for sType enums
# - containing arbitrary text (unused)
+# For types with category 'function', contents should be one and zero or more
+# - contains a single tag, indicating return value of function pointer
+# - like tag in
#
# *** There is a problem here: I am not sure how to represent the
# syntax where it may contain arbitrarily interleaved text, , and
@@ -178,7 +181,18 @@ Type = element type {
} +
} |
element comment { text }
- ) *
+ ) * |
+ (
+ element proto {
+ element type { TypeName }
+ } ,
+ element param {
+ mixed {
+ element type { TypeName } ? ,
+ element name { text } ?
+ }
+ } *
+ )
)
}