/************** Begin of voscfg.h *******************************************/
/**********************************************************
* 版权所有 (C)2002, 深圳市中兴通讯股份有限公司。
*
* 文件名称： voscfg.h
* 文件标识：
* 内容摘要： VOS的系统配置文件
* 其它说明： 无
* 当前版本： v1.0
* 作    者： 谢鑫
* 完成日期： 2004.02.27
*
* 修改记录1：
*    修改日期：
*    版 本 号：
*    修 改 人：
*    修改内容：
**********************************************************/

#ifndef _VOSCFG_H
#define _VOSCFG_H

#ifdef __cplusplus
extern "C" {
#endif

	/*******************************************************
	*                       基本配置
	*******************************************************/

	/* CPU类型 */
#define   CPU_X86             0x1
#define   CPU_PPC             0x2
#define   CPU_ARM             0x3
#define   CPU_TYPE            CPU_X86

#undef	OS_LINUX	
#undef  OS_WINNT
	/* 操作系统OS类型 */
#define   OS_VXWORKS          0x1
#define   OS_WINNT            0x2
#define   OS_PSOS             0x3
#define   OS_LINUX            0x4
#define   OS_KLINUX           0x5

	///added by wenhm in 2005.08.25
#ifdef _WIN32
#define   OS_TYPE             OS_WINNT
#else #ifdef   linux
#define   OS_TYPE			  OS_LINUX
#endif


	/* linux适配 */
#define    VXWORKS_TO_LINUX
#ifndef    VXWORKS_TO_LINUX
#define    PSOS_TO_LINUX
#endif
#if ( OS_TYPE == OS_KLINUX)
#define  _USE_TIMER_IRQ
#endif

	/*********************************************************
	基本包含文件                        
	**********************************************************/
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <assert.h>

#if OS_TYPE == OS_PSOS
#include <psos.h>
#include <phile.h>
#include <pna.h>
#include <stdlib.h>
#include <errno.h>
#include <time.h>
#include <sys_conf.h>
#include <types.h>
#include <socket.h>
#endif

#if  OS_TYPE == OS_VXWORKS
#include <vxWorks.h>
#include <sysLib.h>
#include <taskLib.h>    
#include <msgQLib.h>
#include <semLib.h>
#include <vmLib.h>
#include <dosfslib.h>
#include <iolib.h>
#include <dirent.h>
#include <stat.h>
#include <errnoLib.h>
#include <types.h>
#include <socket.h>
#include <socklib.h>
#include <logLib.h>
#include <assert.h>
#include <symlib.h>
#include <sysSymTbl.h>
#include <excLib.h>
#include <esf.h>
#include <memLib.h>
#include <tickLib.h>
#include <private\memPartLibP.h>
#include <in.h>
#include <ramDrv.h>
#include <ftpdLib.h>
#include <cachelib.h>
#include <signal.h>
#include <sigLib.h>
#include <time.h>
#include <wdLib.h>
#include <intLib.h>
#include <timers.h>
#include "inetLib.h"
#include "netinet\tcp.h"
#include "fcntl.h"
#include "netinet/in.h"
#include "end.h"
#include "zbufSockLib.h"
#include <routeLib.h>
#include <usrLib.h>
#endif

#if OS_TYPE == OS_WINNT
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include <process.h>
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <imagehlp.h>
#include <io.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <direct.h>
#include <Winsock.h>
#include <time.h>
	///#include <Winsock2.h>
#pragma comment(lib, "imagehlp.lib")
#pragma comment(lib,"Winmm.lib")
#endif

#if OS_TYPE == OS_LINUX
#ifdef VXWORKS_TO_LINUX
	///#include "vxw_hdrs.h"
#else
	///#include "psos_hdrs.h"
#endif
#include <time.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <asm/ioctls.h>
#include <netinet/tcp.h>
#include <sys/select.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <asm/errno.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <string.h> 
#include <unistd.h>
#include <netinet/in.h>    
#include <signal.h>
#include <stdio.h>
#include <dirent.h>
#include <semaphore.h>    
#endif

#if OS_TYPE == OS_KLINUX
#include "kth.h"
	/*	#include "ksocket.h"*/
#include <stdio.h>
#include "ktm.h"
#include <netinet/tcp.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <arpa/inet.h>
	/*	#include "kfile.h"*/
	/*	#include <linux/vmalloc.h>*/
#endif


	/*********************************************************
	基本数据类型                        
	**********************************************************/
#if OS_TYPE != OS_WINNT
	typedef  unsigned char    BYTE;
#endif

	typedef  unsigned char    BOOLEAN;
	typedef  char             CHAR;
	typedef  void            *LPVOID;
	typedef  unsigned short   WORD16;
	typedef  unsigned long    WORD32;
	typedef  signed short     SWORD16;
	///typedef  signed long      SWORD32;

#ifndef SWORD32
#ifdef  WIN32
	typedef long                SWORD32; 
#else
#define SWORD32            long
#endif		
#endif

#define  INVALID_BYTE     (unsigned char)0xff
#define  INVALID_WORD     (unsigned short)0xffff
#define  INVALID_DWORD    (unsigned long)0xffffffff 

	typedef  long             OSS_STATUS;
#define  OSS_OK           0
#define  OSS_ERROR        -1

#ifdef __cplusplus
}
#endif


#endif

/************** End of voscfg.h *******************************************/