<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>                            
                Abstract Data Types
            </keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>                                    
        <refentrytitle>Abstract Built-in Data Types</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2009</year>
                <holder>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.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>2</manvolnum>
    </refmeta>
 


<!-- ================================ SYNOPSIS -->

 
    <refnamediv id="Other Data Types">             
        <refname>Abstract Data Types</refname>

        <refpurpose>
			 Abstract Built-in Data Types
        </refpurpose>
    </refnamediv>



<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Description</title>
        <para>
The following table describes abstract data types supported by OpenCL:
        </para>
<para>
        <informaltable frame="all">
            <tgroup cols="3" align="left" colsep="1" rowsep="1">
                <colspec colname="col1" colnum="1" />
                <colspec colname="col2" colnum="2" />
                <colspec colname="col3" colnum="3" />

                <thead>
                    <row>
                        <entry>Type</entry>
                        <entry>Description</entry>
                        <entry>API Type</entry>
                    </row>
                </thead>

                <tbody>

                    <row>
                        <entry>
							<type>_cl_platform_id *</type>
                        </entry>
                        <entry>
							The ID for a platform.
                        </entry>
                        <entry>
							cl_platform_id
                        </entry>
                    </row>
                   <row>
                        <entry>
							<type>_cl_device_id *</type>
                        </entry>
                        <entry>
							The ID for a device.
                        </entry>
                        <entry>
							cl_device_id
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_context *</type>
                        </entry>
                        <entry>
							A context.
                        </entry>
                        <entry>
							cl_context
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_command_queue *</type>
                        </entry>
                        <entry>
							A ccommand queue.
                        </entry>
                        <entry>
							cl_command_queue
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_mem *</type>
                        </entry>
                        <entry>
							 A memory object.
                        </entry>
                        <entry>
							cl_mem
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_program *</type>
                        </entry>
                        <entry>
							 A program.
                        </entry>
                        <entry>
							cl_program
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_kernel *</type>
                        </entry>
                        <entry>
							 A kernel.
                        </entry>
                        <entry>
							cl_kernel
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_event *</type>
                        </entry>
                        <entry>
							 An event. Also see <link xlink:href="otherDataTypes.html">event_t</link>.
                        </entry>
                        <entry>
							cl_event
                        </entry>
                    </row>
					<row>
                        <entry>
							<type>_cl_sampler *</type>
                        </entry>
                        <entry>
							 A sampler. Also see <link xlink:href="otherDataTypes.html">sampler_t</link>.
                        </entry>
                        <entry>
							cl_sampler
                        </entry>
                    </row>

                </tbody>
            </tgroup>
        </informaltable>
		</para>
    </refsect1>


<!-- ================================ SPECIFICATION  -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page

    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>
                                                 
            <olink uri="otherDataTypes">OpenCL Specification</olink>
        </para>
    </refsect1>
-->

<!-- ================================ ALSO SEE  -->

    <refsect1 id="seealso"><title>Also see</title>
        <para>
			<citerefentry href="macroLimits"><refentrytitle>Macros and Limits</refentrytitle></citerefentry>, 
            <citerefentry href="scalarDataTypes"><refentrytitle>Scalar Data Types</refentrytitle></citerefentry>, 
			<citerefentry href="vectorDataTypes"><refentrytitle>Vector Data Types</refentrytitle></citerefentry>, 
			<citerefentry href="otherDataTypes"><refentrytitle>Other Data Types</refentrytitle></citerefentry>, 
			<citerefentry href="reservedDataTypes"><refentrytitle>Reserved Data Types</refentrytitle></citerefentry> 
        </para>
    </refsect1>



<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
		<imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
		<para />
    </refsect3>

</refentry>

