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

📄 swi.h

📁 电信数字交换机用户数据联机下载入磁带程序
💻 H
字号:
/* SWI.H : 用户数据管理系统交换机接口
   Jason Chen, 97.11.18
*/

#include <time.h>
#include "commsdms.h"

#define INIFileName         "swi.ini"
#define ErrLogFileName      "swierr.log"
#define InfoLogFileName     "swi.log"
#define WarnLogFileName     "link.txt"

#define INI_LEN             128             /* INI value len */
#define MAX_PASS_LEN        20
#define MAX_STEP_LEVEL      16
#define TEL_LEN             10
#define MAX_PARA_LEN        256
#define FUNC_CODE_LEN       3
#define RTNCODE_LEN         4
#define MAX_NEWSRV_LEN      18

#define NECDELAY            2       /* Delay time after login */
#define F150DELAY           2       /* F150 delay time, 2 sec */
#define CIL_TIMEOUT         480     /* 实装统计超时时间(秒) */

/* NewSrv position */
#define DTMF                0
#define TOLL_CALL           1
#define INT_CALL            2
#define HOT_LINE_A          3
#define HOT_LINE_B          4
#define CALL_WAIT           5
#define THREE_WAY_CALL      6
#define CALL_FORWARD        7
#define WAKE_UP             8
#define CALL_FORWARD_BUSY   9
#define CALL_STORE_BUSY     10
#define NOT_DISTURB         11
#define ABSENTEE            12
#define SPEED_CALL          13
#define MALICIOUS_TRACE     14
#define CALL_RESTRICT       15
#define FJX                 16
#define LDXS                17

/************* Switch Type *************/
#define SWITCH_TYPE_NUM     14
#define E10B                1
#define NEC                 2
#define NECBF62             2
#define NECG30              3
#define CC08                4
#define F150V8              5
#define F150V8V5            5
#define F150V9              6
#define F150V9V5            6
#define S1240E              7
#define S1240J              8
#define _5ESS               9
#define _5ESSV5             9
#define EWSD                10

struct SwitchStru {
    int    SwitchType;                      /* F150 or NEC or S1240 or ... */
    char   SwitchTypeStr[32];               /* Switch type string */
    int    V5;                              /* V5=1 or V5=0 */
    char   Office[13];                      /* Office name */
    char   Exk[100][8];
    int    ExkPtr;
    char   Password[MAX_PASS_LEN];          /* Password to enter switch */
    char   Addr[20];                        /* Terminal server IP address */
    char   Port[8];                         /* Terminal server port */
    char   TcpNodeName[10];                 /* Use the sequence No. as the node name */
    int    Connect;                         /* Connection status, 0=disconnect, 1=connect */
    int    DisconnectTimes;
    //----------------------
    char   ReqSrc[24];                      /* Request source name */
    char   TID[64];                         /* Task ID */
    int    Func;                            /* Function */
    struct SwitchStru *NewSw;               /* for 移机 */
    int    Busy;                            /* Switch status */
    int    Step[MAX_STEP_LEVEL];            /* Step stack */
    int    SP;                              /* Step stack pointer */
    time_t timer;
    char   Tel[TEL_LEN+1];
    char   NewSrv[MAX_NEWSRV_LEN+3];
    char   Para[MAX_PARA_LEN];
    char   RcvBuff[MAX_TCP_STREAM_BUFFER];
    int    ReturnCode;
    int    InstLine                         /* Installed lines */
    };

struct ExkStru {
    char   Exk[8];
    char   Office[13];                      /* Office name */
    char   SwitchTypeStr[32];               /* Switch type string */
    struct SwitchStru *SwPtr;               /* Pointer to switch node */
    };


/********** Function *************/
void ReadINIFile(void);
void ReadExkFile(void);
void SetupTcp(void);
void AcceptRequestPacket(char *ReqSrc);
int  Send2Switch(void);
void ReturnResult(char *ReqSrc, char *TID, int ReturnCode, char *Para);
void LogErr(char *msg);
void LogWarn(void);
void LogInfo(char *msg);
int  Quit(void);
char *strupr(char *str);
int  GetPara(char *src, char *name, char *buff, int maxlen);
void timer(void);
void Go(int step);
void GoSub(int step);
void Rtn(void);
void Send2Warn(void);

/*==== NEC ====*/
int  GetPacketNEC(void);
int  GetNewSrvNEC(void);
int  GetNumOfLineNEC(void);
void NECMapErrCommon(void);
void NECMapErrNEW(void);
void NECMapErrDSC(void);
void NECMapErrSPS(void);
void NECMapErrSPR(void);
void NECMapErrDNC(void);
void NECMapErrUAN(void);
void NECMapErrCLC(void);
void NECMapErrMTR(void);

/*==== NECG30 ====*/
void NECG30MapErr(void);
void GetResultNECG30CRE(void);
void GetResultNECG30VIEW(void);
void GetResultNECG30DEL(void);
void GetResultNECG30REG(void);
void GetResultNECG30CAN(void);
void GetResultNECG30CHG(void);
void GetResultNECG30MOD(void);
void GetResultNECG30REGMTR(void);
void GetResultNECG30CANMTR(void);
int  GetNumOfLineNECG30(void);

/*==== F150V9 ====*/
int  GetF150V9SrcErr(void);
int  GetResultF150V9Login(void);
int  GetResultF150V9CHASBS(void);
int  GetResultF150V9DISSBS(void);
int  GetResultF150V9LISSBS(void);
int  GetResultF150V9DISTIP(void);
int  GetResultF150V9CHATIP(void);
int  GetResultF150V9STCH(void);
int  GetResultF150V9SVRG(void);
int  GetResultF150V9CNCH(void);
int  GetResultF150V9UNCH(void);
int  GetResultF150V9CANMCT(void);
int  GetResultF150V9REGMCT(void);
int  F150V9MapErrCommon(int SrcErr);
int  F150V9MapErrCHASBS(int SrcErr);

/*==== F150V8 ====*/
int GetF150V8SrcErr(void);
int GetResultF150V8Login(void);
int GetResultF150V8CHASUB(void);
int GetResultF150V8DISSUB(void);
int GetResultF150V8STCH(void);
int GetResultF150V8SVRG(void);
int GetResultF150V8CLCH(void);
int GetResultF150V8CANMCT(void);
int GetResultF150V8REGMCT(void);
int F150V8MapErrCommon(int SrcErr);
int F150V8MapErrCHASUB(int SrcErr);

/*===== 5ESS ======*/
void GetResult5ESSNewLine(void);
void GetResult5ESSRemove(void);
void GetResult5ESSStop(void);
void GetResult5ESSRestore(void);
void GetLL5ESS(char *LL);
void GetResult5ESSNewSrv1(void);
int  Get5ESSNewSrvPos(char *name);
void GetResult5ESSReadNewSrv(void);
void GetResult5ESSNewSrv2(void);
void GetResult5ESSQudb(void);
void GetResult5ESSCIL(void);

⌨️ 快捷键说明

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