📄 pc.h
字号:
/* * Copyright (c) Eicon Networks, 2002. * This source file is supplied for the use with Eicon Networks range of DIVA Server Adapters. * Eicon File Revision : 2.1 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */#ifndef PC_H_INCLUDED /* { */#define PC_H_INCLUDED/*------------------------------------------------------------------*//* buffer definition *//*------------------------------------------------------------------*/typedef struct { word length; /* length of data/parameter field */ byte P[270]; /* data/parameter field */} PBUFFER;/*------------------------------------------------------------------*//* dual port ram structure *//*------------------------------------------------------------------*/struct dual{ byte Req; /* request register */ byte ReqId; /* request task/entity identification */ byte Rc; /* return code register */ byte RcId; /* return code task/entity identification */ byte Ind; /* Indication register */ byte IndId; /* Indication task/entity identification */ byte IMask; /* Interrupt Mask Flag */ byte RNR; /* Receiver Not Ready (set by PC) */ byte XLock; /* XBuffer locked Flag */ byte Int; /* ISDN-S interrupt */ byte ReqCh; /* Channel field for layer-3 Requests */ byte RcCh; /* Channel field for layer-3 Returncodes */ byte IndCh; /* Channel field for layer-3 Indications */ byte MInd; /* more data indication field */ word MLength; /* more data total packet length */ byte ReadyInt; /* request field for ready interrupt */ byte SWReg; /* Software register for special purposes */ byte Reserved[11]; /* reserved space */ byte InterfaceType; /* interface type 1=16K interface */ word Signature; /* ISDN-S adapter Signature (GD) */ PBUFFER XBuffer; /* Transmit Buffer */ PBUFFER RBuffer; /* Receive Buffer */};/*------------------------------------------------------------------*//* SWReg Values (0 means no command) *//*------------------------------------------------------------------*/#define SWREG_DIE_WITH_LEDON 0x01#define SWREG_HALT_CPU 0x02 /* Push CPU into a while(1) loop *//*------------------------------------------------------------------*//* Id Fields Coding *//*------------------------------------------------------------------*/#define ID_MASK 0xe0 /* Mask for the ID field */#define GL_ERR_ID 0x1f /* ID for error reporting on global requests*/#define DSIG_ID 0x00 /* ID for D-channel signaling */#define NL_ID 0x20 /* ID for network-layer access (B or D) */#define BLLC_ID 0x60 /* ID for B-channel link level access */#define TASK_ID 0x80 /* ID for dynamic user tasks */#define TIMER_ID 0xa0 /* ID for timer task */#define TEL_ID 0xc0 /* ID for telephone support */#define MAN_ID 0xe0 /* ID for management *//*------------------------------------------------------------------*//* ASSIGN and REMOVE requests are the same for all entities *//*------------------------------------------------------------------*/#define ASSIGN 0x01#define UREMOVE 0xfe /* without return code */#define REMOVE 0xff/*------------------------------------------------------------------*//* Timer Interrupt Task Interface *//*------------------------------------------------------------------*/#define ASSIGN_TIM 0x01#define REMOVE_TIM 0xff/*------------------------------------------------------------------*//* dynamic user task interface *//*------------------------------------------------------------------*/#define ASSIGN_TSK 0x01#define REMOVE_TSK 0xff#define LOAD 0xf0#define RELOCATE 0xf1#define START 0xf2#define LOAD2 0xf3#define RELOCATE2 0xf4/*------------------------------------------------------------------*//* dynamic user task messages *//*------------------------------------------------------------------*/#define TSK_B2 0x0000#define TSK_WAKEUP 0x2000#define TSK_TIMER 0x4000#define TSK_TSK 0x6000#define TSK_PC 0xe000/*------------------------------------------------------------------*//* LL management primitives *//*------------------------------------------------------------------*/#define ASSIGN_LL 1 /* assign logical link */#define REMOVE_LL 0xff /* remove logical link *//*------------------------------------------------------------------*//* LL service primitives *//*------------------------------------------------------------------*/#define LL_UDATA 1 /* link unit data request/indication */#define LL_ESTABLISH 2 /* link establish request/indication */#define LL_RELEASE 3 /* link release request/indication */#define LL_DATA 4 /* data request/indication */#define LL_LOCAL 5 /* switch to local operation (COM only) */#define LL_DATA_PEND 5 /* data pending indication (SDLC SHM only) */#define LL_REMOTE 6 /* switch to remote operation (COM only) */#define LL_TEST 8 /* link test request */#define LL_MDATA 9 /* more data request/indication */#define LL_BUDATA 10 /* broadcast unit data request/indication */#define LL_XID 12 /* XID command request/indication */#define LL_XID_R 13 /* XID response request/indication *//*------------------------------------------------------------------*//* NL service primitives *//*------------------------------------------------------------------*/#define N_MDATA 1 /* more data to come REQ/IND */#define N_CONNECT 2 /* OSI N-CONNECT REQ/IND */#define N_CONNECT_ACK 3 /* OSI N-CONNECT CON/RES */#define N_DISC 4 /* OSI N-DISC REQ/IND */#define N_DISC_ACK 5 /* OSI N-DISC CON/RES */#define N_RESET 6 /* OSI N-RESET REQ/IND */#define N_RESET_ACK 7 /* OSI N-RESET CON/RES */#define N_DATA 8 /* OSI N-DATA REQ/IND */#define N_EDATA 9 /* OSI N-EXPEDITED DATA REQ/IND */#define N_UDATA 10 /* OSI D-UNIT-DATA REQ/IND */#define N_BDATA 11 /* BROADCAST-DATA REQ/IND */#define N_DATA_ACK 12 /* data ack ind for D-bit procedure */#define N_EDATA_ACK 13 /* data ack ind for INTERRUPT */#define N_XON 15 /* clear RNR state */#define N_COMBI_IND N_XON /* combined indication */#define N_Q_BIT 0x10 /* Q-bit for req/ind */#define N_M_BIT 0x20 /* M-bit for req/ind */#define N_D_BIT 0x40 /* D-bit for req/ind *//*------------------------------------------------------------------*//* Signaling management primitives *//*------------------------------------------------------------------*/#define ASSIGN_SIG 1 /* assign signaling task */#define UREMOVE_SIG 0xfe /* remove signaling task without return code*/#define REMOVE_SIG 0xff /* remove signaling task *//*------------------------------------------------------------------*//* Signaling service primitives *//*------------------------------------------------------------------*/#define CALL_REQ 1 /* call request */#define CALL_CON 1 /* call confirmation */#define CALL_IND 2 /* incoming call connected */#define LISTEN_REQ 2 /* listen request */#define HANGUP 3 /* hangup request/indication */#define SUSPEND 4 /* call suspend request/confirm */#define RESUME 5 /* call resume request/confirm */#define SUSPEND_REJ 6 /* suspend rejected indication */#define USER_DATA 8 /* user data for user to user signaling */#define CONGESTION 9 /* network congestion indication */#define INDICATE_REQ 10 /* request to indicate an incoming call */#define INDICATE_IND 10 /* indicates that there is an incoming call */#define CALL_RES 11 /* accept an incoming call */#define CALL_ALERT 12 /* send ALERT for incoming call */#define INFO_REQ 13 /* INFO request */#define INFO_IND 13 /* INFO indication */#define REJECT 14 /* reject an incoming call */#define RESOURCES 15 /* reserve B-Channel hardware resources */#define HW_CTRL 16 /* B-Channel hardware IOCTL req/ind */#define TEL_CTRL 16 /* Telephone control request/indication */#define STATUS_REQ 17 /* Request D-State (returned in INFO_IND) */#define FAC_REG_REQ 18 /* 1TR6 connection independent fac reg */#define FAC_REG_ACK 19 /* 1TR6 fac registration acknowledge */#define FAC_REG_REJ 20 /* 1TR6 fac registration reject */#define CALL_COMPLETE 21/* send a CALL_PROC for incoming call */#define SW_CTRL 22 /* extended software features */#define REGISTER_REQ 23 /* Q.931 connection independent reg req */#define REGISTER_IND 24 /* Q.931 connection independent reg ind */#define FACILITY_REQ 25 /* Q.931 connection independent fac req */#define FACILITY_IND 26 /* Q.931 connection independent fac ind */#define NCR_INFO_REQ 27 /* INFO_REQ with NULL CR */#define GCR_MIM_REQ 28 /* MANAGEMENT_INFO_REQ with global CR */#define SIG_CTRL 29 /* Control for Signalling Hardware */#define DSP_CTRL 30 /* Control for DSPs */#define LAW_REQ 31 /* Law config request for (returns info_i) */#define SPID_CTRL 32 /* Request/indication SPID related */#define NCR_FACILITY 33 /* Request/indication with NULL/DUMMY CR */#define CALL_HOLD 34 /* Request/indication to hold a CALL */#define CALL_RETRIEVE 35 /* Request/indication to retrieve a CALL */#define CALL_HOLD_ACK 36 /* OK of hold a CALL */#define CALL_RETRIEVE_ACK 37 /* OK of retrieve a CALL */#define CALL_HOLD_REJ 38 /* Reject of hold a CALL */#define CALL_RETRIEVE_REJ 39 /* Reject of retrieve a call */#define GCR_RESTART 40 /* Send/Receive Restart message */#define S_SERVICE 41 /* Send/Receive Supplementary Service */#define S_SERVICE_REJ 42 /* Reject Supplementary Service indication */#define S_SUPPORTED 43 /* Req/Ind to get Supported Services */#define STATUS_ENQ 44 /* Req to send the D-ch request if !state0 */#define CALL_GUARD 45 /* Req/Ind to use the FLAGS_CALL_OUTCHECK */#define CALL_GUARD_HP 46 /* Call Guard function to reject a call */#define CALL_GUARD_IF 47 /* Call Guard function, inform the appl */#define SSEXT_REQ 48 /* Supplem.Serv./QSIG specific request */#define SSEXT_IND 49 /* Supplem.Serv./QSIG specific indication *//* reserved commands for the US protocols */#define INT_3PTY_NIND 50 /* US specific indication */#define INT_CF_NIND 51 /* US specific indication */#define INT_3PTY_DROP 52 /* US specific indication */#define INT_MOVE_CONF 53 /* US specific indication */#define INT_MOVE_RC 54 /* US specific indication */#define INT_MOVE_FLIPPED_CONF 55 /* US specific indication */#define INT_X5NI_OK 56 /* internal transfer OK indication */#define INT_XDMS_START 57 /* internal transfer OK indication */#define INT_XDMS_STOP 58 /* internal transfer finish indication */#define INT_XDMS_STOP2 59 /* internal transfer send FA */#define INT_CUSTCONF_REJ 60 /* internal conference reject */#define INT_CUSTXFER 61 /* internal transfer request */#define INT_CUSTX_NIND 62 /* internal transfer ack */#define INT_CUSTXREJ_NIND 63 /* internal transfer rej */#define INT_X5NI_CF_XFER 64 /* internal transfer OK indication */#define VSWITCH_REQ 65 /* communication between protocol and */#define VSWITCH_IND 66 /* capifunctions for D-CH-switching */#define MWI_POLL 67 /* Message Waiting Status Request fkt */#define CALL_PEND_NOTIFY 68 /* notify capi to set new listen */#define DO_NOTHING 69 /* dont do somethin if you get this */#define INT_CT_REJ 70 /* ECT rejected internal command */#define CALL_HOLD_COMPLETE 71 /* In NT Mode indicate hold complete */#define CALL_RETRIEVE_COMPLETE 72 /* In NT Mode indicate retrieve complete *//*------------------------------------------------------------------*//* management service primitives *//*------------------------------------------------------------------*/#define MAN_READ 2#define MAN_WRITE 3#define MAN_EXECUTE 4#define MAN_EVENT_ON 5#define MAN_EVENT_OFF 6#define MAN_LOCK 7#define MAN_UNLOCK 8#define MAN_INFO_IND 2#define MAN_EVENT_IND 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -