1: /* 2: * File layouts for notesfiles: 3: * 4: * There are four files: 5: * 6: * text 7: * Contains a free pointer and all main note texts. A debug 8: * aid is the note number, response number, and length assoc'd 9: * with each "page" stored. 10: * 11: * resp.indx 12: * Contains blocks of response pointers. 13: * 14: * note.indx 15: * Contains a) description of notesfile in general 16: * b) all the note "headers" with titles and dates 17: * and what not. 18: * 19: * access 20: * Contains the permission tables for the notefile 21: * 22: * General layout: 23: * 24: * text: daddr_f (free pointer) 25: * 26: * txthead_f 27: * char text[]; <-- length determined by txthead_f 28: * 29: * txthead_f; 30: * char text[]; 31: * 32: * resp.indx: int (free pointer to next empty slot -- init 0) 33: * resp_f 34: * resp_f 35: * ... resp_f * <--- these are pointed to by indexes in the 36: * note.indx file below. Each is 37: * autonomous, though they might 38: * link to each other for more than 39: * 25 responses to a note. 40: * 41: * 42: * note.indx: descr_f (describes whole notesfile plus has some 43: * ongoing pointers and dates) 44: * note_f 45: * note_f 46: * ... note_f * <---- these are indexed by note number. They 47: * reference the resp_f's above by "response 48: * number" which must be *'d by sizeof resp_f. 49: * 50: * access : 51: * perm_f 52: * perm_f <--- contains NPERMS copies of this structure. 53: * Each one gives a user, group or system. They 54: * are sorted in order of precedence, so the first 55: * one encountered is the correct one to give to 56: * the user. There should not be MORE then NPERMS 57: * entries in the table! 58: * 59: */