#define MAIL_HEADER_FROM_SIZE 50 #define MAIL_HEADER_TO_SIZE 50 #define MAIL_HEADER_CC_SIZE 50 #define MAIL_HEADER_SUBJECT_SIZE 50 #define MAIL_BODY_SIZE 20 #define MAIL_LINE_SIZE 80 #define MAIL_HEADER_MSG_ID_SIZE 50 #define MAIL_HEADER_RETURN_PATH_SIZE 50 #define MAIL_HEADER_DATE_SIZE 50 typedef struct { char start[MAIL_HEADER_FROM_SIZE]; char from[MAIL_HEADER_FROM_SIZE]; char to[MAIL_HEADER_TO_SIZE]; char cc[MAIL_HEADER_CC_SIZE]; char subject[MAIL_HEADER_SUBJECT_SIZE]; char msg_id[MAIL_HEADER_MSG_ID_SIZE]; char return_path[MAIL_HEADER_RETURN_PATH_SIZE]; char date[MAIL_HEADER_DATE_SIZE]; } mail_header; typedef char mail_line[MAIL_LINE_SIZE]; typedef struct { mail_header header; int line_counter; mail_line body[MAIL_BODY_SIZE]; } mail_message; typedef struct { int msg_type; int data_length; } mail_msg_header; /* Mail messages type. */ #define MAIL_INCOMING_MAIL 1 #define MAIL_QUIT_REQUEST 2 #define MAIL_AGENT_MESSAGE 3 #define MAIL_DISPLAY_MAIL 4 #define MAIL_DELIVER_MAIL 5 #define MAIL_HOLD_MAIL 6 /* Status definitions */ #define LOOK_FOR_FROM_LINE 1 #define MAIL_BODY 2 #define MAIL_HEADER_INFO 3 #define MAIL_TO_LONG 4 /* Agent to agent communication title */ #define AGENT_TO_AGENT "UPS_AGENT_FEDEX"