/* =============================================================================
 *  sc_os.h
 *  Copyright (c) 2003 - 2013  Nomura Kei
 * =============================================================================
 */
#ifndef SC_OS_H
#define SC_OS_H

#ifndef CONFIG_H
#include <config.h>
#endif


/* -----------------------------------------------------------------------------
 *  OS 判断定義
 * -----------------------------------------------------------------------------
 */
#if (TARGET_OS == OS_WINDOWS)
#define isWindows	(1)		/*< ターゲットOS が Windows か否かを表します.	*/
#else
#define isWindows	(0)		/*< ターゲットOS が Windows か否かを表します.	*/
#endif

#if (TARGET_OS == OS_LINUX)
#define isLinux		(1)		/*< ターゲットOS が Linux か否かを表します.		*/
#else
#define isLinux		(0)		/*< ターゲットOS が Linux か否かを表します.		*/
#endif

#if (TARGET_OS == OS_MAC)
#define isMac		(1)		/*< ターゲットOS が Mac か否かを表します.		*/
#else
#define isMac		(0)		/*< ターゲットOS が Mac か否かを表します.		*/
#endif

#if (TARGET_OS == OS_BSD)
#define isBSD		(1)		/*< ターゲットOS が Mac か否かを表します.		*/
#else
#define isBSD		(0)		/*< ターゲットOS が Mac か否かを表します.		*/
#endif

#if (TARGET_OS == OS_UNIX)
#define isUNIX		(1)		/*< ターゲットOS が UNIX か否かを表します.		*/
#else
#define isUNIX		(0)		/*< ターゲットOS が UNIX か否かを表します.		*/
#endif

#if (TARGET_OS == OS_VXWORKS)
#define isVxWorks	(1)		/*< ターゲットOS が VxWors か否かを表します.	*/
#else
#define isVxWorks	(0)		/*< ターゲットOS が VxWorks か否かを表します.	*/
#endif






#if (isWindows)
/* -----------------------------------------------------------------------------
 *  Windows に関する設定
 * -----------------------------------------------------------------------------
 */

#ifdef __DMC__
/**
 * DMC にて winsock2.h を使用する為の定義.
 * http://www.digitalmars.com/d/archives/c++/idde/326.html
 */
#define _WINSOCKAPI_
#include <sys/types.h>
#endif	/* __DMC__ */

#include <windows.h>
#include <winsock2.h>

#endif


#endif	/* SC_OS_H */
