/*TITLE mailing list include file */ /****keyword-flag*** "%v %f %n" */ /* "7 21-Mar-98,6:56:06 MAIL.H" */ #include #define DATA_FIELD_COUNT 6 #define BATCH_SIZE 100 // the result of multiplying the next two entries // must be greater than or equal to the number of // records to be processed #define ZIP_BLOCK_COUNT 3000 #define ZIP_BLOCK_ENTRIES 1000 #define MAX_ASCII_FIELD_LENGTH 15 #define LAST_NAME_LENGTH 15 #define FIRST_NAME_LENGTH 9 #define ADDRESS1_LENGTH 15 #define ADDRESS2_LENGTH 15 #define CITY_LENGTH 12 #define STATE_LENGTH 2 #define ZIP_LENGTH 9 #define ASCII_DATE_LENGTH 10 #define ASCII_CENTS_LENGTH 10 #define BINARY_DATE_LENGTH 2 #define BINARY_DOLLARS_LENGTH 2 typedef struct { char last_name[LAST_NAME_LENGTH+1]; char first_name[FIRST_NAME_LENGTH+1]; char address1[ADDRESS1_LENGTH+1]; char address2[ADDRESS2_LENGTH+1]; char city[CITY_LENGTH+1]; char state[STATE_LENGTH+1]; } DataRecord; typedef struct { char zip[ZIP_LENGTH+1]; int date_last_here; int dollars_spent; } KeyRecord; typedef struct { int min_spent; int max_spent; int min_date; int max_date; } CustomerSelection; typedef struct { char zip[ZIP_LENGTH+1]; } ZipRecord; void Megasort(unsigned char **PtrArray, unsigned *RecNums, int KeyLength, unsigned ArraySize);