.TH "SDL_WasInit" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_WasInit \- Check which subsystems are initialized
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBUint32 \fBSDL_WasInit\fP\fR(\fBUint32 flags\fR);
.SH "DESCRIPTION"
.PP
\fBSDL_WasInit\fP allows you to see which SDL subsytems have been \fIinitialized\fR\&. \fBflags\fR is a bitwise OR\&'d combination of the subsystems you wish to check (see \fI\fBSDL_Init\fP\fR for a list of subsystem flags)\&.
.SH "RETURN VALUE"
.PP
\fBSDL_WasInit\fP returns a bitwised OR\&'d combination of the initialized subsystems\&.
.SH "EXAMPLES"
.PP
.nf
\f(CW
/* Here are several ways you can use SDL_WasInit() */

/* Get init data on all the subsystems */
Uint32 subsystem_init;

subsystem_init=SDL_WasInit(SDL_INIT_EVERYTHING);

if(subsystem_init&SDL_INIT_VIDEO)
  printf("Video is initialized\&.
");
else
  printf("Video is not initialized\&.
");



/* Just check for one specfic subsystem */

if(SDL_WasInit(SDL_INIT_VIDEO)!=0)
  printf("Video is initialized\&.
");
else
  printf("Video is not initialized\&.
");




/* Check for two subsystems */

Uint32 subsystem_mask=SDL_INIT_VIDEO|SDL_INIT_AUDIO;

if(SDL_WasInit(subsystem_mask)==subsystem_mask)
  printf("Video and Audio initialized\&.
");
else
  printf("Video and Audio not initialized\&.
");
\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_Init\fP\fR, \fI\fBSDL_Subsystem\fP\fR
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00
