/****************************************************************************
*
*	tables.h
*
*	Change history:
*
*	8/15/91 Laurie		Added a sixth line to audit strip,
*	8/22/91 Laurie		Added DN_ and DA_ requests (dorms)
*	9/04/91 Laurie		Added GL_ requests (global data)
****************************************************************************/
#define ST_ROW_LEN                      774

#define ST_MIT_ID_P(BUF)                &BUF[0]
#define ST_MIT_ID_LEN                   9
#define ST_NAME_P(BUF)                  &BUF[10]
#define ST_NAME_LEN                     60
#define ST_GENDER_P(BUF)                &BUF[71]
#define ST_GENDER_LEN                   1
#define ST_DATE_OF_BIRTH_P(BUF)         &BUF[73]
#define ST_DATE_OF_BIRTH_LEN            6
#define ST_CITIZEN_CODE_P(BUF)          &BUF[80]
#define ST_CITIZEN_CODE_LEN             1
#define ST_FOREIGN_VISA_CODE_P(BUF)     &BUF[82]
#define ST_FOREIGN_VISA_CODE_LEN        1
#define ST_TERM_ADDRESS_LINE1_P(BUF)    &BUF[84]
#define ST_TERM_ADDRESS_LINE1_LEN       30
#define ST_TERM_ADDRESS_LINE2_P(BUF)    &BUF[115]
#define ST_TERM_ADDRESS_LINE2_LEN       30
#define ST_TERM_ZIP_CODE_P(BUF)         &BUF[146]
#define ST_TERM_ZIP_CODE_LEN            5
#define ST_TERM_FRAT_CODE_P(BUF)	&BUF[152]
#define ST_TERM_FRAT_CODE_LEN		3
#define ST_HOME_ADDRESS_LINE1_P(BUF)    &BUF[156]
#define ST_HOME_ADDRESS_LINE1_LEN       30
#define ST_HOME_ADDRESS_LINE2_P(BUF)    &BUF[187]
#define ST_HOME_ADDRESS_LINE2_LEN       30
#define ST_HOME_ZIP_CODE_P(BUF)         &BUF[218]
#define ST_HOME_ZIP_CODE_LEN            5
#define ST_DORM_LINE_P(BUF)             &BUF[224]
#define ST_DORM_LINE_LEN                5
#define ST_HOME_PHONE_P(BUF)            &BUF[230]
#define ST_HOME_PHONE_LEN               10
#define ST_OTHER_PHONE_P(BUF)           &BUF[241]
#define ST_OTHER_PHONE_LEN              10
#define ST_MIT_OFFICE_P(BUF)            &BUF[252]
#define ST_MIT_OFFICE_LEN               10
#define ST_MIT_EXTENSION_P(BUF)         &BUF[263]
#define ST_MIT_EXTENSION_LEN            5
#define ST_STUDENT_COURSE1_P(BUF)       &BUF[269]
#define ST_STUDENT_COURSE1_LEN          3
#define ST_STUDENT_COURSE2_P(BUF)       &BUF[273]
#define ST_STUDENT_COURSE2_LEN          3
#define ST_STUDENT_COURSE3_P(BUF)       &BUF[277]
#define ST_STUDENT_COURSE3_LEN          3
#define ST_NEXT_TERM_COURSE_P(BUF)      &BUF[281]
#define ST_NEXT_TERM_COURSE_LEN         3
#define ST_STUDENT_YEAR1_P(BUF)         &BUF[285]
#define ST_STUDENT_YEAR1_LEN            1
#define ST_STUDENT_YEAR2_P(BUF)         &BUF[287]
#define ST_STUDENT_YEAR2_LEN            1
#define ST_STUDENT_YEAR3_P(BUF)         &BUF[289]
#define ST_STUDENT_YEAR3_LEN            1
#define ST_NEXT_TERM_YEAR_P(BUF)        &BUF[291]
#define ST_NEXT_TERM_YEAR_LEN           1
#define ST_EXP_COMPLETION_DATE_P(BUF)   &BUF[293]
#define ST_EXP_COMPLETION_DATE_LEN      4

#define ST_AUDIT_STRIP_LEN              475 
#define ST_AUDIT_STRIP_P(BUF)           &BUF[0]

#define C_ROW_LEN                       75

