📄 test-xnet.c
字号:
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 + -