7 #include <sys/socket.h> 16 main(
int argc,
char *argv[]) {
18 const char*
names[
NUM_EVENTS] = {
"RECV_CALLS",
"RECV_BYTES",
"RECV_USEC",
"RECV_ERR",
"RECV_INTERRUPTED",
"RECV_WOULD_BLOCK"};
26 fprintf(stderr,
"PAPI_library_init version mismatch\n");
30 if (!
TESTS_QUIET) printf(
"This program will listen on port 3490, and write data received to standard output\n");
36 fprintf(stderr,
"Error getting code for %s\n",
names[e]);
44 int sockfd, n_sockfd, sin_size, len;
45 char *host_addr, *recv_msg;
46 struct sockaddr_in my_addr;
47 struct sockaddr_in their_addr;
48 my_addr.sin_family = AF_INET;
49 my_addr.sin_port = htons(
PORT);
50 my_addr.sin_addr.s_addr = INADDR_ANY;
52 sockfd = socket(AF_INET, SOCK_STREAM, 0);
57 if ((bind(sockfd, (
struct sockaddr *)&my_addr,
sizeof(
struct sockaddr))) == -1) {
62 if ((n_sockfd = accept(sockfd, (
struct sockaddr *)&their_addr, &sin_size)) == -1) {
70 fprintf(stderr,
"Error in PAPI_start_counters\n");
74 while ((bytes = recv(n_sockfd,
buf, 1024, 0)) > 0) {
82 fprintf(stderr,
"Error in PAPI_stop_counters\n");
void test_pass(const char *filename)
static int Events[NUM_EVENTS]
int PAPI_event_name_to_code(const char *in, int *out)
main(int argc, char *argv[])
Return codes and api definitions.
int PAPI_library_init(int version)
ssize_t write(int fd, const void *buf, size_t count)
int PAPI_stop_counters(long long *values, int array_len)
int tests_quiet(int argc, char **argv)
int PAPI_start_counters(int *events, int array_len)
static long long values[NUM_EVENTS]
volatile int buf[CACHE_FLUSH_BUFFER_SIZE_INTS]
const char * names[NUM_EVENTS]