<HTML
><HEAD
><TITLE
>SDL_JoystickName</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="SDL Library Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Joystick"
HREF="joystick.html"><LINK
REL="PREVIOUS"
TITLE="SDL_NumJoysticks"
HREF="sdlnumjoysticks.html"><LINK
REL="NEXT"
TITLE="SDL_JoystickOpen"
HREF="sdljoystickopen.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFF8DC"
TEXT="#000000"
LINK="#0000ee"
VLINK="#551a8b"
ALINK="#ff0000"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>SDL Library Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="sdlnumjoysticks.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdljoystickopen.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SDLJOYSTICKNAME"
></A
>SDL_JoystickName</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN6066"
></A
><H2
>Name</H2
>SDL_JoystickName&nbsp;--&nbsp;Get joystick name.</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN6069"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN6070"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include "SDL.h"</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>const char *<B
CLASS="FSFUNC"
>SDL_JoystickName</B
></CODE
>(int index);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN6076"
></A
><H2
>Description</H2
><P
>Get the implementation dependent name of joystick. The <TT
CLASS="PARAMETER"
><I
>index</I
></TT
> parameter refers to the N'th joystick on the system.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN6080"
></A
><H2
>Return Value</H2
><P
>Returns a char pointer to the joystick name.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN6083"
></A
><H2
>Examples</H2
><P
><PRE
CLASS="PROGRAMLISTING"
>/* Print the names of all attached joysticks */
int num_joy, i;
num_joy=SDL_NumJoysticks();
printf("%d joysticks found\n", num_joy);
for(i=0;i&#60;num_joy;i++)
  printf("%s\n", SDL_JoystickName(i));</PRE
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN6087"
></A
><H2
>See Also</H2
><P
><A
HREF="sdljoystickopen.html"
><TT
CLASS="FUNCTION"
>SDL_JoystickOpen</TT
></A
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sdlnumjoysticks.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sdljoystickopen.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SDL_NumJoysticks</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="joystick.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_JoystickOpen</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>