Files
svc.ems/plat/isdn/src/include/isdn_if.h
2024-09-27 15:39:34 +08:00

120 lines
5.5 KiB
C

/***********************************************************
Copyright (C), LGC Wireless.
File Name: isdn_if.h
Description: ISDN interface declaration for wxc2main
Version: v9.0.0
Author: Gengxin Chen
Create Date: 2008-1-17
History:
<author> <date> <version> <desc>
************************************************************/
#ifndef _ISDN_IF_H
#define _ISDN_IF_H
#include "isdn_msg.h"
#include "isdn_inc.h"
/************************************************************
ISDN Module parameter structure
************************************************************/
//Send to upper layer primitives, save data to structure
typedef int f_isdn_setup_ind(Pst *pst, IsdnSetup *ptr); //Setup indication
typedef int f_isdn_setup_cnf(Pst *pst, IsdnConn *ptr); //Setup confirm
typedef int f_isdn_proc_ind(Pst *pst, IsdnCallProc *ptr); //Proceeding indication
typedef int f_isdn_alert_ind(Pst *pst, IsdnAlert *ptr); //Alerting indication
typedef int f_isdn_disc_ind(Pst *pst, IsdnDisc *ptr); //Disconnect indication
typedef int f_isdn_rel_ind(Pst *pst, IsdnRel *ptr); //Release indication
typedef int f_isdn_rel_cnf(Pst *pst, IsdnRelComp *ptr); //Release confirm
typedef int f_isdn_rel_cnf_err(Pst *pst, IsdnRelComp *ptr); //Release confirm error
typedef int f_isdn_prog_ind(Pst *pst, IsdnProg *ptr); //Progress indication
typedef int f_isdn_info_ind(Pst *pst, IsdnInfo *ptr); //Info indication
typedef int f_isdn_minfo_ind(Pst *pst, IsdnSetupAck *ptr); //More info indication //IsdnSetupAck »ò IsdnInfo
typedef int f_isdn_noti_ind(Pst *pst, IsdnNoti *ptr); //Notify indication
typedef int f_isdn_stat_ind(Pst *pst, IsdnStatus *ptr); //Status indication
typedef int f_isdn_stat_ind_err(Pst *pst, IsdnStatus *ptr); //Status indication(error)
typedef int f_isdn_resu_ind(Pst *pst, IsdnResuRejReq *ptr); //Resume indication
typedef int f_isdn_rej_ind(Pst *pst, IsdnResuRejReq *ptr); //Reject indication
typedef int f_Isdn_susp_ind(Pst *pst, IsdnSusp *ptr); //Suspend indication
typedef int f_isdn_restart_req(Pst *pst, IsdnRestart *ptr); //Restart request
typedef int f_isdn_rest_cnf(Pst *pst, IsdnRestAck *ptr); //Restart confirm
typedef int f_isdn_timeout_ind(Pst *pst); //TIMEOUT
typedef int f_isdn_reattempt_ind(Pst *pst); //REATTEMPT
//ansi
typedef int f_isdn_service_ind(Pst *pst, IsdnService *ptr); //Service
typedef int f_isdn_service_cnf(Pst *pst, IsdnServAck *ptr); //Service Ack
typedef int f_isdn_ser_timeout_ind(Pst *pst); //Service TIMEOUT
typedef struct _isdn_eventhandle_struct
{
f_isdn_setup_ind *h_isdn_setup_ind;
f_isdn_setup_cnf *h_isdn_setup_cnf;
f_isdn_proc_ind *h_isdn_proc_ind;
f_isdn_alert_ind *h_isdn_alert_ind;
f_isdn_disc_ind *h_isdn_disc_ind;
f_isdn_rel_ind *h_isdn_rel_ind;
f_isdn_rel_cnf *h_isdn_rel_cnf;
f_isdn_rel_cnf_err *h_isdn_rel_cnf_err;
f_isdn_prog_ind *h_isdn_prog_ind;
f_isdn_info_ind *h_isdn_info_ind;
f_isdn_minfo_ind *h_isdn_minfo_ind;
f_isdn_noti_ind *h_isdn_noti_ind;
f_isdn_stat_ind *h_isdn_stat_ind;
f_isdn_stat_ind_err *h_isdn_stat_ind_err;
f_isdn_resu_ind *h_isdn_resu_ind;
f_isdn_rej_ind *h_isdn_rej_ind;
// f_isdn_susp_ind *h_isdn_susp_ind;
f_isdn_restart_req *h_isdn_restart_req;
f_isdn_rest_cnf *h_isdn_rest_cnf;
f_isdn_timeout_ind *h_isdn_timeout_ind;
f_isdn_reattempt_ind *h_isdn_reattempt_ind;
//ansi
f_isdn_service_ind *h_isdn_service_ind;
f_isdn_service_cnf *h_isdn_service_cnf;
f_isdn_ser_timeout_ind *h_isdn_ser_timeout_ind;
}ISDN_EventHandle_struct;
typedef struct _isdn_sap_attrib_
{
ISDN_EventHandle_struct event_handle;
}ISDN_Sap_Attrib_;
/************************************************************
ISDN Module interface
************************************************************/
//Receive upper layer interface primitives
extern int isdn_setup_req(Pst *pst, IsdnSetup *ptr); //Setup request
extern int isdn_setup_resp(Pst *pst, IsdnConn *ptr); //Setup response
//extern int isdn_setup_comp_req(Pst *pst, IsdnConnAck *ptr); //Setup complete request
extern int isdn_call_proc_req(Pst *pst, IsdnCallProc *ptr); //Proceeding request
extern int isdn_alert_req(Pst *pst, IsdnAlert *ptr); //Alerting request
extern int isdn_disc_req(Pst *pst, IsdnDisc *ptr); //Disconnect request
extern int isdn_rel_req(Pst *pst, IsdnRel *ptr); //Release request
extern int isdn_rej_req(Pst *pst, IsdnRelComp *ptr); //Reject request
extern int isdn_prog_req(Pst *pst, IsdnProg *ptr); //Progress request
extern int isdn_info_req(Pst *pst, IsdnInfo *ptr); //Infomation request
extern int isdn_m_info_req(Pst *pst, IsdnSetupAck *ptr); //More Infomation request //IsdnSetupAck »ò IsdnInfo
extern int isdn_noti_req(Pst *pst, IsdnNoti *ptr); //Notify request
extern int isdn_rej_req(Pst *pst, IsdnRelComp *ptr); //Reject request
extern int isdn_resu_resp(Pst *pst, IsdnResuResp *ptr); //Resume response
extern int isdn_resu_rej_req(Pst *pst, IsdnResuRejReq *ptr); //Resume reject request
extern int isdn_susp_resp(Pst *pst, IsdnSusp *ptr); //Suspend response
extern int isdn_susp_rej_req(Pst *pst, IsdnSuspRejReq *ptr); //Suspend reject request
extern int isdn_restart_req(Pst *pst, IsdnRestart *ptr); //Restart request
extern int isdn_m_restart_req(Pst *pst, IsdnRestart *ptr); //Management restart request
extern int isdn_restart_cnf(Pst *pst, IsdnRestAck *ptr); //Restart confirm
extern int isdn_timeout(Pst *pst); //Time out
//ansi
extern int isdn_service_bc_req(Pst *pst, IsdnService *ptr); //maintenance B-channel SERVICE request
extern int isdn_service_bc_rsp(Pst *pst, IsdnServAck *ptr); //maintenance B-channel SERVICE response
#endif