You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

373 lines
8.5 KiB
C

2 years ago
/*************************************************************************************
*
* Copyright (C) 1999-2000 SCADA Technology Control Co., Ltd. All rights reserved.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2001/08/07
*
* ˵<EFBFBD><EFBFBD>:
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>.
* 1: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵ij<EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>ֽڵ<EFBFBD>λ)
* 2: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
*************************************************************************************/
#ifndef __TYPEDEF_H__DFJGLWREPUEPISXVCMAFGLJHQEWPYRPEOAJLKGZNCNALDHFPQEWUPOQRJSJHGAQ
#define __TYPEDEF_H__DFJGLWREPUEPISXVCMAFGLJHQEWPYRPEOAJLKGZNCNALDHFPQEWUPOQRJSJHGAQ
/*!
* \if developer_doc
* \file
*
* \brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>
*
* id: $Id: typedef.h,v 1.2 2006/08/04 03:37:33 zhuzhenhua Exp $
*
* \author <EFBFBD><EFBFBD>С<EFBFBD><EFBFBD> prcharold@sina.com.cn develop1@szscada.com
* \endif
*/
#include <sys/types.h>
/*!
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڳ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>,
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, PGCϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD>ļ<EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //(SIZE_OF_CHAR = sizeof(char))
*/
#define SIZE_OF_CHAR 1
#if SIZE_OF_CHAR == 1
typedef char pgcchar;
typedef char pgc8;
typedef signed char int8;
typedef signed char i_8;
typedef unsigned char u_char;
typedef unsigned char pgcu_char;
typedef unsigned char pgcbyte;
typedef unsigned char PGCBYTE;
typedef unsigned char pgcu8;
typedef unsigned char u_8;
typedef unsigned char BYTE;
#else
#error "Please choose a 1 byte data type to redefine pgcchar."
#endif /* SIZE_OF_CHAR == 1 */
#define SIZE_OF_SHORT 2
/*!
* ˫<EFBFBD>ֽ<EFBFBD> //(SIZE_OF_SHORT = sizeof(short))
*/
#if SIZE_OF_SHORT == 2
typedef short pgc16;
typedef short int16;
typedef short i_16;
typedef unsigned short pgcu16;
typedef unsigned short pgcword;
typedef unsigned short PGCWORD;
typedef unsigned short u_16;
typedef unsigned short u_short;
typedef unsigned short WORD;
#else
#error "Please choose a 2 byte data type to redefine pgc16."
#endif //SIZE_OF_SHORT == 2
#define SIZE_OF_LONG 4
#define SIZE_OF_INT 4
/*!
* ˫<EFBFBD>ֽ<EFBFBD> (SIZE_OF_LONG = sizeof(long))
*/
#if SIZE_OF_LONG == 4 && SIZE_OF_INT == 4
typedef int pgc32;
typedef int int32;
typedef unsigned int pgcu32;
typedef unsigned int pgcdword;
typedef unsigned int PGCDWORD;
typedef unsigned int u32;
/*#if OS_WINDOWS
typedef unsigned int DWORD;
#endif //OS_WINDOWS*/
#elif SIZE_OF_LONG == 4
typedef long pgc32;
typedef long int32;
typedef long i_32;
typedef unsigned long pgcu32;
typedef unsigned long pgcdword;
typedef unsigned long PGCDWORD;
typedef unsigned long u_32;
typedef unsigned long DWORD;
#elif SIZE_OF_INT == 4 //(SIZE_OF_INT = sizeof(ing))
#ifndef _INTEGER_32BIT
#define _INTEGER_32BIT
typedef int pgc32;
typedef int int32;
typedef int i_32;
typedef unsigned int pgcu32;
typedef unsigned int pgcdword;
typedef unsigned int PGCDWORD;
typedef unsigned int u_32;
typedef unsigned int DWORD;
# endif
#else
#error "Please choose a 4 byte data type to redefine pgc32."
#endif //SIZE_OF_LONG == 4 and SIZE_OF_INT == 4
#define SIZE_OF_LONG 8
/*!
* 8<EFBFBD>ֽ<EFBFBD> (SIZE_OF_LONG == sizeof(long))
*/
#if SIZE_OF_LONG == 8
typedef long pgc64;
typedef long int64;
typedef long i_64;
typedef unsigned long pgcu64;
typedef unsigned long pgcddword;
typedef unsigned long PGCDDWORD;
typedef unsigned long u_64;
typedef unsigned long DDWORD;
#elif OS_WINDOWS
typedef __int64 pgc64;
typedef __int64 int64;
typedef __int64 i_64;
typedef unsigned __int64 pgcu64;
typedef unsigned __int64 pgcddword;
typedef unsigned __int64 PGCDDWORD;
typedef unsigned __int64 u_64;
typedef unsigned __int64 DDWORD;
#else
typedef int64_t pgc64;
typedef int64_t int64;
typedef int64_t i_64;
typedef u_int64_t pgcu64;
typedef u_int64_t pgcddword;
typedef u_int64_t PGCDDWORD;
typedef u_int64_t u_64;
typedef u_int64_t DDWORD;
#endif //SIZE_OF_LONG == 8
#define SIZE_OF_PTR 4
/*!
* ָ<EFBFBD><EFBFBD> (SIZE_OF_PTR == sizeof(void *))
*/
#if SIZE_OF_PTR == 4
typedef pgc32 PGCPTR;
typedef pgc32 PTR;
typedef pgcu32 PGCUPTR;
typedef pgcu32 UPTR;
#elif SIZE_OF_PTR == 8
typedef pgc64 PGCPTR;
typedef pgc64 PTR;
typedef pgcu64 PGCUPTR;
typedef pgcu64 UPTR;
#else
#error "Please choose a data type, which size is acturally the size of pointer, to present PGCPTR"
#endif
/*!
* PGCBOOL<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SCADA<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
//#ifndef __PGCBOOL_DEF__
//#define __PGCBOOL_DEF__
typedef pgcu8 PGCBOOL;
#define PGCTRUE ((PGCBOOL)1)
#define PGCFALSE ((PGCBOOL)0)
//#endif //__PGCBOOL_DEF__
//#if OS_WINDOWS
//# ifndef key_t
typedef int key_t;
//# endif
//#endif // OS_WINDOWS
/*!
* ipc<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ֵ, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>id, <EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ, <EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD>id, <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>ֵ, <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
*
*/
typedef key_t shmkey_t, SHMKEY_t; // <09><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ֵ
typedef int shmid_t, SHMID_t; // <09><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>id
typedef key_t semkey_t, SEMKEY_t; // <09>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD>ֵ
typedef int semid_t, SEMID_t; // <09>ź<EFBFBD><C5BA><EFBFBD>id
typedef key_t msgkey_t, MSGKEY_t; // <09><>Ϣ<EFBFBD><CFA2><EFBFBD>м<EFBFBD>ֵ
typedef int msgid_t, MSGID_t; // <09><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>id
/*!
* <EFBFBD><EFBFBD>Ч<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(-1)
*/
#define SHM_ADDR_INVALID ((void *)(-1))
/*!
* <EFBFBD><EFBFBD>windows<EFBFBD><EFBFBD><EFBFBD>ݵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>BOOL
*/
typedef int BOOL;
/*! CAUTIOUS
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>Ժ<EFBFBD>վ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸ĸ<EFBFBD><EFBFBD><EFBFBD>
*
* վ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>
*/
typedef int32 stn_no_t;
typedef int32 pnt_no_t;
/*!
* <EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>
*/
typedef i_8 sampling_type_t;
/*!
* <EFBFBD><EFBFBD>TRU64<EFBFBD><EFBFBD>, pthread_t<EFBFBD>ij<EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>8, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>linux(intel)<EFBFBD><EFBFBD>, pthread_t<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>4, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˼<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>thd_id_t<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>Ϊ8<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ڷ<EFBFBD>64λƽ̨
* <EFBFBD><EFBFBD>, ʹ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD>̱߳<EFBFBD>ʶ<EFBFBD><EFBFBD>(id)<EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>
*/
#if defined(OS_LINUX) // unixƽ̨(<28>϶<EFBFBD>ʹ<EFBFBD><CAB9>posix<69>߳̿<DFB3>)
#if SIZE_OF_PTHREAD_T == 8
typedef pthread_t thd_id_t;
#elif SIZE_OF_PTHREAD_T == 4
typedef struct
{
//! <09><>32λ<32>϶<EFBFBD><CFB6><EFBFBD>thd_id
pthread_t thd_id;
//! <09><>32λ<32><CEBB><EFBFBD><EFBFBD>
i_32 reserved;
} thd_id_t;
#endif
#else
#if SIZE_OF_PTHREAD_T == 8
typedef long thd_id_t;
#elif SIZE_OF_PTHREAD_T == 4
typedef struct
{
//! <09><>32λ<32>϶<EFBFBD><CFB6><EFBFBD>thd_id
u_32 thd_id;
//! <09><>32λ<32><CEBB><EFBFBD><EFBFBD>
i_32 reserved;
} thd_id_t;
#endif
#endif
/*!
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>޸ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
typedef int socket_t, SOCKET_t;
#define SOCKET_INVALID ((socket_t)-1)
#if defined(OS_LINUX)
#ifndef INVALID_SOCKET
#define INVALID_SOCKET (SOCKET_INVALID)
#endif //end of INVALID_SOCKET
#endif //end of defined(__unix)
/*!
* ip<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
//typedef u_32 ip_addr_t;
#endif //__TYPEDEF_H__DFJGLWREPUEPISXVCMAFGLJHQEWPYRPEOAJLKGZNCNALDHFPQEWUPOQRJSJHGAQ
/*************************************************************************************
*
* $Revision: 1.2 $
*
* $Date: 2006/08/04 03:37:33 $
*
* $State: Exp $
*
* $Log: typedef.h,v $
* Revision 1.2 2006/08/04 03:37:33 zhuzhenhua
* no message
*
* Revision 1.11 2003/09/19 07:55:15 scada
* no message
*
* Revision 1.10 2003/08/01 06:36:19 scada
* <EFBFBD><EFBFBD>Win32ƽ̨<EFBFBD>Ͻ<EFBFBD><EFBFBD><EFBFBD>__int64<EFBFBD><EFBFBD><EFBFBD><EFBFBD>64bit<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* Revision 1.9 2003/07/01 01:31:01 scada
* no message
*
* Revision 1.8 2003/06/05 03:56:15 jehu
* <EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>doxgen<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
*
* Revision 1.7 2003/01/10 10:38:40 scada
* no message
*
* Revision 1.6 2003/01/02 03:14:32 scada
* trim substitution line
*
* Revision 1.5 2002/12/04 07:47:36 scada
* for NT
*
* Revision 1.4 2002/10/07 05:37:59 harold
* cvs up -d
*
* Revision 1.3 2002/09/18 09:13:38 harold
* revised errors and warning under solaris/CC environment
*
* Revision 1.2 2002/08/26 02:07:32 harold
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>stn_no_t, pnt_no_t, sampling_type_t, <EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* Revision 1.1.1.1 2002/08/21 07:16:36 harold
* temporarily import
*
* Revision 1.9 2002/03/20 03:39:57 harold
* no message
*
* Revision 1.2 2002/03/17 15:33:52 harold
* changed for iccp v0.9
*
* Revision 1.1.1.1 2002/03/15 13:43:17 harold
* no message
*
* Revision 1.1.1.1 2002/03/15 08:17:07 harold
* no message
*
* Revision 1.8 2002/03/05 03:01:34 harold
* *** empty log message ***
*
* Revision 1.7 2002/03/04 14:04:39 harold
* *** empty log message ***
*
* Revision 1.6 2002/01/15 10:37:07 harold
* no message
*
* Revision 1.5 2002/01/15 10:25:42 harold
* no message
*
* Revision 1.4 2002/01/15 10:20:11 harold
* no message
*
* Revision 1.3 2002/01/15 09:55:29 harold
* no message
*
* Revision 1.2 2002/01/15 08:44:34 harold
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>id<EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>thd_id_t
*
* Revision 1.1.1.1 2001/12/24 09:33:23 harold
* no message
*
* Revision 1.2 2001/12/24 06:39:57 harold
* Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>ϵͳ, <EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>CPU<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
* <EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>, ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>:
* HAVE__FUNCTION__, __OS__, __PLATFORM__,__TIMEZONE__<EFBFBD>ȵ<EFBFBD>.
*
*
*
************************************************************************************/