⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ss_gen.x

📁 中国石油二期加油站IC系统后台通讯软件
💻 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 + -