#define C_COURSE_NUM_P(BUF)             &BUF[0] 
#define C_COURSE_NUM_LEN                3
#define C_YEAR_P(BUF)                   &BUF[4]
#define C_YEAR_LEN                      4
#define C_TITLE_P(BUF)                  &BUF[9]
#define C_TITLE_LEN                     32
#define C_SCHOOL_P(BUF)                 &BUF[42]
#define C_SCHOOL_LEN                    32

#define S_ROW_LEN                       38

#define S_SUBJECT_NUM_P(BUF)            &BUF[0] 
#define S_SUBJECT_NUM_LEN               7
#define S_YEAR_P(BUF)                   &BUF[8]
#define S_YEAR_LEN                      4
#define S_TITLE_P(BUF)                  &BUF[13]
#define S_TITLE_LEN                     24

#define T_ROW_LEN                       39
#define T_MIT_ID_P(BUF,ROW)             &BUF[0 + ((ROW - 1) * T_ROW_LEN)]
#define T_MIT_ID_LEN                    9
#define T_YEAR_TERM_P(BUF,ROW)          &BUF[10 + ((ROW - 1) * T_ROW_LEN)]
#define T_YEAR_TERM_LEN                 3
#define T_COURSE_NUM_P(BUF,ROW)         &BUF[14 + ((ROW - 1) * T_ROW_LEN)]
#define T_COURSE_NUM_LEN                3
#define T_TOTAL_UNITS_P(BUF,ROW)        &BUF[18 + ((ROW - 1) * T_ROW_LEN)]
#define T_TOTAL_UNITS_LEN               6
#define T_RATINGS_TERM_P(BUF,ROW)       &BUF[25 + ((ROW - 1) * T_ROW_LEN)]
#define T_RATINGS_TERM_LEN              6
#define T_RATINGS_CUM_P(BUF,ROW)        &BUF[32 + ((ROW - 1) * T_ROW_LEN)]
#define T_RATINGS_CUM_LEN               6

#define G_ROW_LEN                       50

#define G_MIT_ID_P(BUF,ROW)             &BUF[0 + ((ROW - 1) * G_ROW_LEN)]
#define G_MIT_ID_LEN                    9
#define G_YEAR_TERM_P(BUF,ROW)          &BUF[10 + ((ROW - 1) * G_ROW_LEN)]
#define G_YEAR_TERM_LEN                 3
#define G_SUBJECT_NUM_P(BUF,ROW)        &BUF[14 + ((ROW - 1) * G_ROW_LEN)]
#define G_SUBJECT_NUM_LEN               7
#define G_UNITS_P(BUF,ROW)              &BUF[22 + ((ROW - 1) * G_ROW_LEN)]
#define G_UNITS_LEN                     3
#define G_GRADE_P(BUF,ROW)              &BUF[26 + ((ROW - 1) * G_ROW_LEN)]
#define G_GRADE_LEN                     2
#define G_AUDIT_CODES_P(BUF,ROW)        &BUF[29 + ((ROW - 1) * G_ROW_LEN)]
#define G_AUDIT_CODES_LEN               20

#define DN_ROW_LEN			33	/* Dorm/Frat names */

#define DN_DORM_NAME_P(BUF,ROW)		&BUF[0 + ((ROW - 1) * DN_ROW_LEN)]
#define DN_DORM_NAME_LEN		30
#define DN_UPDATABLE_P(BUF)		&BUF[31]
#define DN_UPDATABLE_LEN		1

#define DA_ROW_LEN			68	/* Dorm/Frat addresses */

#define DA_ADDRESS1_P(BUF)		&BUF[0]
#define DA_ADDRESS1_LEN			30
#define DA_ADDRESS2_P(BUF)		&BUF[31]
#define DA_ADDRESS2_LEN			30
#define DA_ZIP_P(BUF)			&BUF[62]
#define DA_ZIP_LEN			5

#define GL_ROW_LEN			10

#define GL_CUR_YEAR_TERM_P(BUF)		BUF+0	   /* current year/term */
#define GL_CUR_YEAR_TERM_LEN		3
#define GL_CAT_YEAR_TERM_P(BUF)		BUF+4   /* catalog year/term */
#define GL_CAT_YEAR_TERM_LEN		3
#define GL_REG_AVAIL_P(BUF)		BUF+8   /* is status of reg avail? */
#define GL_REG_AVAIL_LEN		1	  /* value is 0 or 1 */
