int v850j_78k0_set_dtr_rts_bits(struct UART78K0 *uart, uint8_t bits) { struct USB78K0RequestSetDTRRTS req; req.bRequest = USB_78K0_REQUEST_SET_DTR_RTS; req.bParams = bits; dump_request((uint8_t *)&req, sizeof(req)); return libusb_control_transfer(uart->handle, 0x40, 0x00, 0, 0, (unsigned char *)&req, sizeof(req), TIMEOUT_MS); }
int v850j_78k0_open_close(struct UART78K0 *uart, bool open) { struct USB78K0RequestOpenClose req; req.bRequest = USB_78K0_REQUEST_OPEN_CLOSE; req.bOpen = open ? USB_78K0_OPEN_CLOSE_OPENED : USB_78K0_OPEN_CLOSE_CLOSED; dump_request((uint8_t *)&req, sizeof(req)); return libusb_control_transfer(uart->handle, 0x40, 0x00, 0, 0, (unsigned char *)&req, sizeof(req), TIMEOUT_MS); }
int v850j_78k0_set_xon_xoff_chr(struct UART78K0 *uart, char xon, char xoff) { struct USB78K0RequestSetXonXoffChr req; req.bRequest = USB_78K0_REQUEST_SET_XON_XOFF_CHR; req.XonChr = xon; req.XoffChr = xoff; dump_request((uint8_t *)&req, sizeof(req)); return libusb_control_transfer(uart->handle, 0x40, 0x00, 0, 0, (unsigned char *)&req, sizeof(req), TIMEOUT_MS); }
int v850j_78k0_set_err_chr(struct UART78K0 *uart, bool open, char err) { struct USB78K0RequestSetErrChr req; req.bRequest = USB_78K0_REQUEST_SET_ERR_CHR; req.bOpen = open ? USB_78K0_SET_ERR_CHR_ENABLED : USB_78K0_SET_ERR_CHR_DISABLED; req.ErrChr = err; dump_request((uint8_t *)&req, sizeof(req)); return libusb_control_transfer(uart->handle, 0x40, 0x00, 0, 0, (unsigned char *)&req, sizeof(req), TIMEOUT_MS); }
void linux_unicast_router::do_dump(int id) { rt_dumping = true; dump_request(id); while (process_message() > 0); rt_dumping = false; }
int v850j_78k0_line_control(struct UART78K0 *uart, uint32_t baud_rate, uint8_t params) { struct USB78K0RequestLineControl req; req.bRequest = USB_78K0_REQUEST_LINE_CONTROL; req.bBaud = cpu_to_le32(baud_rate); req.bParams = params; dump_request((uint8_t *)&req, sizeof(req)); return libusb_control_transfer(uart->handle, 0x40, 0x00, 0, 0, (unsigned char *)&req, sizeof(req), TIMEOUT_MS); }
static void dump_requests(struct seq_file *s, struct ceph_osd *osd) { struct rb_node *n; mutex_lock(&osd->lock); for (n = rb_first(&osd->o_requests); n; n = rb_next(n)) { struct ceph_osd_request *req = rb_entry(n, struct ceph_osd_request, r_node); dump_request(s, req); } mutex_unlock(&osd->lock); }
void kssl_write(SSL *ssl, kssl_header *k, kssl_operation *r) { BYTE *req; int req_len, n; flatten_operation(k, r, &req, &req_len); dump_header(k, "send"); dump_request(r); n = SSL_write(ssl, req, req_len); if (n != req_len) { fatal_error("Failed to send KSSL header"); } free(req); }
// dump_payload: print out the payload from a KSSL operation in hex void dump_payload(int l, BYTE *p) { kssl_operation request; if (!debug) return; if (l > 0) { int i; printf(" Payload Raw: "); for (i = 0; i < l; ++i) { if ((i != 0) && (i%16 == 0)) { printf("\n "); } printf("%02x ", p[i]); } printf("\n"); } parse_message_payload(p, l, &request); dump_request(&request); }
void process_requests() { float temp_rate; if (debug) open_debug_file(); while (1) { recv_request(); switch (netperf_request.content.request_type) { case DEBUG_ON: netperf_response.content.response_type = DEBUG_OK; /* dump_request already present in recv_request; redundant? */ if (!debug) { debug++; open_debug_file(); dump_request(); } send_response(); break; case DEBUG_OFF: if (debug) debug--; netperf_response.content.response_type = DEBUG_OK; send_response(); /* +SAF why??? */ if (!debug) { fclose(where); #if !defined(WIN32) && !defined(MPE) && !defined(__VMS) /* For Unix: reopen the debug write file descriptor to "/dev/null" */ /* and redirect stdout to it. */ fflush (stdout); where = fopen ("/dev/null", "w"); if (where == NULL) { perror ("netserver: reopening debug fp for writing: /dev/null"); exit (1); } if (close (STDOUT_FILENO) == -1) { perror ("netserver: closing stdout file descriptor"); exit (1); } if (dup (fileno (where)) == -1) { perror ("netserver: duplicate /dev/null write file descr. to stdout"); exit (1); } #endif /* !WIN32 !MPE !__VMS */ } break; case CPU_CALIBRATE: netperf_response.content.response_type = CPU_CALIBRATE; temp_rate = calibrate_local_cpu(0.0); bcopy((char *)&temp_rate, (char *)netperf_response.content.test_specific_data, sizeof(temp_rate)); bcopy((char *)&lib_num_loc_cpus, (char *)netperf_response.content.test_specific_data + sizeof(temp_rate), sizeof(lib_num_loc_cpus)); if (debug) { fprintf(where,"netserver: sending CPU information:"); fprintf(where,"rate is %g num cpu %d\n",temp_rate,lib_num_loc_cpus); fflush(where); } /* we need the cpu_start, cpu_stop in the looper case to kill the */ /* child proceses raj 7/95 */ #ifdef USE_LOOPER cpu_start(1); cpu_stop(1,&temp_rate); #endif /* USE_LOOPER */ send_response(); break; case DO_TCP_STREAM: recv_tcp_stream(); break; case DO_TCP_MAERTS: recv_tcp_maerts(); break; case DO_TCP_RR: recv_tcp_rr(); break; case DO_TCP_CRR: recv_tcp_conn_rr(); break; case DO_TCP_CC: recv_tcp_cc(); break; #ifdef DO_1644 case DO_TCP_TRR: recv_tcp_tran_rr(); break; #endif /* DO_1644 */ #ifdef DO_NBRR case DO_TCP_NBRR: recv_tcp_nbrr(); break; #endif /* DO_NBRR */ case DO_UDP_STREAM: recv_udp_stream(); break; case DO_UDP_RR: recv_udp_rr(); break; #ifdef WANT_DLPI case DO_DLPI_CO_RR: recv_dlpi_co_rr(); break; case DO_DLPI_CL_RR: recv_dlpi_cl_rr(); break; case DO_DLPI_CO_STREAM: recv_dlpi_co_stream(); break; case DO_DLPI_CL_STREAM: recv_dlpi_cl_stream(); break; #endif /* WANT_DLPI */ #ifdef WANT_UNIX case DO_STREAM_STREAM: recv_stream_stream(); break; case DO_STREAM_RR: recv_stream_rr(); break; case DO_DG_STREAM: recv_dg_stream(); break; case DO_DG_RR: recv_dg_rr(); break; #endif /* WANT_UNIX */ #ifdef WANT_XTI case DO_XTI_TCP_STREAM: recv_xti_tcp_stream(); break; case DO_XTI_TCP_RR: recv_xti_tcp_rr(); break; case DO_XTI_UDP_STREAM: recv_xti_udp_stream(); break; case DO_XTI_UDP_RR: recv_xti_udp_rr(); break; #endif /* WANT_XTI */ #ifdef WANT_SCTP case DO_SCTP_STREAM: recv_sctp_stream(); break; case DO_SCTP_STREAM_MANY: recv_sctp_stream_1toMany(); break; case DO_SCTP_RR: recv_sctp_rr(); break; case DO_SCTP_RR_MANY: recv_sctp_rr_1toMany(); break; #endif #ifdef WANT_SDP case DO_SDP_STREAM: recv_sdp_stream(); break; case DO_SDP_MAERTS: recv_sdp_maerts(); break; case DO_SDP_RR: recv_sdp_rr(); break; #endif default: fprintf(where,"unknown test number %d\n", netperf_request.content.request_type); fflush(where); netperf_response.content.serv_errno=998; send_response(); break; } } }
int main(int argc, char **argv) { struct usb_device *usb_dev; struct usb_dev_handle *usb_handle; usb_dev = device_init(); if (usb_dev == NULL) { fprintf(stderr, "Device not found\n"); return -ENODEV; } usb_handle = usb_open(usb_dev); if (usb_handle == NULL) { fprintf(stderr, "Unable to open the USB device: %s\n", strerror(errno)); return errno; } char request[64]; char result[64]; int status; size_t request_len, result_len; #if 1 // set I/O mask result_len = sizeof result; request_len = 20; memcpy(request, "\x00\x14\x01\x12\x02\x10\x00\x00\x00\x05\xff\x00\x00\x00\x05\x00\x00\x00\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); // read port 0 result_len = sizeof result; request_len = 12; memcpy(request, "\x00\x0C\x01\x0E\x02\x10\x00\x00\x00\x03\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); // write port 0 result_len = sizeof result; request_len = 16; memcpy(request, "\x00\x10\x01\x0F\x02\x10\x00\x00\x00\x03\x00\x00\x03\xff\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); // read port 0 result_len = sizeof result; request_len = 12; memcpy(request, "\x00\x0C\x01\x0E\x02\x10\x00\x00\x00\x03\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); #endif #if 0 // reset counter result_len = sizeof result; request_len = 12; memcpy(request, "\x00\x0C\x01\x0F\x02\x20\x00\x00\x00\x00\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); // start counter result_len = sizeof result; request_len = 8; memcpy(request, "\x00\x08\x01\x09\x02\x20\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); // stop counter result_len = sizeof result; request_len = 8; memcpy(request, "\x00\x08\x01\x0C\x02\x20\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); // read counter result_len = sizeof result; request_len = 8; memcpy(request, "\x00\x08\x01\x0E\x02\x20\x00\x00", request_len); status = send_request(usb_handle, request_len, request, &result_len, result); dump_request(status, request_len, request, result_len, result); #endif return 0; }
/* * PIP process function called by the PEP client before submitting to PEPd in pep_authorize(...) */ static int pip_process(xacml_request_t ** request) { debug("pip_process(request) called..."); info("PIP dump request:"); return dump_request(request); }
// kssl: send a KSSL message to the server and read the response kssl_header *kssl(SSL *ssl, kssl_header *k, kssl_operation *r) { BYTE buf[KSSL_HEADER_SIZE]; BYTE *req; int req_len; int n; kssl_header h; kssl_header *to_return; flatten_operation(k, r, &req, &req_len); dump_header(k, "send"); dump_request(r); n = SSL_write(ssl, req, req_len); if (n != req_len) { fatal_error("Failed to send KSSL header"); } free(req); while (1) { n = SSL_read(ssl, buf, KSSL_HEADER_SIZE); if (n <= 0) { int x = SSL_get_error(ssl, n); if (x == SSL_ERROR_WANT_READ || x == SSL_ERROR_WANT_WRITE) { continue; } else if (x == SSL_ERROR_ZERO_RETURN) { fatal_error("Connection closed while reading header\n"); } else { fatal_error("Error performing SSL_read: %x\n", x); } } else { if (n != KSSL_HEADER_SIZE) { fatal_error("Error receiving KSSL header, size: %d", n); } } break; } parse_header(buf, &h); if (h.version_maj != KSSL_VERSION_MAJ) { fatal_error("Version mismatch %d != %d", h.version_maj, KSSL_VERSION_MAJ); } if (k->id != h.id) { fatal_error("ID mismatch %08x != %08x", k->id, h.id); } dump_header(&h, "recv"); to_return = (kssl_header *)malloc(sizeof(kssl_header)); memcpy(to_return, &h, sizeof(kssl_header)); if (h.length > 0) { BYTE *payload = (BYTE *)malloc(h.length); while (1) { n = SSL_read(ssl, payload, h.length); if (n <= 0) { int x = SSL_get_error(ssl, n); if (x == SSL_ERROR_WANT_READ || x == SSL_ERROR_WANT_WRITE) { continue; } else if (x == SSL_ERROR_ZERO_RETURN) { fatal_error("Connection closed while reading payload\n"); } else { fatal_error("Error performing SSL_read: %x\n", x); } } else { if (n != h.length) { fatal_error("Error receiving KSSL payload, size: %d", n); } } break; } if (n != h.length) { fatal_error("Failed to read payload got length %d wanted %d", n, h.length); } dump_payload(h.length, payload); to_return->data = payload; } return to_return; }
void process_requests() { float temp_rate; while (1) { if (recv_request() == 0) return; if (debug) dump_request(); switch (netperf_request.content.request_type) { case DEBUG_ON: netperf_response.content.response_type = DEBUG_OK; if (!debug) debug++; dump_request(); send_response(); break; case DEBUG_OFF: if (debug) debug--; netperf_response.content.response_type = DEBUG_OK; fclose(where); send_response(); break; case CPU_CALIBRATE: netperf_response.content.response_type = CPU_CALIBRATE; temp_rate = calibrate_local_cpu(0.0); bcopy((char *)&temp_rate, (char *)netperf_response.content.test_specific_data, sizeof(temp_rate)); if (debug) { fprintf(where,"netserver: sending CPU information:"); fprintf(where,"rate is %g\n",temp_rate); fflush(where); } /* we need the cpu_start, cpu_stop in the looper case to kill the */ /* child proceses raj 7/95 */ cpu_start(1); cpu_stop(1,&temp_rate); send_response(); break; case DO_TCP_STREAM: recv_tcp_stream(); break; case DO_TCP_RR: recv_tcp_rr(); break; case DO_TCP_CRR: recv_tcp_conn_rr(); break; case DO_TCP_CC: recv_tcp_cc(); break; #ifdef DO_1644 case DO_TCP_TRR: recv_tcp_tran_rr(); break; #endif /* DO_1644 */ #ifdef DO_NBRR case DO_TCP_NBRR: recv_tcp_nbrr(); break; #endif /* DO_NBRR */ case DO_UDP_STREAM: recv_udp_stream(); break; case DO_UDP_RR: recv_udp_rr(); break; #ifdef DO_DLPI case DO_DLPI_CO_RR: recv_dlpi_co_rr(); break; case DO_DLPI_CL_RR: recv_dlpi_cl_rr(); break; case DO_DLPI_CO_STREAM: recv_dlpi_co_stream(); break; case DO_DLPI_CL_STREAM: recv_dlpi_cl_stream(); break; #endif /* DO_DLPI */ #ifdef DO_UNIX case DO_STREAM_STREAM: recv_stream_stream(); break; case DO_STREAM_RR: recv_stream_rr(); break; case DO_DG_STREAM: recv_dg_stream(); break; case DO_DG_RR: recv_dg_rr(); break; #endif /* DO_UNIX */ #ifdef DO_FORE case DO_FORE_STREAM: recv_fore_stream(); break; case DO_FORE_RR: recv_fore_rr(); break; #endif /* DO_FORE */ #ifdef DO_HIPPI case DO_HIPPI_STREAM: recv_hippi_stream(); break; case DO_HIPPI_RR: recv_hippi_rr(); break; #endif /* DO_HIPPI */ #ifdef DO_XTI case DO_XTI_TCP_STREAM: recv_xti_tcp_stream(); break; case DO_XTI_TCP_RR: recv_xti_tcp_rr(); break; case DO_XTI_UDP_STREAM: recv_xti_udp_stream(); break; case DO_XTI_UDP_RR: recv_xti_udp_rr(); break; #endif /* DO_XTI */ #ifdef DO_LWP case DO_LWPSTR_STREAM: recv_lwpstr_stream(); break; case DO_LWPSTR_RR: recv_lwpstr_rr(); break; case DO_LWPDG_STREAM: recv_lwpdg_stream(); break; case DO_LWPDG_RR: recv_lwpdg_rr(); break; #endif /* DO_LWP */ #ifdef DO_IPV6 case DO_TCPIPV6_STREAM: recv_tcpipv6_stream(); break; case DO_TCPIPV6_RR: recv_tcpipv6_rr(); break; case DO_TCPIPV6_CRR: recv_tcpipv6_conn_rr(); break; case DO_UDPIPV6_STREAM: recv_udpipv6_stream(); break; case DO_UDPIPV6_RR: recv_udpipv6_rr(); break; #endif /* DO_IPV6 */ default: fprintf(where,"unknown test number %d\n", netperf_request.content.request_type); fflush(where); netperf_response.content.serv_errno=998; send_response(); break; } } }
void process_requests() { float temp_rate; while (1) { recv_request(); switch (netperf_request.content.request_type) { case DEBUG_ON: netperf_response.content.response_type = DEBUG_OK; /* dump_request already present in recv_request; redundant? */ if (!debug) { debug++; dump_request(); } send_response(); break; case DEBUG_OFF: if (debug) debug--; netperf_response.content.response_type = DEBUG_OK; send_response(); /* +SAF why??? */ if (!debug) fclose(where); break; case CPU_CALIBRATE: netperf_response.content.response_type = CPU_CALIBRATE; temp_rate = calibrate_local_cpu(0.0); bcopy((char *)&temp_rate, (char *)netperf_response.content.test_specific_data, sizeof(temp_rate)); if (debug) { fprintf(where,"netserver: sending CPU information:"); fprintf(where,"rate is %g\n",temp_rate); fflush(where); } /* we need the cpu_start, cpu_stop in the looper case to kill the */ /* child proceses raj 7/95 */ #ifdef USE_LOOPER cpu_start(1); cpu_stop(1,&temp_rate); #endif /* USE_LOOPER */ send_response(); break; case DO_TCP_STREAM: recv_tcp_stream(); break; case DO_TCP_MAERTS: recv_tcp_maerts(); break; case DO_TCP_RR: recv_tcp_rr(); break; case DO_TCP_CRR: recv_tcp_conn_rr(); break; case DO_TCP_CC: recv_tcp_cc(); break; #ifdef DO_1644 case DO_TCP_TRR: recv_tcp_tran_rr(); break; #endif /* DO_1644 */ #ifdef DO_NBRR case DO_TCP_NBRR: recv_tcp_nbrr(); break; #endif /* DO_NBRR */ case DO_UDP_STREAM: recv_udp_stream(); break; case DO_UDP_RR: recv_udp_rr(); break; #ifdef WANT_DLPI case DO_DLPI_CO_RR: recv_dlpi_co_rr(); break; case DO_DLPI_CL_RR: recv_dlpi_cl_rr(); break; case DO_DLPI_CO_STREAM: recv_dlpi_co_stream(); break; case DO_DLPI_CL_STREAM: recv_dlpi_cl_stream(); break; #endif /* WANT_DLPI */ #ifdef WANT_UNIX case DO_STREAM_STREAM: recv_stream_stream(); break; case DO_STREAM_RR: recv_stream_rr(); break; case DO_DG_STREAM: recv_dg_stream(); break; case DO_DG_RR: recv_dg_rr(); break; #endif /* WANT_UNIX */ #ifdef WANT_XTI case DO_XTI_TCP_STREAM: recv_xti_tcp_stream(); break; case DO_XTI_TCP_RR: recv_xti_tcp_rr(); break; case DO_XTI_UDP_STREAM: recv_xti_udp_stream(); break; case DO_XTI_UDP_RR: recv_xti_udp_rr(); break; #endif /* WANT_XTI */ #ifdef DO_DNS case DO_DNS_RR: recv_dns_rr(); break; #endif /* DO_DNS */ #ifdef WANT_SCTP case DO_SCTP_STREAM: recv_sctp_stream(); break; case DO_SCTP_STREAM_MANY: recv_sctp_stream_1toMany(); break; case DO_SCTP_RR: recv_sctp_rr(); break; case DO_SCTP_RR_MANY: recv_sctp_rr_1toMany(); break; #endif default: fprintf(where,"unknown test number %d\n", netperf_request.content.request_type); fflush(where); netperf_response.content.serv_errno=998; send_response(); break; } } }
void process_requests() { float temp_rate; if (debug) { fprintf(where, "%s: enter\n", __FUNCTION__); fflush(where); } /* if the netserver was started with a passphrase, look for it in the first request to arrive. if there is no passphrase in the first request we will end-up dumping the control connection. raj 2012-01-23 */ if ((passphrase != NULL) && (recv_passphrase())) return; while (1) { if (recv_request() <= 0) { close(server_sock); return; } switch (netperf_request.content.request_type) { case DEBUG_ON: netperf_response.content.response_type = DEBUG_OK; if (!suppress_debug) { debug++; if (debug == 1) { /* we just flipped-on debugging, dump the request because recv_request/recv_request_n will not have dumped it as its dump_request() call is conditional on debug being set. raj 2011-07-08 */ dump_request(); } } send_response(); break; case DEBUG_OFF: if (debug) debug--; netperf_response.content.response_type = DEBUG_OK; send_response(); /* we used to take the trouble to close the debug file, but SAF asked a good question when he asked "Why?" and since I cannot think of a good reason, I have removed the code. raj 2011-07-08 */ break; case DO_SYSINFO: { netperf_response.content.response_type = SYSINFO_RESPONSE; snprintf((char *)netperf_response.content.test_specific_data, sizeof(netperf_response.content.test_specific_data), "%c%s%c%s%c%s%c%s", ',', "Deprecated", ',' , "Deprecated", ',', "Deprecated", ',', "Deprecated"); send_response_n(0); break; } case CPU_CALIBRATE: netperf_response.content.response_type = CPU_CALIBRATE; temp_rate = calibrate_local_cpu(0.0); bcopy((char *)&temp_rate, (char *)netperf_response.content.test_specific_data, sizeof(temp_rate)); bcopy((char *)&lib_num_loc_cpus, (char *)netperf_response.content.test_specific_data + sizeof(temp_rate), sizeof(lib_num_loc_cpus)); if (debug) { fprintf(where, "netserver: sending CPU information: rate is %g num cpu %d\n", temp_rate, lib_num_loc_cpus); fflush(where); } /* we need the cpu_start, cpu_stop in the looper case to kill the child proceses raj 7/95 */ #ifdef USE_LOOPER cpu_start(1); cpu_stop(1,&temp_rate); #endif /* USE_LOOPER */ send_response(); break; case DO_TCP_STREAM: recv_tcp_stream(); break; case DO_TCP_MAERTS: recv_tcp_maerts(); break; case DO_TCP_RR: recv_tcp_rr(); break; case DO_TCP_CRR: recv_tcp_conn_rr(); break; case DO_TCP_CC: recv_tcp_cc(); break; #ifdef DO_1644 case DO_TCP_TRR: recv_tcp_tran_rr(); break; #endif /* DO_1644 */ #ifdef DO_NBRR case DO_TCP_NBRR: recv_tcp_nbrr(); break; #endif /* DO_NBRR */ case DO_UDP_STREAM: recv_udp_stream(); break; case DO_UDP_RR: recv_udp_rr(); break; #ifdef WANT_DLPI case DO_DLPI_CO_RR: recv_dlpi_co_rr(); break; case DO_DLPI_CL_RR: recv_dlpi_cl_rr(); break; case DO_DLPI_CO_STREAM: recv_dlpi_co_stream(); break; case DO_DLPI_CL_STREAM: recv_dlpi_cl_stream(); break; #endif /* WANT_DLPI */ #ifdef WANT_UNIX case DO_STREAM_STREAM: recv_stream_stream(); break; case DO_STREAM_RR: recv_stream_rr(); break; case DO_DG_STREAM: recv_dg_stream(); break; case DO_DG_RR: recv_dg_rr(); break; #endif /* WANT_UNIX */ #ifdef WANT_XTI case DO_XTI_TCP_STREAM: recv_xti_tcp_stream(); break; case DO_XTI_TCP_RR: recv_xti_tcp_rr(); break; case DO_XTI_UDP_STREAM: recv_xti_udp_stream(); break; case DO_XTI_UDP_RR: recv_xti_udp_rr(); break; #endif /* WANT_XTI */ #ifdef WANT_SCTP case DO_SCTP_STREAM: recv_sctp_stream(); break; case DO_SCTP_STREAM_MANY: recv_sctp_stream_1toMany(); break; case DO_SCTP_RR: recv_sctp_rr(); break; case DO_SCTP_RR_MANY: recv_sctp_rr_1toMany(); break; #endif #ifdef WANT_SDP case DO_SDP_STREAM: recv_sdp_stream(); break; case DO_SDP_MAERTS: recv_sdp_maerts(); break; case DO_SDP_RR: recv_sdp_rr(); break; #endif #ifdef WANT_OMNI case DO_OMNI: recv_omni(); break; #endif case PASSPHRASE: if (debug) { fprintf(where,"Ignoring an unexpected passphrase control message\n"); fflush(where); } break; default: fprintf(where,"unknown test number %d\n", netperf_request.content.request_type); fflush(where); netperf_response.content.serv_errno=998; send_response(); break; } } }
void process_requests() { float temp_rate; if (debug) { fprintf(where, "%s: enter\n", __FUNCTION__); fflush(where); } while (1) { if (recv_request() == 0) return; switch (netperf_request.content.request_type) { case DEBUG_ON: netperf_response.content.response_type = DEBUG_OK; if (!suppress_debug) { debug++; if (debug == 1) { /* we just flipped-on debugging, dump the request because recv_request/recv_request_n will not have dumped it as its dump_request() call is conditional on debug being set. raj 2011-07-08 */ dump_request(); } } send_response(); break; case DEBUG_OFF: if (debug) debug--; netperf_response.content.response_type = DEBUG_OK; send_response(); /* we used to take the trouble to close the debug file, but SAF asked a good question when he asked "Why?" and since I cannot think of a good reason, I have removed the code. raj 2011-07-08 */ break; case DO_SYSINFO: { char *delims[4]; int i; delims[0] = strdup("|"); delims[1] = strdup(","); delims[2] = strdup("_"); delims[3] = strdup(";"); netperf_response.content.response_type = SYSINFO_RESPONSE; for (i = 0; i < 4; i++) { if ((!strstr(local_sysname,delims[i])) && (!strstr(local_release,delims[i])) && (!strstr(local_machine,delims[i])) && (!strstr(local_version,delims[i]))) { snprintf((char *)netperf_response.content.test_specific_data, sizeof(netperf_response.content.test_specific_data), "%c%s%c%s%c%s%c%s", delims[i][0], local_sysname, delims[i][0], local_release, delims[i][0], local_machine, delims[i][0], local_version); break; } } if (i == 4) { /* none of the delimiters were unique, use the last one of course, the last one is not i but i-1 */ i -= 1; snprintf((char *)netperf_response.content.test_specific_data, sizeof(netperf_response.content.test_specific_data), "%c%s%c%s%c%s%c%s", delims[i][0], "NoDelimUnique", delims[i][0], "NoDelimUnique", delims[i][0], "NoDelimUnique", delims[i][0], "NoDelimUnique"); } send_response_n(0); break; } case CPU_CALIBRATE: netperf_response.content.response_type = CPU_CALIBRATE; temp_rate = calibrate_local_cpu(0.0); bcopy((char *)&temp_rate, (char *)netperf_response.content.test_specific_data, sizeof(temp_rate)); bcopy((char *)&lib_num_loc_cpus, (char *)netperf_response.content.test_specific_data + sizeof(temp_rate), sizeof(lib_num_loc_cpus)); if (debug) { fprintf(where, "netserver: sending CPU information: rate is %g num cpu %d\n", temp_rate, lib_num_loc_cpus); fflush(where); } /* we need the cpu_start, cpu_stop in the looper case to kill the child proceses raj 7/95 */ #ifdef USE_LOOPER cpu_start(1); cpu_stop(1,&temp_rate); #endif /* USE_LOOPER */ send_response(); break; case DO_TCP_STREAM: recv_tcp_stream(); break; case DO_TCP_MAERTS: recv_tcp_maerts(); break; case DO_TCP_RR: recv_tcp_rr(); break; case DO_TCP_CRR: recv_tcp_conn_rr(); break; case DO_TCP_CC: recv_tcp_cc(); break; #ifdef DO_1644 case DO_TCP_TRR: recv_tcp_tran_rr(); break; #endif /* DO_1644 */ #ifdef DO_NBRR case DO_TCP_NBRR: recv_tcp_nbrr(); break; #endif /* DO_NBRR */ case DO_UDP_STREAM: recv_udp_stream(); break; case DO_UDP_RR: recv_udp_rr(); break; #ifdef WANT_DLPI case DO_DLPI_CO_RR: recv_dlpi_co_rr(); break; case DO_DLPI_CL_RR: recv_dlpi_cl_rr(); break; case DO_DLPI_CO_STREAM: recv_dlpi_co_stream(); break; case DO_DLPI_CL_STREAM: recv_dlpi_cl_stream(); break; #endif /* WANT_DLPI */ #ifdef WANT_UNIX case DO_STREAM_STREAM: recv_stream_stream(); break; case DO_STREAM_RR: recv_stream_rr(); break; case DO_DG_STREAM: recv_dg_stream(); break; case DO_DG_RR: recv_dg_rr(); break; #endif /* WANT_UNIX */ #ifdef WANT_XTI case DO_XTI_TCP_STREAM: recv_xti_tcp_stream(); break; case DO_XTI_TCP_RR: recv_xti_tcp_rr(); break; case DO_XTI_UDP_STREAM: recv_xti_udp_stream(); break; case DO_XTI_UDP_RR: recv_xti_udp_rr(); break; #endif /* WANT_XTI */ #ifdef WANT_SCTP case DO_SCTP_STREAM: recv_sctp_stream(); break; case DO_SCTP_STREAM_MANY: recv_sctp_stream_1toMany(); break; case DO_SCTP_RR: recv_sctp_rr(); break; case DO_SCTP_RR_MANY: recv_sctp_rr_1toMany(); break; #endif #ifdef WANT_SDP case DO_SDP_STREAM: recv_sdp_stream(); break; case DO_SDP_MAERTS: recv_sdp_maerts(); break; case DO_SDP_RR: recv_sdp_rr(); break; #endif #ifdef WANT_OMNI case DO_OMNI: recv_omni(); break; #endif default: fprintf(where,"unknown test number %d\n", netperf_request.content.request_type); fflush(where); netperf_response.content.serv_errno=998; send_response(); break; } } }