📄 ss_gen.x
字号:
/********************************************************************20**
Name: System Services -- general
Type: C include file
Desc: Data structure definitions that are used by all
implementations of system services.
File: ss_gen.x
Sid: ss_gen.x 1.3 - 10/14/98 14:11:47
Prg: kp
*********************************************************************21*/
#ifndef __SSGENX__
#define __SSGENX__
#ifdef __cplusplus
extern "C" {
#endif
/* SS control point */
typedef struct ssos
{
SsdOs dep; /* implementation specific */
ProcId procId; /* processor ID */
/* TAPA task info */
SsIdx tTskIds[SS_MAX_ENT][SS_MAX_INST];
/* index table */
SsTTskEntry tTskTbl[SS_MAX_TTSKS]; /* task table */
SsCntr numTTsks; /* count of tasks */
SsIdx nxtTTskEntry; /* next available slot */
SsSemaId tTskTblSem; /* lock for table access */
/* system task info */
SsSTskEntry sTskTbl[SS_MAX_STSKS]; /* task table */
SsCntr numSTsks; /* count of tasks */
SsIdx nxtSTskEntry; /* next available slot */
SLockId sTskTblLock; /* lock for table access */
U8 dmndQLookupTbl[256]; /* demand queue lookup table */
#ifdef SS_DRVR_SUPPORT
/* driver task info */
SsDrvrTskEntry drvrTskTbl[SS_MAX_DRVRTSKS];
/* task table */
SsCntr numDrvrTsks; /* count of tasks */
#endif /* SS_DRVR_SUPPORT */
#ifdef SS_RTR_SUPPORT
/* router task info */
ActvTsk rtrTskTbl[SS_MAX_RTRTSKS];
SLockId rtrTskLocks[SS_MAX_RTRTSKS];
#endif /* SS_RTR_SUPPORT */
/* timer info */
SsTmrEntry tmrTbl[SS_MAX_TMRS]; /* timer table */
SsCntr numTmrs; /* count of timers */
SsIdx nxtTmrEntry; /* next available slot */
SLockId tmrTblLock; /* lock for table access */
/* memory info */
SsRegionEntry regionTbl[SS_MAX_REGS]; /* region table */
SsCntr numRegions; /* count of regions */
SsSemaId regionTblSem; /* lock for table access */
} SsOs;
/* configuration data structures */
/* pool configuration */
typedef struct ssPoolCfg
{
SsPoolType type; /* dynamic or static */
Size size; /* size to use (for dynamic pools) */
} SsPoolCfg;
/* region content--pools in a region */
typedef struct ssRegCfg
{
Region region; /* region ID */
SsCntr numPools; /* count of pools */
SsPoolCfg pools[SS_MAX_POOLS_PER_REG]; /* pools configuration */
} SsRegCfg;
/*** add by shang, 2002-1-4 ***/
typedef struct
{
U8 ent;
S8 * desc;
} EntDesc_s;
/*** add by shang is over ***/
/* external variable declaration */
EXTERN SsOs osCp;
/* functions */
/* implementation-specific functions */
EXTERN S16 ssdInitGen ARGS((void));
EXTERN S16 ssdInitMem ARGS((void));
EXTERN S16 ssdInitTsk ARGS((void));
EXTERN S16 ssdInitDrvr ARGS((void));
EXTERN S16 ssdInitTmr ARGS((void));
EXTERN S16 ssdInitFinal ARGS((void));
EXTERN Void ssdDeinitGen ARGS((void));
EXTERN Void ssdDeinitMem ARGS((void));
EXTERN Void ssdDeinitTsk ARGS((void));
EXTERN Void ssdDeinitDrvr ARGS((void));
EXTERN Void ssdDeinitTmr ARGS((void));
EXTERN Void ssdDeinitFinal ARGS((void));
EXTERN Void ssdStart ARGS((void));
EXTERN S16 ssdAttachTTsk ARGS((SsTTskEntry *));
EXTERN S16 ssdDetachTTsk ARGS((SsTTskEntry *));
EXTERN S16 ssdCreateSTsk ARGS((SsSTskEntry *));
EXTERN S16 ssdDestroySTsk ARGS((SsSTskEntry *));
EXTERN S16 ssdPstTsk ARGS((Pst *, Buffer *, SsTTskEntry *));
EXTERN S16 ssdRegTmr ARGS((SsTmrEntry *));
EXTERN S16 ssdDeregTmr ARGS((SsTmrEntry *));
EXTERN S16 ssdError ARGS((Seq, Reason));
EXTERN Void ssdLogError ARGS((Ent, Inst, ProcId, Txt *, S32, \
ErrCls, ErrCode, ErrVal, Txt *));
#ifdef SS_DRVR_SUPPORT
EXTERN S16 ssdRegDrvrTsk ARGS((SsDrvrTskEntry *));
#endif
EXTERN S16 ssGetEntName ARGS((Ent ent, S8 ** name));
/*** add by shang, 2002-1-10 ***/
EXTERN EntDesc_s g_entNameTbl[SS_MAX_ENT];
/*** add by shang is over ***/
#ifdef __cplusplus
}
#endif
#endif /* __SSGENX__ */
/********************************************************************30**
End of file: ss_gen.x 1.3 - 10/14/98 14:11:47
*********************************************************************31*/
/********************************************************************40**
Notes:
*********************************************************************41*/
/********************************************************************50**
*********************************************************************51*/
/********************************************************************60**
Revision history:
*********************************************************************61*/
/********************************************************************90**
ver pat init description
------------ -------- ---- ----------------------------------------------
1.1 --- kp 1. initial release
1.2 --- bsr 1. moved lock types to ssi.h
--- bsr 2. Added prototypes for ssdDeinit* functions
--- kp 1. Prototype for ssdPstTsk added
1.3 --- kp 1. Added in Message Router support
*********************************************************************91*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -