OpenSS7
SS7 for the
Common Man

© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved.
Last modified:

Home Overview Status News Documentation Resources About
   
 Overview
 Status
 News
 Documentation
 Resources
 About

   
Home Index Prev Next More Download Info FAQ Mail   Home -> Resources -> Browse Source -> strss7/include/ss7/tr.h


File /code/strss7/include/ss7/tr.h



#ifndef __SS7_TR_H__
#define __SS7_TR_H__

#ident "@(#) $Name:  $($Revision: 0.8.2.3 $) Copyright (c) 1997-2002 OpenSS7 Corporation."

#define TR_INFO_REQ		 0	/* Information request */
#define TR_BIND_REQ		 1	/* Bind to network address */
#define TR_UNBIND_REQ		 2	/* Unbind from network address */
#define TR_OPTMGMT_REQ		 5	/* Options management request */
#define	TR_UNI_REQ		 6	/* Unidirectional request */
#define TR_BEGIN_REQ		 7	/* Begin transaction request */
#define TR_BEGIN_RES		 8	/* Begin transaction response-Continue request */
#define	TR_CONT_REQ		 9	/* Continue transaction request */
#define TR_END_REQ		10	/* End transaction request */
#define TR_ABORT_REQ		11	/* Abort transaction request */

#define TR_INFO_ACK		12	/* Information acknowledgement */
#define TR_BIND_ACK		13	/* Bound to network address */
#define TR_OK_ACK		15	/* Success acknowledgement */
#define TR_ERROR_ACK		16	/* Error acknowledgement */
#define TR_OPTMGMT_ACK		17	/* Options management acknowledgement */
#define	TR_UNI_IND		18	/* Unidirectional indication */
#define TR_BEGIN_IND		19	/* Begin transaction indication */
#define TR_BEGIN_CON		20	/* Begin transaction confirmation-Continue ind */
#define TR_CONT_IND		21	/* Continue transaction indication */
#define TR_END_IND		22	/* End transaction indication */
#define TR_ABORT_IND		23	/* Abort transaction indication */
#define TR_NOTICE_IND		24	/* Error indication */

#define TR_QOS_SEL1		0x0501

typedef struct {
	ulong type;			/* Always TR_QOS_SEL1 */
	ulong flags;			/* Return option */
	ulong seq_ctrl;			/* Sequence Control */
	ulong priority;			/* Message priority */
} TR_qos_sel1_t;

#define TR_PROVIDER		0x0001
#define TR_USER			0x0002

/*
 *  TR_INFO_REQ.  This primitive consists of one M_PCPROTO message block.
 */
typedef struct TR_info_req {
	ulong PRIM_type;		/* Always TR_INFO_REQ */
} TR_info_req_t;

/*
 *  TR_INFO_ACK.  This primitive consists of one M_PCPROTO message block.
 */
typedef struct TR_info_ack {
	long PRIM_type;				/* Always TR_INFO_ACK */
	long TSDU_size;				/* maximum TSDU size */
	long ETSDU_size;			/* maximum ETSDU size */
	long CDATA_size;			/* connect data size */
	long DDATA_size;			/* discon data size */
	long ADDR_size;				/* address size */
	long OPT_size;				/* options size */
	long TIDU_size;				/* transaction i/f data unit size */
	long SERV_type;				/* service type */
	long CURRENT_state;			/* current state */
	long PROVIDER_flag;			/* type of TR provider */
	long TRPI_version;			/* version # of trpi that is supported */
} TR_info_ack_t;

/*
 *  TR_BIND_REQ.  This primitive consists of one M_PROTO message block.
 */
typedef struct TR_bind_req {
	ulong PRIM_type;		/* Always TR_BIND_REQ */
	ulong ADDR_length;		/* address length */
	ulong ADDR_offset;		/* address offset */
	ulong XACT_number;		/* maximum outstanding transaction reqs. */
	ulong BIND_flags;		/* bind flags */
} TR_bind_req_t;

