/*********************************************************** 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: ************************************************************/ #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