#ifndef SYSTEM_H
#define SYSTEM_H
-#if defined(MSDOS)
-#define PLATFORM_MSDOS
-#elif defined(WIN32)
-#define PLATFORM_WIN32
-#else
-#define PLATFORM_UNIX
-#endif
+#include "platform.h"
-#if defined(MSDOS)
+#if defined(PLATFORM_MSDOS)
#include "msdos.h"
#endif
#endif
-/* system-wide contant definitions */
+/* contant definitions */
#define DEFAULT_DEPTH 0
#define FULLSCREEN_AVAILABLE TRUE
-/* system-wide type definitions */
+/* type definitions */
typedef int (*EventFilter)(const Event *);
-/* system-wide function definitions */
+/* structure definitions */
+
+struct AudioSystemInfo
+{
+ boolean sound_available;
+ boolean loops_available;
+ int soundserver_pipe[2];
+ int soundserver_pid;
+ int device_fd;
+};
+
+
+/* function definitions */
inline void InitBufferedDisplay(DrawBuffer *, DrawWindow *);
inline int GetDisplayDepth(void);
inline boolean SetVideoMode(void);
inline void ChangeVideoModeIfNeeded(void);
-inline boolean InitAudio(void);
+inline boolean OpenAudio(struct AudioSystemInfo *);
+inline void CloseAudio(struct AudioSystemInfo *);
inline void InitEventFilter(EventFilter);
inline boolean PendingEvent(void);
inline void NextEvent(Event *event);
inline Key GetEventKey(KeyEvent *, boolean);
+inline boolean CheckCloseWindowEvent(ClientMessageEvent *);
#endif /* SYSTEM_H */