OpenSS7 SS7 for the Common Man |
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |
||||||||||||||||||||||||||
Home | Overview | Status | News | Documentation | Resources | About | |||||||||||||||||||||
File /code/strss7/drivers/sua/sua_sgp.c#ident "@(#) $RCSfile: sua_sgp.c,v $ $Name: $($Revision: 0.8.2.2 $) $Date: 2003/04/03 19:51:34 $" static char const ident[] = "$RCSfile: sua_sgp.c,v $ $Name: $($Revision: 0.8.2.2 $) $Date: 2003/04/03 19:51:34 $"; #define __NO_VERSION__ #include <linux/config.h> #include <linux/version.h> #ifdef MODVERSIONS #include <linux/modversions.h> #endif #include <linux/module.h> #include <sys/stream.h> #include <sys/stropts.h> #include <sys/cmn_err.h> #include "../debug.h" #include "../bufq.h" #include "../../include/ss7/mtp.h" #include "../mtp/mtp_prov.h" #include "sua_data.h" #include "sua_msg.h" #include "../ua/ua_asp.h" /* * ========================================================================= * * SUA Peer --> SUA Received Messages * * ========================================================================= */ /* * SUA_CLNS_CLDT ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_clns_cldt(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CLNS_CLDR ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_clns_cldr(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_CORE ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_core(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_COAK ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_coak(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_COREF ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_coref(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_RELRE ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_relre(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_RELCO ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_relco(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_RESCO ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_resco(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_RESRE ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_resre(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_CODT ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_codt(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_CODA ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_coda(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_COERR ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_coerr(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * SUA_CONS_COIT ( AS --> SG, SG --> AS, SP --> SP ) * ------------------------------------------------------------------------- */ static int sua_recv_cons_coit(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_SNMM_DUNA * ------------------------------------------------------------------------- */ static int sua_recv_duna(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_SNMM_DAVA * ------------------------------------------------------------------------- */ static int sua_recv_dava(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_SNMM_DAUD * ------------------------------------------------------------------------- */ static int sua_recv_daud(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_SNMM_SCON * ------------------------------------------------------------------------- */ static int sua_recv_scon(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_SNMM_DUPU * ------------------------------------------------------------------------- */ static int sua_recv_dupu(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_SNMM_DRST * ------------------------------------------------------------------------- */ static int sua_recv_drst(sgp_t * sgp, mblk_t * msg) { (void) q; (void) msg; return (-EOPNOTSUPP); } /* * UA_RKMM_REG_REQ ( ASP --> SGP, IPSP --> IPSP ) * ------------------------------------------------------------------------- */ static int sua_recv_reg_req(sgp_t * sgp, mblk_t * msg) { (void) msg; if (Q_MODE(q) & Q_MODE_SG) /* return error unexpected message */ return (-EOPNOTSUPP); return (-EOPNOTSUPP); } /* * UA_RKMM_REG_RSP ( SGP --> ASP, IPSP --> IPSP ) * ------------------------------------------------------------------------- */ static int sua_recv_reg_rsp(sgp_t * sgp, mblk_t * msg) { (void) msg; if (Q_MODE(q) & Q_MODE_AS) /* return error unexpected message */ return (-EOPNOTSUPP); return (-EOPNOTSUPP); } /* * UA_RKMM_DEREG_REQ ( ASP --> SGP, IPSP --> IPSP ) * ------------------------------------------------------------------------- */ static int sua_recv_dereg_req(sgp_t * sgp, mblk_t * msg) { (void) msg; if (Q_MODE(q) & Q_MODE_SG) /* return error unexpected message */ return (-EOPNOTSUPP); return (-EOPNOTSUPP); } /* * UA_RKMM_DEREG_RSP ( SGP --> ASP, IPSP --> IPSP ) * ------------------------------------------------------------------------- */ static int sua_recv_dereg_rsp(sgp_t * sgp, mblk_t * msg) { (void) msg; if (Q_MODE(q) & Q_MODE_AS) /* return error unexpected message */ return (-EOPNOTSUPP); return (-EOPNOTSUPP); } /* * Common defined ASP/SGP management procedures. */ extern int (*ua_sgp_mgmt[]) (sgp_t *, mblk_t *); extern int (*ua_sgp_asps[]) (sgp_t *, mblk_t *); extern int (*ua_sgp_aspt[]) (sgp_t *, mblk_t *); static int (*sua_snmm[]) (sgp_t *, mblk_t *) = { NULL, /* (reserved) 0x0 */ sua_recv_duna, /* UA_SNMM_DUNA 0x1 */ sua_recv_dava, /* UA_SNMM_DAVA 0x2 */ sua_recv_daud, /* UA_SNMM_DAUD 0x3 */ sua_recv_scon, /* UA_SNMM_SCON 0x4 */ NULL, /* UA_SNMM_DUPU 0x5 */ sua_recv_drst /* UA_SNMM_DRST 0x6 */ }; static int (*sua_cnls[]) (sgp_t * sgp, mblk_t *) = { NULL, /* (reserved) 0x0 */ sua_recv_clns_cldt, /* SUA_CNLS_CLDT 0x1 */ sua_recv_clns_cldr, /* SUA_CNLS_CLDR 0x2 */ }; static int (*sua_cons[]) (sgp_t * sgp, mblk_t *) = { NULL, /* (reserved) 0x0 */ sua_recv_cons_core, /* SUA_CONS_CORE 0x1 */ sua_recv_cons_coak, /* SUA_CONS_COAK 0x2 */ sua_recv_cons_coref, /* SUA_CONS_COREF 0x3 */ sua_recv_cons_relre, /* SUA_CONS_RELRE 0x4 */ sua_recv_cons_relco, /* SUA_CONS_RELCO 0x5 */ sua_recv_cons_resco, /* SUA_CONS_RESCO 0x6 */ sua_recv_cons_resre, /* SUA_CONS_RESRE 0x7 */ sua_recv_cons_codt, /* SUA_CONS_CODT 0x8 */ sua_recv_cons_coda, /* SUA_CONS_CODA 0x9 */ sua_recv_cons_coerr, /* SUA_CONS_COERR 0xa */ sua_recv_cons_coit /* SUA_CONS_COIT 0xb */ }; static int (*sua_rkmm[]) (sgp_t *, mblk_t *) = { NULL, /* (reserved) 0x0 */ sua_recv_reg_req, /* UA_RKMM_REG_REQ 0x1 */ sua_recv_reg_rsp, /* UA_RKMM_REG_RSP 0x2 */ sua_recv_dereg_req, /* UA_RKMM_DEREG_REQ 0x3 */ sua_recv_dereg_rsp /* UA_RKMM_DEREG_RSP 0x4 */ }; static struct msg_class msg_decode[] = { {ua_sgp_mgmt, UA_MGMT_LAST}, /* UA_CLASS_MGMT 0x0 */ {NULL, 0}, /* UA_CLASS_XFER 0x1 */ {sua_snmm, UA_SNMM_LAST}, /* UA_CLASS_SNMM 0x2 */ {ua_sgp_asps, UA_ASPS_LAST}, /* UA_CLASS_ASPS 0x3 */ {ua_sgp_aspt, UA_ASPT_LAST}, /* UA_CLASS_ASPT 0x4 */ {NULL, 0}, /* UA_CLASS_Q921 0x5 */ {NULL, 0}, /* UA_CLASS_MAUP 0x6 */ {sua_cnls, SUA_CNLS_LAST}, /* UA_CLASS_CNLS 0x7 */ {sua_cons, SUA_CONS_LAST}, /* UA_CLASS_CONS 0x8 */ {sua_rkmm, UA_RKMM_LAST}, /* UA_CLASS_RKMM 0x9 */ {NULL, 0}, /* UA_CLASS_TDHM 0xa */ {NULL, 0} /* UA_CLASS_TCHM 0xb */ }; int sua_recv_msg(sgp_t * sgp, mblk_t * msg) { return ua_recv_msg(q, msg, msg_decode); }
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |