⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test-q784.c

📁 OpenSS7 This the fourth public release of the OpenSS7 Master Package. See README in the release for
💻 C
📖 第 1 页 / 共 5 页
字号:
	case LOOPBACK:		printf		    ("                    |__|_______________________________|_                   \n");		printf		    ("                    |<<|_______________________________|_| LOOPBACK         (%d)\n",		     state);		printf		    ("                    |  |                               |                    \n");		FFLUSH(stdout);		return (SUCCESS);	default:		printf		    ("                    |<-+--------------------------\?\?\?--|                    (%d)\n",		     state);		FFLUSH(stdout);		return (FAILURE);	}      send_isup:	data.len = (d > p) ? (d - pt_dat) : (p - pt_dat);	if (show_msg) {		printf("Sent msg: ");		for (i = 0; i < data.len; i++)			printf("%02X ", (unsigned char) data.buf[i]);		printf("\n");		FFLUSH(stdout);	}	ctrl.len = sizeof(m->transfer_ind) + sizeof(rem_addr);	m->transfer_ind.mtp_primitive = MTP_TRANSFER_IND;	m->transfer_ind.mtp_srce_offset = sizeof(m->transfer_ind);	m->transfer_ind.mtp_srce_length = sizeof(rem_addr);	m->transfer_ind.mtp_mp = 2;	m->transfer_ind.mtp_sls = pmsg.cic & 0x0f;	*(mtp_addr_t *) (&m->transfer_ind + 1) = rem_addr;      send_mtp:	ctrl.maxlen = BUFSIZE;	ctrl.buf = cbuf;	data.maxlen = BUFSIZE;	data.buf = (char *)pt_dat;	if (putmsg(pt_fd, ctrl.len ? &ctrl : NULL, data.len ? &data : NULL, 0) < 0) {		if (errno == EAGAIN || errno == EINTR)			return FAILURE;		printf		    ("                    |<-+--------------------******** ERROR: putmsg failed                                         \n");		printf("                                                          : %-13s:%40s\n",		       __FUNCTION__, strerror(errno));		FFLUSH(stdout);		return FAILURE;	}	return time_event(ret);}static intiut_cpc_signal(int action){	int ret;	char cbuf[BUFSIZE];	char dbuf[BUFSIZE];	struct strbuf ctrl = { sizeof(*cbuf), 0, cbuf };	struct strbuf data = { sizeof(*dbuf), 0, dbuf };	union CC_primitives *m = (union CC_primitives *) cbuf;	unsigned char *c;	ctrl.maxlen = BUFSIZE;	ctrl.buf = cbuf;	data.maxlen = BUFSIZE;	data.buf = dbuf;	switch (action) {	case INFO_REQ:		if (verbose) {			printf			    ("---INFO------------>|  |                               |                    (%d)\n",			     state);			FFLUSH(stdout);		}		m->cc_primitive = CC_INFO_REQ;		ctrl.len = sizeof(m->info_req);		data.len = 0;		goto signal_msg;	case OPTMGMT_REQ:		if (verbose) {			printf			    ("---OPTMGMT--------->|  |                               |                    (%d)\n",			     state);			FFLUSH(stdout);		}		m->cc_primitive = CC_OPTMGMT_REQ;		m->optmgmt_req.cc_opt_length = cprim.opt.len;		m->optmgmt_req.cc_opt_offset = sizeof(m->optmgmt_req);		m->optmgmt_req.cc_opt_flags = cprim.opt_flags;		c = (unsigned char *) (&m->optmgmt_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->optmgmt_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case BIND_REQ:		if (verbose > 1) {			printf			    ("---BIND------------>|  |                               |                    (%d)\n",			     state);			FFLUSH(stdout);			if (verbose > 2) {				if (cprim.addr.len) {					printf					    (" addr scope =    %2s |  |                               |                    \n",					     scope_string(cprim.addr.add.scope));					printf					    (" addr id    = %5ld |  |                               |                    \n",					     cprim.addr.add.id);					printf					    (" addr cic   = %5ld |  |                               |                    \n",					     cprim.addr.add.cic);				}				printf				    (" setup inds = %5ld |  |                               |                    \n",				     cprim.setup_ind);				printf				    (" flags      =  %4lx |  |                               |                    \n",				     cprim.bind_flags);				FFLUSH(stdout);			}		}		m->cc_primitive = CC_BIND_REQ;		m->bind_req.cc_addr_length = cprim.addr.len;		m->bind_req.cc_addr_offset = cprim.addr.len ? sizeof(m->bind_req) : 0;		m->bind_req.cc_setup_ind = cprim.setup_ind;		m->bind_req.cc_bind_flags = cprim.bind_flags;		if (cprim.addr.len)			*(isup_addr_t *) (&m->bind_req + 1) = cprim.addr.add;		ctrl.len = sizeof(m->bind_req) + cprim.addr.len;		data.len = 0;		goto signal_msg;	case UNBIND_REQ:		if (verbose > 1)			printf			    ("---UNBIND---------->|  |                               |                    (%d)\n",			     state);		FFLUSH(stdout);		m->cc_primitive = CC_UNBIND_REQ;		ctrl.len = sizeof(m->unbind_req);		data.len = 0;		goto signal_msg;	case ADDR_REQ:		if (verbose) {			printf			    ("---ADDR------------>|  |                               |                    (%d)\n",			     state);			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		}		FFLUSH(stdout);		m->cc_primitive = CC_ADDR_REQ;		m->addr_req.cc_call_ref = cprim.call_ref;		ctrl.len = sizeof(m->addr_req);		data.len = 0;		goto signal_msg;	case SETUP_REQ:		printf		    ("---SETUP----------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("user ref = %-4ld     |  |                               |                    \n",			     cprim.user_ref);		FFLUSH(stdout);		m->cc_primitive = CC_SETUP_REQ;		m->setup_req.cc_user_ref = cprim.user_ref;		m->setup_req.cc_call_type = cprim.call_type;		m->setup_req.cc_call_flags = cprim.call_flags;		m->setup_req.cc_cdpn_length = cprim.cdpn.len;		m->setup_req.cc_cdpn_offset = cprim.cdpn.len ? sizeof(m->setup_req) : 0;		m->setup_req.cc_opt_length = cprim.opt.len;		m->setup_req.cc_opt_offset =		    cprim.opt.len ? sizeof(m->setup_req) + cprim.cdpn.len : 0;		m->setup_req.cc_addr_length = cprim.addr.len;		m->setup_req.cc_addr_offset =		    cprim.addr.len ? sizeof(m->setup_req) + cprim.cdpn.len + cprim.opt.len : 0;		c = (unsigned char *) (&m->setup_req + 1);		bcopy(cprim.cdpn.buf, c, cprim.cdpn.len);		c += cprim.cdpn.len;		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		bcopy(&cprim.addr.add, c, cprim.addr.len);		c += cprim.addr.len;		ctrl.len = sizeof(m->setup_req) + cprim.cdpn.len + cprim.opt.len + cprim.addr.len;		data.len = 0;		goto signal_msg;	case MORE_INFO_REQ:		printf		    ("---MORE-INFO------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_MORE_INFO_REQ;		m->more_info_req.cc_call_ref = cprim.call_ref;		m->more_info_req.cc_opt_length = cprim.opt.len;		m->more_info_req.cc_opt_offset = cprim.opt.len ? sizeof(m->more_info_req) : 0;		c = (unsigned char *) (&m->more_info_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->more_info_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case INFORMATION_REQ:		printf		    ("---INFORMATION----->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_INFORMATION_REQ;		m->information_req.cc_user_ref = cprim.user_ref;		m->information_req.cc_subn_length = cprim.subn.len;		m->information_req.cc_subn_offset = cprim.subn.len ? sizeof(m->information_req) : 0;		m->information_req.cc_opt_length = cprim.opt.len;		m->information_req.cc_opt_offset =		    cprim.opt.len ? sizeof(m->information_req) + cprim.subn.len : 0;		c = (unsigned char *) (&m->information_req + 1);		bcopy(cprim.subn.buf, c, cprim.subn.len);		c += cprim.subn.len;		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->information_req) + cprim.subn.len + cprim.opt.len;		data.len = 0;		goto signal_msg;	case CONT_CHECK_REQ:		printf		    ("---CONT CHECK------>|  |                               |                    (%d)\n",		     state);		FFLUSH(stdout);		m->cc_primitive = CC_CONT_CHECK_REQ;		m->cont_check_req.cc_addr_length = cprim.addr.len;		m->cont_check_req.cc_addr_offset = sizeof(m->cont_check_req);		c = (unsigned char *) (&m->cont_check_req + 1);		bcopy(&cprim.addr.add, c, cprim.addr.len);		ctrl.len = sizeof(m->cont_check_req) + cprim.addr.len;		data.len = 0;		goto signal_msg;	case CONT_TEST_REQ:		printf		    ("---CONT-TEST------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_CONT_TEST_REQ;		m->cont_test_req.cc_token_value = cprim.token_value;		m->cont_test_req.cc_call_ref = cprim.call_ref;		ctrl.len = sizeof(m->cont_test_req);		data.len = 0;		goto signal_msg;	case CONT_REPORT_REQ:		printf		    ("---CONT REPORT----->|  |                               |                    (%d)\n",		     state);		if (verbose) {			printf			    ("user ref = %-4ld     |  |                               |                    \n",			     cprim.user_ref);			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		}		FFLUSH(stdout);		m->cc_primitive = CC_CONT_REPORT_REQ;		m->cont_report_req.cc_user_ref = cprim.user_ref;		m->cont_report_req.cc_call_ref = cprim.call_ref;		m->cont_report_req.cc_result = cprim.result;		ctrl.len = sizeof(m->cont_report_req);		data.len = 0;		goto signal_msg;	case SETUP_RES:		printf		    ("---SETUP OK-------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_SETUP_RES;		m->setup_res.cc_call_ref = cprim.call_ref;		m->setup_res.cc_token_value = cprim.token_value;		ctrl.len = sizeof(m->setup_res);		data.len = 0;		goto signal_msg;	case PROCEEDING_REQ:		printf		    ("---PROCEEDING------>|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_PROCEEDING_REQ;		m->proceeding_req.cc_call_ref = cprim.call_ref;		m->proceeding_req.cc_flags = cprim.flags;;		m->proceeding_req.cc_opt_length = cprim.opt.len;		m->proceeding_req.cc_opt_offset = cprim.opt.len ? sizeof(m->proceeding_req) : 0;		c = (unsigned char *) (&m->proceeding_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->proceeding_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case ALERTING_REQ:		printf		    ("---ALERTING-------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_ALERTING_REQ;		m->alerting_req.cc_call_ref = cprim.call_ref;		m->alerting_req.cc_flags = cprim.flags;;		m->alerting_req.cc_opt_length = cprim.opt.len;		m->alerting_req.cc_opt_offset = cprim.opt.len ? sizeof(m->alerting_req) : 0;		c = (unsigned char *) (&m->alerting_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->alerting_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case PROGRESS_REQ:		printf		    ("---PROGRESS-------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_PROGRESS_REQ;		m->progress_req.cc_call_ref = cprim.call_ref;		m->progress_req.cc_event = cprim.event;;		m->progress_req.cc_flags = cprim.flags;;		m->progress_req.cc_opt_length = cprim.opt.len;		m->progress_req.cc_opt_offset = cprim.opt.len ? sizeof(m->progress_req) : 0;		c = (unsigned char *) (&m->progress_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->progress_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case IBI_REQ:		printf		    ("---IBI------------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_IBI_REQ;		m->ibi_req.cc_call_ref = cprim.call_ref;		m->ibi_req.cc_flags = cprim.flags;		m->ibi_req.cc_opt_length = cprim.opt.len;		m->ibi_req.cc_opt_offset = cprim.opt.len ? sizeof(m->ibi_req) : 0;		c = (unsigned char *) (&m->ibi_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->ibi_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case CONNECT_REQ:		printf		    ("---CONNECT--------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_CONNECT_REQ;		m->connect_req.cc_call_ref = cprim.call_ref;		m->connect_req.cc_flags = cprim.flags;;		m->connect_req.cc_opt_length = cprim.opt.len;		m->connect_req.cc_opt_offset = cprim.opt.len ? sizeof(m->connect_req) : 0;		c = (unsigned char *) (&m->connect_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->connect_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case SETUP_COMPLETE_REQ:		printf		    ("---SETUP-COMPLETE-->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_SETUP_COMPLETE_REQ;		m->setup_complete_req.cc_call_ref = cprim.call_ref;		m->setup_complete_req.cc_opt_length = cprim.opt.len;		m->setup_complete_req.cc_opt_offset =		    cprim.opt.len ? sizeof(m->setup_complete_req) : 0;		c = (unsigned char *) (&m->setup_complete_req + 1);		bcopy(cprim.opt.buf, c, cprim.opt.len);		c += cprim.opt.len;		ctrl.len = sizeof(m->setup_complete_req) + cprim.opt.len;		data.len = 0;		goto signal_msg;	case FORWXFER_REQ:		printf		    ("---FORWXFER-------->|  |                               |                    (%d)\n",		     state);		if (verbose)			printf			    ("call ref = %-4ld     |  |                               |                    \n",			     cprim.call_ref);		FFLUSH(stdout);		m->cc_primitive = CC_FORWXFER_REQ;		m->forwxfer_req.cc_call_ref = cprim.call_ref;		m->forwxfer_req.cc_opt_length = cprim.opt.len;		m->forwxfer_req.cc_opt_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -