/****************************************************************************
*
*	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)
*	9/06/91 Laurie		Changed arrays to pointers
*	9/1l/91 Laurie		Added MAX_ macros
*	9/12/91 Laurie		Changed course and subject tables.
*	9/17/91 Laurie		Added R_ request (status of registration)
****************************************************************************/
#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                       35

#define C_COURSE_NUM_P(BUF,ROW)         BUF + 0 + ((ROW-1) * C_ROW_LEN)
#define C_COURSE_NUM_LEN                3
#define C_DEPT_NAME_P(BUF,ROW)          BUF + 4 + ((ROW-1) * C_ROW_LEN)
#define C_DEPT_NAME_LEN                 30 

/** S_ROW_LEN should really be 33 and S_TITLE_LEN should really be 24 **/

#define S_ROW_LEN                       72

#define S_SUBJECT_NUM_P(BUF,ROW)        BUF + 0 + ((ROW-1) * S_ROW_LEN)
#define S_SUBJECT_NUM_LEN               7
#define S_TITLE_P(BUF,ROW)              BUF + 8 + ((ROW-1) * S_ROW_LEN)
#define S_TITLE_LEN                     60

#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 R_ROW_LEN                       68

#define R_MIT_ID_P(BUF,ROW)             BUF + 0 + ((ROW-1) * R_ROW_LEN)
#define R_MIT_ID_LEN                    9
#define R_SUBJECT_NUM_P(BUF,ROW)        BUF + 10 + ((ROW-1) * R_ROW_LEN)
#define R_SUBJECT_NUM_LEN               7
#define R_UNITS_P(BUF,ROW)              BUF + 18 + ((ROW-1) * R_ROW_LEN)
#define R_UNITS_LEN                     3
#define R_TITLE_P(BUF,ROW)              BUF + 22 + ((ROW-1) * R_ROW_LEN)
#define R_TITLE_LEN                     24
#define R_AUDIT_CODES_P(BUF,ROW)        BUF + 47 + ((ROW-1) * R_ROW_LEN)
#define R_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,ROW)		BUF + 31 + ((ROW-1) * DN_ROW_LEN)
#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 */
