#ifndef SHARED_ROSTER_XML_PARSER_H #define SHARED_ROSTER_XML_PARSER_H typedef enum {STANDALONE, CENTRAL, TEMPLATE} COURSE_TYPE; typedef struct xml_course_info { char course_code[MAX_COURSE_NO +1]; char title[MAX_COURSE_TITLE +1]; char semester[MAX_SEMESTER +1]; char subdir[MAX_COURSE_SUBDIR + 1]; char dir_id[MAX_COURSE_ID +1]; char instructor_title[MAX_INSTRUCTOR +1]; char real_dir_id[MAX_COURSE_ID +1]; COURSE_TYPE course_type; P_NODE *user_head; P_NODE *user_current; struct xml_course_info *next; }XML_COURSE_INFO; typedef struct xml_course_info_list { XML_COURSE_INFO *head; XML_COURSE_INFO *current; }XML_COURSE_INFO_LIST; void free_xml_data_list( XML_COURSE_INFO_LIST *list); void *xml_course_data_parser(char *buf); void write_roster_xml_data(FILE *fp, XML_COURSE_INFO_LIST *list); #endif