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

📄 ssi.x

📁 中国石油二期加油站IC系统后台通讯软件
💻 X
📖 第 1 页 / 共 4 页
字号:

/********************************************************************20**
  
     Name:     system services interface
  
     Type:     C include file
  
     Desc:     Structures, variables and typedefs required by the
               System Services service user.
  
     File:     ssi.x
  
     Sid:      ssi.x 2.31  -  10/14/98 14:38:22
  
     Prg:      nkk
  
*********************************************************************21*/

#ifndef __SSIX__
#define __SSIX__

  
/*
*     The structures and variables declared in this file
*     correspond to structures and variables used by
*     the following TRILLIUM software:
*
*     part no.                      description
*     --------    ----------------------------------------------
*     1000011     Multiprocessor Operating System
*     1000035     68302 MOS/SCC
*
*/

/*
*     This software may be combined with the following TRILLIUM
*     software:
*
*     part no.                      description
*     --------    ----------------------------------------------
*     1000001     Physical Layer - SCC
*     1000002     Data Link Layer - LAPB
*     1000003     Data Link Layer - LAPD
*     1000005     Data Link Layer - LAPB & LAPD
*     1000006     Network Layer - X.25 Intermediate System
*     1000007     Network Layer - X.25 End System
*     1000008     Network Layer - X.75
*     1000009     Network Layer - Q.930/Q.931
*     1000010     Application Layer - Asynchronous PAD
*     1000011     Multiprocessor Operating System (MOS)
*     1000014     Network Layer - X.25 End & Intermediate System
*     1000017     Data Link Layer - Basic Frame Relay
*     1000018     Data Link Layer - Extended Frame Relay
*     1000023     Network Layer - X.31
*     1000024     Signalling System 7 (SS7)
*     1000026     TCP/IP
*     1000027     Signalling System 7 - MTP Level 2
*     1000028     Signalling System 7 - MTP Level 3
*     1000029     Signalling System 7 - ISUP
*     1000030     Signalling System 7 - SCCP
*     1000031     Signalling System 7 - TCAP
*     1000034     Physical Layer - ISAC-S
*     1000040     UDP/IP
*     1000041     ESCC
*     1000042     Signalling System 7 - TUP
*     1000043     Network Layer - Q.93B
*     1000044     Data Link Layer - Q.SAAL
*
*/


#ifdef __cplusplus
extern "C" {
#endif

#include "ss_dep.h"
   
/* typedefs */

    typedef S16 Status;               /* status */

    typedef U32 Ticks;                /* system clock ticks */

#ifdef LONG_MSG
    typedef S32 MsgLen;               /* message length */
#else
    typedef S16 MsgLen;               /* message length */
#endif

    typedef S16 Order;                /* message or queue order */

#ifdef DOS
    typedef U16 Size;                 /* size (for number of bytes per region or per s-pool) */
#else
    typedef U32 Size;                 /* size (for number of bytes per region or per s-pool) */
    typedef S32 PtrOff;               /* signed pointer offset */
#endif

    typedef U32 QLen;                 /* queue length */

    typedef QLen BufQLen;             /* buffer queue length */

    typedef S16 RegSize;              /* region size (for number of regions per processor) */

    typedef S16 DPoolSize;            /* dynamic pool size (for number of buffers per d-pool) */

    typedef U16 Random;               /* random number */

    typedef S16 Seq;                  /* sequence */

/* Error */
    typedef U32 ErrCls;               /* Error Class */

    typedef U32 ErrCode;              /* Error Code  */

    typedef U32 ErrVal;               /* Error Value */

    typedef S16 VectNmb;              /* vector number */

    typedef S16 Ttype;                /* task type */

    typedef S8 Sema;                  /* semaphore */


/* post */


/*
   This section contains specific typedefs, structures and
   prototypes for the following operating systems:

   MOS      - MOSVER
   MOS, v2  - MSVER2
   psos     - PS
   vrtxsa   - VX
   vxworks  - VW
   sslib    - system service library for elvis
   other    - 
 
   The defines PORTVER, MOSVER and MSVER2 are mutually exclusive. The define PORTVER
   must be set in conjunction with the define PS, VX, VW or other.

*/


#ifdef MOSVER                     /* mos version */

/* mos typedefs, structures and prototypes */

/* forward definitions */

#ifndef CMFILE_REORG_1
    typedef struct ss_buffer Buffer;  /* forward definition - buffer */
#endif

    typedef struct ss_queue Queue;    /* forward definition - queue */

/* chain */

    typedef struct chn                /* chain */
    {
        Buffer *fwd;                   /* forward */
        Buffer *bck;                   /* backward */
    } Chn;

    typedef Chn Chain;                /* chain */

/* queue - typdef'd earlier */

    struct ss_queue                   /* queue - typdef'd earlier */
    {
        Chn chn;                       /* chain */
        QLen crntSize;                 /* current size */
        QLen maxSize;                  /* maximum size */
    };

/* buffer - typedef'd earlier */

    struct ss_buffer                  /* buffer - typdef'd earlier */
    {
        Chn chn;                       /* chain */
        Mem mem;                       /* memory */
        S8 bufType;                    /* buffer type */
        union
        {

            struct
            {
                MsgLen strtIdx;          /* start index */
                MsgLen endIdx;           /* end index */
                MsgLen size;             /* size */
                Data data[DSIZE];        /* data */
            } dat;                      /* data buffer */

            struct
            {
                Queue bq;                /* buffer queue */
                MsgLen msgLen;           /* message length */
                S16 refCnt;              /* reference count */
                Pst pst;                 /* post (optional) */
                U32 wsU32[2];            /* workspace unsigned 32 bit values (optional) */
                U16 wsU16[1];            /* workspace unsigned 16 bit values (optional) */
                U8  wsU8[2];             /* workspace unsigned 8 bit values (optional) */
            } msg;                      /* message buffer */

            struct
            {
                Buffer *entry[MAXEXTENT];/* entry */
            } ext;                      /* extension buffer */

            struct
            {
                Size size;               /* size */
            } stc;                      /* static buffer */

            struct
            {
                MsgLen strtIdx;          /* start index */
                MsgLen endIdx;           /* end index */
                MsgLen size;             /* size */
                Data *data;              /* data pointer */
            } dma;                      /* dma buffer */

        } t;
    };

    EXTERN  S16 msOptInd;
    EXTERN  S8  *msOptArg;
    EXTERN  Txt **msArgv;
    EXTERN  S16 msArgc;

#else 
#ifdef MSVER2                     /* mos version 2 */

/* forward definitions */
#ifndef CMFILE_REORG_1
    typedef struct ss_buffer Buffer;  /* forward definition - buffer */
#endif

    typedef struct sBuf SBuf;         /* forward definition - static buffer */

    typedef struct ss_queue Queue;    /* forward definition - queue */

/* buffer identifier */

/* dynamic chain (4b ALIGNED) */

    typedef struct dChn               /* dynamic chain */
    {
        Buffer *prev;                  /* previous */
        Buffer *crnt;                  /* current */
        Buffer *next;                  /* next */
    } DChn;

/* static chain (4b ALIGNED)*/

    typedef struct sChn               /* static chain */
    {
        SBuf *fwd;                     /* forward */
    } SChn;

/* buffer queue (4b ALIGNED) */

    typedef struct bufQ               /* buffer queue */
    {
        DChn dChn;                     /* dynamic chain */
        BufQLen crntSize;              /* current size */
    } BufQ;
/* queue (4b ALIGNED) */

    struct ss_queue                   /* queue - typdef'd earlier */
    {
        DChn dChn;                     /* dynamic chain */
        QLen crntSize;                 /* current size */
    };

/* 4Byte aligned */
    typedef struct ss_dat             /* data buffer */
    {
        MsgLen strtIdx;                /* start index (2b) */
        MsgLen endIdx;                 /* end index (2b) */
        MsgLen size;                   /* size (2b) */
        Pool pool;                     /* size (1b); Not used for MOS as of now */
        U8 spare;                      /* spare for alignment (1b) */
        Data data[DSIZE];              /* data (4b) */
    } Dat;

/* 4Byte aligned */
    typedef struct ss_msg             /* message buffer */
    {
        Queue bufQ;                    /* buffer queue */
        Buffer *nxtDBuf;               /* next DBuf */
        MsgLen msgLen;                 /* message length */
        Pool pool;                     /* size (1b); Not used for MOS as of now */
        U8 spare;                      /* spare for alingment */
    } Msg;

/* buffer - typedef'd earlier */

    struct ss_buffer                  /* buffer - typedef'd earlier */
    {
        DChn dChn;                     /* dynamic chain */
        S8 bufType;                    /* buffer type */
        U8 spare1;                     /* spare for alignment */
        U16 spare2;                    /* spare for alignment */
        union
        {
            Dat dat;                    /* data buffer */
            Msg msg;                    /* message buffer */
        } t;
    };

/* static buffer - typedef'd earlier */

    struct sBuf                       /* static buffer - typedef'd earlier */
    {
        SChn sChn;                     /* static chain */
        Size size;                     /* size */
        S8 bufType;                    /* buffer type */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -