124 lines
3.0 KiB
C
124 lines
3.0 KiB
C
#ifndef _PAL_H_
|
|
#define _PAL_H_
|
|
|
|
#include "../public/src/include/public.h"
|
|
|
|
#define PROTO_AIF 0
|
|
#define PROTO_ISUP 1
|
|
#define PROTO_BICC 2
|
|
#define PROTO_ISDN 3
|
|
#define PROTO_TUP 4
|
|
#define PROTO_SIP 5
|
|
#define PROTO_MGC 6
|
|
#define MAX_PROTO_TYPE 7
|
|
|
|
#define VARIANT_ITU 0
|
|
#define VARIANT_ANSI 1
|
|
#define VARIANT_ETSI 2
|
|
#define VARIANT_UK 3
|
|
#define VARIANT_QSIG 4
|
|
|
|
#define DUAL_SEIZURE_REATTEMPT 0 /* Re-attempt on detection of dual seizure */
|
|
#define DUAL_SEIZURE_CONTINUE 1 /* Continue the call on detection of dual seizure */
|
|
|
|
#define CTRL_PLAT_0 0
|
|
#define CTRL_PLAT_1 1
|
|
|
|
#define PAL_MAX_CALLBACK 64
|
|
#define PAL_MAX_SAP 16
|
|
#define PAL_MAX_CG 256
|
|
#define PAL_MAX_CIRCUIT 256
|
|
#define PAL_DOMAIN_LEN 32
|
|
|
|
typedef struct sap_attribute {
|
|
void *event_handle[PAL_MAX_CALLBACK];
|
|
} sap_attrib_struct;
|
|
|
|
/* Non-Facility Associated Signalling */
|
|
struct nfas_info {
|
|
u8 flag;
|
|
u32 prim_link;
|
|
u32 backup_link;
|
|
};
|
|
|
|
typedef struct cg_attribute {
|
|
u8 protocol;
|
|
u8 variant;
|
|
u8 priority; //0: re-attempt; 1: continue
|
|
u8 network_id;
|
|
u32 dpc;
|
|
u32 opc;
|
|
char dest_domain[PAL_DOMAIN_LEN]; //for sip
|
|
char local_domain[PAL_DOMAIN_LEN]; //for sip
|
|
struct nfas_info nfas;
|
|
u32 tg_id;
|
|
} cg_attrib_struct;
|
|
|
|
typedef struct circuit_attribute {
|
|
u8 plat_id;
|
|
u8 cic_range;
|
|
u32 head_cic;
|
|
u32 link_id; //for isdn
|
|
u8 user_network_if; //for isdn
|
|
u8 d_chnl; //for isdn
|
|
} circuit_attrib_struct;
|
|
|
|
typedef struct pal_sap {
|
|
u8 id;
|
|
u8 enable;
|
|
sap_attrib_struct attrib;
|
|
} pal_sap_struct;
|
|
|
|
typedef struct pal_circuitgroup {
|
|
u8 id;
|
|
u8 enable;
|
|
u8 sap_id;
|
|
u8 circuit_num;
|
|
cg_attrib_struct attrib;
|
|
} pal_cg_struct;
|
|
|
|
typedef struct pal_circuit {
|
|
u8 id;
|
|
u8 enable;
|
|
u8 cg_id;
|
|
circuit_attrib_struct attrib;
|
|
} pal_circuit_struct;
|
|
|
|
typedef struct _pst_struct
|
|
{
|
|
u16 cg_id;
|
|
u32 tg_id;
|
|
u32 cic;
|
|
|
|
u32 sp_proc_id;
|
|
u32 su_proc_id;
|
|
|
|
int trace_flag;
|
|
} Pst;
|
|
|
|
/* Upper layer interface */
|
|
extern u8 *pal_version(void);
|
|
extern char* pal_error(void);
|
|
extern int pal_bind_sap(sap_attrib_struct *attrib);
|
|
extern int pal_create_cg(u8 sap_id, cg_attrib_struct *attrib);
|
|
extern int pal_delete_cg(int cg_id);
|
|
extern int pal_modify_cg(int cg_id, cg_attrib_struct *attrib);
|
|
extern int pal_create_circuit(int cg_id, circuit_attrib_struct *attrib);
|
|
extern int pal_delete_circuit(int circuit_id);
|
|
|
|
/* Lower layer interface */
|
|
extern void *pal_get_handler(u32 cg_id);
|
|
extern const pal_sap_struct *pal_sap_ptr(u8 sap_id);
|
|
extern const pal_cg_struct *pal_cg_ptr(u32 cg_id);
|
|
extern const pal_circuit_struct *pal_circuit_ptr(u32 circuit_id);
|
|
extern const pal_cg_struct *pal_ss7_find_cg(u8 ni, u32 dpc, u32 opc);
|
|
extern const pal_cg_struct *pal_isdn_find_cg(u32 link_id);
|
|
extern const pal_cg_struct *pal_sip_find_cg(char *domain, char *their_domain);
|
|
extern const pal_circuit_struct *pal_locate_circuit(u32 cg_id, u32 cic);
|
|
extern const pal_circuit_struct *pal_ss7_find_circuit(u8 ni, u32 dpc, u32 opc, u32 cic);
|
|
extern const pal_circuit_struct *pal_isdn_find_circuit(u32 link_id, u32 cic);
|
|
extern const pal_circuit_struct *pal_isdn_find_circuit_of_link(u32 link_id);
|
|
|
|
#endif
|
|
|