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/sigtran/ua.h#ifndef __UA_H__ #define __UA_H__ #ident "@(#) $RCSfile: ua.h,v $ $Name: $($Revision: 0.8.2.2 $) $Date: 2002/10/18 03:09:22 $" extern int ua_reuseb(ua_t *, size_t, int, mblk_t **); #if 0 extern int ua_putq(queue_t *, mblk_t *, int (*)(queue_t *, mblk_t *)); extern int ua_srvq(queue_t *, int (*)(queue_t *, mblk_t *)); #endif extern int ua_w_flush(queue_t *, mblk_t *); extern int ua_r_flush(queue_t *, mblk_t *); #ifndef NUM_SPIDS #define NUM_SPIDS 16 #endif typedef struct drv { uint cmajor; /* base character major device number */ uint nmajor; /* number of major device numbers */ uint nminor; /* number of minor device numbers */ char *name; /* name of multiplexing driver */ uint min_alen; /* minimum address length */ uint max_alen; /* maximum address length */ ops_t u_ops_lm; /* operations to perform on LM stream */ ops_t u_ops_ss7; /* operations to perform on SS7-U stream */ ops_t l_ops_ss7; /* operations to perform on SS7-P stream */ ops_t l_ops_asp; /* operations to perform on ASP stream */ ops_t l_ops_sgp; /* operations to perform on SGP stream */ ops_t l_ops_spp; /* operations to perform on SPP stream */ struct sp *sp[NUM_SPIDS]; } drv_t; extern drv_t ualm_driver; extern drv_t m2ua_driver; extern drv_t m3ua_driver; extern drv_t isua_driver; extern drv_t sua_driver; extern drv_t tua_driver; //extern kmem_cache_t *ua_pp_cachep; //extern kmem_cache_t *ua_xp_cachep; //extern kmem_cache_t *ua_gp_cachep; //extern kmem_cache_t *ua_as_cachep; //extern kmem_cache_t *ua_ap_cachep; //extern kmem_cache_t *ua_sp_cachep; //extern kmem_cache_t *ua_np_cachep; /* structure allocation and deallocation */ extern pp_t *ua_pp_alloc(void); extern xp_t *ua_xp_alloc(void); extern gp_t *ua_gp_alloc(void); extern as_t *ua_as_alloc(void); extern ap_t *ua_ap_alloc(void); extern sp_t *ua_sp_alloc(void); extern np_t *ua_np_alloc(void); extern void ua_pp_free(pp_t * pp); extern void ua_xp_free(xp_t * xp); extern void ua_gp_free(gp_t * gp); extern void ua_as_free(as_t * as); extern void ua_ap_free(ap_t * ap); extern void ua_sp_free(sp_t * sp); extern void ua_np_free(np_t * np); /* timeouts */ #define ua_t_ack_val 200 #define ua_t_hbt_val 200 #define ua_t_pnd_val 200 extern void ua_as_ack_timeout(caddr_t data); extern void ua_xp_ack_timeout(caddr_t data); extern void ua_gp_ack_timeout(caddr_t data); /* state machine functions */ extern int sg_activate_req(queue_t * q, as_t * ps); extern int sg_inactive_req(queue_t * q, as_t * ps); extern int as_active_req(queue_t * q, as_t * as); extern int as_inactive_req(queue_t * q, as_t * as); extern int asp_active_ack(queue_t * q, as_t * as); extern int asp_active_nack(queue_t * q, as_t * as); extern int asp_inactive_ack(queue_t * q, as_t * as); extern int asp_override(queue_t * q, as_t * as); extern int as_active_ack(queue_t * q, as_t * as); extern int as_active_nack(queue_t * q, as_t * as); extern int as_inactive_ack(queue_t * q, as_t * as); extern int sg_inactive_ack(queue_t * q, as_t * ps); extern int sg_active_ack(queue_t * q, as_t * ps); extern int sg_active_nack(queue_t * q, as_t * ps); /* layer management message handling */ extern int lm_w_ioctl(queue_t * q, mblk_t * mp); extern int lm_w_prim(queue_t * q, mblk_t * mp); extern int lm_r_prim(queue_t * q, mblk_t * mp); #define QR_DONE 0 #define QR_ABSORBED 1 #define QR_TRIMMED 2 #define QR_LOOP 3 #define QR_PASSALONG 4 #define QR_PASSFLOW 5 #define QR_DISABLE 6 #define UA_PRIV(__q) ((sccp_t *)(__q)->q_ptr) /* buffer handling */ extern void ua_bufcall(queue_t * q, size_t size, int prior); extern inline mblk_t *ua_allocb(queue_t * q, size_t size, int prior) { mblk_t *mp; if ((mp = allocb(size, prior))) return (mp); ua_bufcall(q, size, prior); return (NULL); } #endif /* __UA_H__ */
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |