// Jack Sangdahl // CSCI3753 SP24 // PA6 Threaded Resolver #include "array.h" #pragma once #define MAX_INPUT_FILES 100 #define MAX_REQUESTER_THREADS 10 #define MAX_RESOLVER_THREADS 10 #define MAX_NAME_LENGTH 17 #define MAX_IP_LENGTH INET6_ADDRSTRLEN struct requester_data { char *req_log; char **input_filenames; array *stack; int *file_idx; int total_files; int res_thread_cnt; pthread_mutex_t file_idx_lock; pthread_mutex_t req_log_lock; }; struct resolver_data { char *res_log; array *stack; int res_thread_cnt; pthread_mutex_t term_lock; pthread_mutex_t res_log_lock; }; void *requester(void *a); void *resolver(void *a); double get_time_sec(void);