/*
 *  TR_BIND_ACK.  This primitive consists of one M_PROTO message block.
 */
typedef struct TR_bind_ack {
	ulong PRIM_type;		/* Always TR_BIND_ACK */
	ulong ADDR_length;		/* address length */
	ulong ADDR_offset;		/* address offset */
	ulong XACT_number;		/* open transactions */
	ulong TOKEN_value;		/* value of "token" assigned to stream */
} TR_bind_ack_t;

/*
 *  TR_UNBIND_REQ.  This primtive consists of one M_PROTO message block.
 */
typedef struct TR_unbind_req {
	ulong PRIM_type;		/* Always TR_UNBIND_REQ */
} TR_unbind_req_t;

/*
 *  TR_OPTMGMT_REQ.  This primtive consists of one M_PROTO message block.
 */
typedef struct TR_optmgmt_req {
	ulong PRIM_type;		/* Always T_OPTMGMT_REQ */
	ulong OPT_length;		/* options length */
	ulong OPT_offset;		/* options offset */
	ulong MGMT_flags;		/* options data flags */
} TR_optmgmt_req_t;

/*
 *  TR_OPTMGMT_ACK.  This primitive consists of one M_PCPROTO message block.
 */
typedef struct TR_optmgmt_ack {
	ulong PRIM_type;		/* Always T_OPTMGMT_ACK */
	ulong OPT_length;		/* options length */
	ulong OPT_offset;		/* options offset */
	ulong MGMT_flags;		/* options data flags */
} TR_optmgmt_ack_t;

/*
 *  TR_OK_ACK.	This primitive consists of one M_PCPROTO message block.
 */
typedef struct TR_ok_ack {
	ulong PRIM_type;		/* Always T_OK_ACK */
	ulong CORRECT_prim;		/* correct primitive */
} TR_ok_ack_t;

/*
 *  TR_ERROR_ACK.  This primitive consists of one M_PCPROTO message block.
 */
typedef struct TR_error_ack {
	ulong PRIM_type;		/* Always T_ERROR_ACK */
	ulong ERROR_prim;		/* primitive in error */
	ulong TRPI_error;		/* TRPI error code */
	ulong UNIX_error;		/* UNIX error code */
	ulong TRANS_id;			/* Transaction id */
} TR_error_ack_t;

/*
 *  TR_UNI_REQ.  This primitive consists of one M_PROTO message block followed
 *  by one or more M_DATA blocks.
 */
typedef struct TR_uni_req {
	ulong PRIM_type;		/* Always TR_UNI_REQ */
	ulong DEST_length;		/* Destination address length */
	ulong DEST_offset;		/* Destination address offset */
	ulong ORIG_length;		/* Originating address length */
	ulong ORIG_offset;		/* Originating address offset */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_uni_req_t;

/*
 *  TR_UNI_IND.  This primitive consists of one M_PROTO message block followed
 *  by one or more M_DATA blocks.
 */
typedef struct TR_uni_ind {
	ulong PRIM_type;		/* Always TR_UNI_REQ */
	ulong DEST_length;		/* Destination address length */
	ulong DEST_offset;		/* Destination address offset */
	ulong ORIG_length;		/* Originating address length */
	ulong ORIG_offset;		/* Originating address offset */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_uni_ind_t;

/*
 *  TR_BEGIN_REQ.
 */
typedef struct TR_begin_req {
	ulong PRIM_type;		/* Always TR_BEGIN_REQ */
	ulong CORR_id;			/* Correlation id */
	ulong DEST_length;		/* Destination address length */
	ulong DEST_offset;		/* Destination address offset */
	ulong ORIG_length;		/* Originating address length */
	ulong ORIG_offset;		/* Originating address offset */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_begin_req_t;

/*
 *  TR_BEGIN_IND.
 */
typedef struct TR_begin_ind {
	ulong PRIM_type;		/* Always TR_BEGIN_IND */
	ulong TRANS_id;			/* Transaction id */
	ulong DEST_length;		/* Destination address length */
	ulong DEST_offset;		/* Destination address offset */
	ulong ORIG_length;		/* Originating address length */
	ulong ORIG_offset;		/* Originating address offset */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_begin_ind_t;

/*
 *  TR_BEGIN_RES.
 *
 *  This primitive represents the first TR-CONTINUE response to a TR-BEGIN
 *  indication.
 */
typedef struct TR_begin_res {
	ulong PRIM_type;		/* Always TR_BEGIN_RES */
	ulong TRANS_id;			/* Transaction id */
	ulong ORIG_length;		/* Originating address length */
	ulong ORIG_offset;		/* Originating address offset */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_begin_res_t;

/*
 *  TR_BEGIN_CON.
 *
 *  This primitive represents the first TR-CONTINUE configuration of a
 *  TR-BEGIN request.
 */
typedef struct TR_begin_con {
	ulong PRIM_type;		/* Always TR_BEGIN_CON */
	ulong CORR_id;			/* Correlation Id */
	ulong TRANS_id;			/* Transaction id */
	ulong ORIG_length;		/* Originating address length */
	ulong ORIG_offset;		/* Originating address offset */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_begin_con_t;

/*
 *  TR_CONT_REQ.
 */
typedef struct TR_cont_req {
	ulong PRIM_type;		/* Always TR_CONT_REQ */
	ulong TRANS_id;			/* Transaction id */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_cont_req_t;

/*
 *  TR_CONT_IND.
 */
typedef struct TR_cont_ind {
	ulong PRIM_type;		/* Always TR_CONT_IND */
	ulong TRANS_id;			/* Transaction id */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_cont_ind_t;

/*
 *  TR_END_REQ.
 */
typedef struct TR_end_req {
	ulong PRIM_type;		/* Always TR_END_REQ */
	ulong TRANS_id;			/* Transaction id */
	ulong TERM_scenario;		/* Termination scenario */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_end_req_t;

/*
 *  TR_END_IND.
 */
typedef struct TR_end_ind {
	ulong PRIM_type;		/* Always TR_END_IND */
	ulong CORR_id;			/* Correlation id */
	ulong TRANS_id;			/* Transaction id */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_end_ind_t;

/*
 *  TR_ABORT_REQ.
 */
typedef struct TR_abort_req {
	ulong PRIM_type;		/* Always TR_ABORT_REQ */
	ulong TRANS_id;			/* Transaction id */
	ulong ABORT_cause;		/* Cause of the abort */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
} TR_abort_req_t;

/*
 *  TR_ABORT_IND.
 */
typedef struct TR_abort_ind {
	ulong PRIM_type;		/* Always TR_ABORT_IND */
	ulong CORR_id;			/* Correlation id */
	ulong TRANS_id;			/* Transaction id */
	ulong OPT_length;		/* Options structure length */
	ulong OPT_offset;		/* Options structure offset */
	ulong ABORT_cause;		/* Cause of the abort */
	ulong ORIGINATOR;		/* Originator P or U */
} TR_abort_ind_t;

/*
 *  TR_NOTICE_IND.
 */
typedef struct TR_notice_ind {
	ulong PRIM_type;		/* Always TR_NOTICE_IND */
	ulong CORR_id;			/* Correlation id */
	ulong TRANS_id;			/* Transaction id */
	ulong REPORT_cause;		/* SCCP return cause */
} TR_notice_ind_t;

#endif				/* __SS7_TR_H__ */


Home Index Prev Next More Download Info FAQ Mail   Home -> Resources -> Browse Source -> strss7/include/ss7/tr.h

OpenSS7
SS7 for the
Common Man
Home Overview Status News Documentation Resources About

© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved.
Last modified: