kernel  
            Specifies the kernel object being queried.
 arg_indx  
            
                      The argument index. Arguments to the kernel are referred by indices that
                      go from 0 for the leftmost argument to n - 1, where
                      n is the total number of arguments declared by a kernel.
                    
 param_name  
            
                        Specifies the argument information to query. The list of supported
                        param_name types and the information returned in
                        param_value by clGetKernelArgInfo
                        is described in the table below.
                    
 param_value  
            
                        A pointer to memory where the appropriate result being queried is returned.
                        If param_value is NULL, it is ignored.
                    
 param_value_size  
            
                        Used to specify the size in bytes of memory 
                        pointed to by param_value.
                        This size must be > size of return type as described in the table below.
                    
| cl_kernel_arg_info | Return Type | Info. returned in param_value | 
|---|---|---|
| CL_KERNEL_ARG_ADDRESS_QUALIFIER | cl_kernel_arg_- address_qualifier | 
                                        Returns the address qualifier specified for the 
                                        argument given by  
 
 
                                        If no address qualifier is specified, the default address
                                        qualifier which is  | 
| CL_KERNEL_ARG_ACCESS_QUALIFIER | cl_kernel_arg_- access_qualifier | 
                                        Returns the access qualifier specified for the 
                                        argument given by  
 
 
                                      If argument is not an image type
                                      and is not declared with the  | 
| CL_KERNEL_ARG_TYPE_NAME | char[] | 
                                      Returns the type name specified for the argument given
                                      by  | 
| CL_KERNEL_ARG_TYPE_QUALIFIER | cl_kernel_arg- type_qualifier | 
                                      Returns the type qualifier specified for the argument
                                      given by  
                                      NOTE:  
                                        If the argument is declared with the constant address 
                                        space qualifier, the 
                                         | 
| CL_KERNEL_ARG_NAME | char[] | 
                                        Returns the  name specified for the argument given by  | 
                        param_value_size_ret
                    
                
            
                        Returns the actual size in bytes of data copied to param_value.
                        If param_value_size_ret is NULL, it is ignored.
                    
          Kernel argument information is only available if the program
          object associated with kernel is created with
          clCreateProgramWithSource
          and the program executable is built with the -cl-kernel-arg-info
          option specified in options argument to
          clBuildProgram or
          clCompileProgram.
        
Returns CL_SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
arg_indx
                is not a valid argument index.
            param_name
                is not valid, or if size in bytes specified by
                param_value_size is < size of return type as
                described in the table above and param_value is not NULL
            kernel
                is not a valid kernel object.
            clCreateKernel, clGetKernelInfo, clCreateKernelsInProgram, clCreateProgramWithSource, clBuildProgram, clSetKernelArg, clGetKernelWorkGroupInfo
 Copyright © 2007-2013 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.
Copyright © 2007-2013 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.