/* sort_2.h -- header file for sort_2.c * New definition of LOCAL_LIST_T and member access macros * Add prototype for Insert_key */ #ifndef SORT_H #define SORT_H #define KEY_MIN 0 #define KEY_MAX 32767 #define KEY_MOD 32768 typedef int KEY_T; typedef struct { int allocated_size; int local_list_size; int keys; /* dummy member */ } LOCAL_LIST_T; /* Assume list is a pointer to a struct of type * LOCAL_LIST_T */ #define List_size(list) ((list)->local_list_size) #define List_allocated_size(list) ((list)->allocated_size) int Get_list_size(void); int Allocate_list(int list_size, LOCAL_LIST_T* local_keys); void Get_local_keys(LOCAL_LIST_T* local_keys); void Insert_key(KEY_T key, int i, LOCAL_LIST_T* local_keys); void Redistribute_keys(LOCAL_LIST_T* local_keys); void Local_sort(LOCAL_LIST_T* local_keys) ; void Print_list(LOCAL_LIST_T* local_keys) ; #endif