<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  Written 2012 by David Herrmann <dh.herrmann@googlemail.com>
  Dedicated to the Public Domain
-->

<refentry id="drmAvailable">
  <refentryinfo>
    <title>Direct Rendering Manager</title>
    <productname>libdrm</productname>
    <date>September 2012</date>
    <authorgroup>
      <author>
        <contrib>Developer</contrib>
        <firstname>David</firstname>
        <surname>Herrmann</surname>
        <email>dh.herrmann@googlemail.com</email>
      </author>
    </authorgroup>
  </refentryinfo>

  <refmeta>
    <refentrytitle>drmAvailable</refentrytitle>
    <manvolnum>3</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>drmAvailable</refname>
    <refpurpose>determine whether a DRM kernel driver has been
                loaded</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <funcsynopsis>

      <funcsynopsisinfo>#include &lt;xf86drm.h&gt;</funcsynopsisinfo>

      <funcprototype>
        <funcdef>int <function>drmAvailable</function></funcdef>
        <paramdef>void</paramdef>
      </funcprototype>

    </funcsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>
    <para><function>drmAvailable</function> allows the caller to determine
          whether a kernel DRM driver is loaded.</para>
  </refsect1>

  <refsect1>
    <title>Return Value</title>
    <para><function>drmAvailable</function> returns 1 if a DRM driver is
          currently loaded. Otherwise 0 is returned.</para>
  </refsect1>

  <refsect1>
    <title>Reporting Bugs</title>
    <para>Bugs in this function should be reported to
      https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&amp;component=libdrm
      under the "DRI" product, component "libdrm"</para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>drm</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>drmOpen</refentrytitle><manvolnum>3</manvolnum></citerefentry>
    </para>
  </refsect1>
</refentry>
