?? ss_gen.h
字號:
/********************************************************************20**
Name: System Services -- general
Type: C include file
Desc: Macro definitions that are used by all implementations
of system services.
File: ss_gen.h
Sid: ss_gen.h 1.3 - 10/14/98 14:11:20
Prg: kp
*********************************************************************21*/
#ifndef __SSGENH__
#define __SSGENH__
#ifdef __cplusplus
extern "C" {
#endif
/* the new driver support define */
#ifdef ENB_RELAY
#ifndef SS_DRVR_SUPPORT
#define SS_DRVR_SUPPORT
#endif
#endif
/* general */
#ifndef SS_PROC_ID
#error "SS_PROC_ID undefined!"
#endif
#ifndef SS_MAX_ENT
#error "SS_MAX_ENT undefined!"
#endif
#ifndef SS_MAX_INST
#error "SS_MAX_INST undefined!"
#endif
#define SS_INVALID_IDX 0xFF
/* task related */
#ifndef SS_MAX_TTSKS
#error "SS_MAX_TTSKS undefined!"
#endif
#ifndef SS_MAX_STSKS
#error "SS_MAX_STSKS undefined!"
#endif
#ifdef SS_DRVR_SUPPORT
#ifndef SS_MAX_DRVRTSKS
#error "SS_MAX_DRVRTSKS undefined!"
#endif
#endif /* SS_DRVR_SUPPORT */
#ifdef SS_RTR_SUPPORT
#ifndef SS_MAX_RTRTSKS
#error "SS_MAX_RTRTSKS undefined!"
#endif
#endif /* SS_RTR_SUPPORT */
#define SS_TSKNC 0xFF
/* timer related */
#ifndef SS_MAX_TMRS
#error "SS_MAX_TMRS undefined!"
#endif
/* memory related */
#ifndef SS_MAX_REGS
#error "SS_MAX_REGS undefined!"
#endif
#ifndef SS_MAX_POOLS_PER_REG
#error "SS_MAX_POOLS_PER_REG undefined!"
#endif
/* event types */
#define SS_EVNT_DATA 0
#define SS_EVNT_TIMER 1
#define SS_EVNT_TERM 2
#define SS_EVNT_PERMTICK 3
/* object lock types */
#if (!defined(SS_STSKTBL_LOCK) \
|| !defined(SS_STSKENTRY_LOCK) \
|| !defined(SS_TMRTBL_LOCK) \
|| !defined(SS_DMNDQ_LOCK) \
|| !defined(SS_DRVRENTRY_LOCK) \
|| !defined(SS_RTRENTRY_LOCK))
#error "SS_?_LOCK undefined!"
#endif
/* locking macros */
#define SS_ACQUIRE_ALL_SEMA(s, ret) \
{ \
S16 q; \
ret = ROK; \
for (q = 0; q < SS_MAX_STSKS; q++) \
{ \
ret = ssWaitSema(s); \
if (ret != ROK) \
{ \
while (q > 0) \
{ \
ret = ssPostSema(s); \
q--; \
} \
break; \
} \
} \
if (q == 0) \
ret = RFAILED; \
}
#define SS_RELEASE_ALL_SEMA(s) \
{ \
S16 q; \
for (q = 0; q < SS_MAX_STSKS; q++) \
ssPostSema(s); \
}
#define SS_ACQUIRE_SEMA(s, ret) \
ret = ssWaitSema(s)
#define SS_RELEASE_SEMA(s) \
ssPostSema(s);
/*** add by shang, 2002-1-4 ***/
#define DEFAULT_TASKNAME "noEntityAttachThread"
#define DEFAULT_TASKNAMELEN strlen(DEFAULT_TASKNAME)
/*** add by shang is over ***/
#ifdef __cplusplus
}
#endif
#endif /* __SSGENH__ */
/********************************************************************30**
End of file: ss_gen.h 1.3 - 10/14/98 14:11:20
*********************************************************************31*/
/********************************************************************40**
Notes:
*********************************************************************41*/
/********************************************************************50**
*********************************************************************51*/
/********************************************************************60**
Revision history:
*********************************************************************61*/
/********************************************************************90**
ver pat init description
------------ -------- ---- ----------------------------------------------
1.1 --- kp 1. initial release
1.2 --- ag 1. Moved Lock types to ssi.h
--- bsr 2. Deleted reference to variable ret in
SS_RELEASE_ALL_SEMA and q in SS_RELEASE_SEMA
--- kp 3. Added check for SS_PROC_ID definition
1.3 --- kp 1. Added in Message Router support
*********************************************************************91*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -