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

📄 test-xnet.c

📁 This a separate release of the OpenSS7 X/Open XTI/TLI library, TLI modules (timod, tirdwr) and the I
💻 C
📖 第 1 页 / 共 5 页
字号:
			test_iov[0].iov_base = dbuf;			test_iov[0].iov_len = sprintf(test_iov[0].iov_base, "Writev test datum for vector 0.");			test_iov[1].iov_base = dbuf + test_iov[0].iov_len;			test_iov[1].iov_len = sprintf(test_iov[1].iov_base, "Writev test datum for vector 1.");			test_iov[2].iov_base = dbuf + test_iov[1].iov_len;			test_iov[2].iov_len = sprintf(test_iov[2].iov_base, "Writev test datum for vector 2.");			test_iov[3].iov_base = dbuf + test_iov[2].iov_len;			test_iov[3].iov_len = sprintf(test_iov[3].iov_base, "Writev test datum for vector 3.");			if (writev(top_fd, test_iov, test_iovcount) < 0) {				last_errno = errno;				if (verbose) {					lockf(fileno(stdout), F_LOCK, 0);					fprintf(stdout, "***************ERROR: writev failed\n");					fprintf(stdout, "                    : %s; %s\n", __FUNCTION__, strerror(last_errno));					fflush(stdout);					lockf(fileno(stdout), F_ULOCK, 0);				}				return FAILURE;			}			return SUCCESS;		}		case __TEST_PUTMSG_DATA:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--putmsg(2)-------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl = NULL;			data->len = sprintf(dbuf, "Putmsg test data.");			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_PUTPMSG_DATA:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--putpmsg(2)------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl = NULL;			data->len = sprintf(dbuf, "Putpmsg band test data.");			test_pflags = MSG_BAND;			test_pband = 1;			break;		case __TEST_CONN_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_CONN_REQ------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->conn_req);			data = NULL;			p->conn_req.PRIM_type = T_CONN_REQ;			p->conn_req.DEST_length = 0;			p->conn_req.DEST_offset = 0;			p->conn_req.OPT_length = 0;			p->conn_req.OPT_offset = 0;			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_CONN_RES:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_CONN_RES------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->conn_res);			data = NULL;			p->conn_res.PRIM_type = T_CONN_RES;			p->conn_res.ACCEPTOR_id = 0;			p->conn_res.OPT_length = 0;			p->conn_res.OPT_offset = 0;			p->conn_res.SEQ_number = last_sequence;			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_DISCON_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_DISCON_REQ----->|  |  seq = %02d                     |                    [%d]\n", last_sequence, state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->discon_req);			data = NULL;			p->discon_req.PRIM_type = T_DISCON_REQ;			p->discon_req.SEQ_number = last_sequence;			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_DATA_REQ:			if (verbose && show_data || verbose > 1) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_DATA_REQ------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->data_req);			p->data_req.PRIM_type = T_DATA_REQ;			p->data_req.MORE_flag = MORE_flag;			data->len = sprintf(dbuf, "Normal test message.");			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_EXDATA_REQ:			if (verbose && show_data || verbose > 1) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_EXDATA_REQ----->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->exdata_req);			p->exdata_req.PRIM_type = T_EXDATA_REQ;			p->exdata_req.MORE_flag = MORE_flag;			data->len = sprintf(dbuf, "Expedited test message.");			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_INFO_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_INFO_REQ------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->info_req);			p->info_req.PRIM_type = T_INFO_REQ;			data = NULL;			test_pflags = MSG_HIPRI;			test_pband = 0;			break;		case __TEST_BIND_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_BIND_REQ------->|  |  qlen = %02d                    |                    [%d]\n", last_qlen, state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->bind_req);			p->bind_req.PRIM_type = T_BIND_REQ;			p->bind_req.ADDR_length = 0;			p->bind_req.ADDR_offset = 0;			p->bind_req.CONIND_number = last_qlen;			data = NULL;			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_UNBIND_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_UNBIND_REQ----->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->unbind_req);			p->unbind_req.PRIM_type = T_UNBIND_REQ;			data = NULL;			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_UNITDATA_REQ:			if (verbose && show_data || verbose > 1) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_UNITDATA_REQ--->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->unitdata_req);			p->unitdata_req.PRIM_type = T_UNITDATA_REQ;			p->unitdata_req.DEST_length = 0;			p->unitdata_req.DEST_offset = 0;			p->unitdata_req.OPT_length = 0;			p->unitdata_req.OPT_offset = 0;			data->len = sprintf(dbuf, "Unit test data.");			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_OPTMGMT_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_OPTMGMT_REQ---->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->optmgmt_req);			p->optmgmt_req.PRIM_type = T_OPTMGMT_REQ;			p->optmgmt_req.OPT_length = 0;			p->optmgmt_req.OPT_offset = 0;			p->optmgmt_req.MGMT_flags = T_NEGOTIATE;			data = NULL;			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_ORDREL_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_ORDREL_REQ----->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->ordrel_req);			p->ordrel_req.PRIM_type = T_ORDREL_REQ;			data->len = sprintf(dbuf, "Orderly release data.");			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_OPTDATA_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_OPTDATA_REQ---->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->optdata_req);			p->optdata_req.PRIM_type = T_OPTDATA_REQ;			p->optdata_req.DATA_flag = T_ODF_EX | T_ODF_MORE;			p->optdata_req.OPT_length = 0;			p->optdata_req.OPT_offset = 0;			data->len = sprintf(dbuf, "Option data.");			test_pflags = MSG_BAND;			test_pband = 0;			break;		case __TEST_ADDR_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_ADDR_REQ------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->addr_req);			p->addr_req.PRIM_type = T_ADDR_REQ;			data = NULL;			test_pflags = MSG_HIPRI;			test_pband = 0;			break;		case __TEST_CAPABILITY_REQ:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--T_CAPABILITY_REQ->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			ctrl->len = sizeof(p->capability_req);			p->capability_req.PRIM_type = T_CAPABILITY_REQ;			p->capability_req.CAP_bits1 = TC1_INFO | TC1_ACCEPTOR_ID;			data = NULL;			test_pflags = MSG_HIPRI;			test_pband = 0;			break;		case __TEST_T_ACCEPT:			test_acccall.sequence = last_sequence;			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_accept(3)------>|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_accept(top_fd, top_fd, &test_acccall) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_BIND:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_bind(3)-------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			test_bindreq.qlen = last_qlen;			if (t_bind(top_fd, &test_bindreq, &test_bindret) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_CLOSE:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_close(3)------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_close(top_fd) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_CONNECT:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_connect(3)----->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_connect(top_fd, &test_sndcall, &test_rcvcall) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_GETINFO:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_getinfo(3)----->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_getinfo(top_fd, &test_info) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_GETPROTADDR:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_getprotaddr(3)->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_getprotaddr(fd, &test_addrloc, &test_addrrem) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_GETSTATE:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_getstate(3)---->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if ((last_tstate = t_getstate(fd)) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_LISTEN:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_listen(3)------>|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_listen(fd, &test_liscall) == -1)				goto do_terror;			last_sequence = test_liscall.sequence;			return (SUCCESS);		case __TEST_T_LOOK:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_look(3)-------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if ((last_tevent = t_look(fd)) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_OPTMGMT:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_optmgmt(3)----->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if (t_optmgmt(fd, &test_req, &test_ret) == -1)				goto do_terror;			return (SUCCESS);		case __TEST_T_RCV:			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "--t_rcv(3)--------->|  |                               |                    [%d]\n", state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}			if ((result = t_rcv(fd, test_udata, test_bufsize, &test_rcvflags)) == -1)				goto do_terror;			if (verbose) {				lockf(fileno(stdout), F_LOCK, 0);				fprintf(stdout, "  %4d bytes%c%c      |  |                               |                    [%d]\n", result, test_rcvflags & T_MORE ? '+' : '$', test_rcvflags & T_EXPEDITED ?  '!' : ' ', state);				fflush(stdout);				lockf(fileno(stdout), F_ULOCK, 0);			}

⌨️ 快捷键说明

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