🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: vmsnet.sources
Article #42

MAIL-TO-NOTES, part 02/02

#42
From: Dick Munroe
Date: Fri, 11 Sep 1992 20:25
699 lines
23640 bytes
Submitted-by: munroe@dmc.com (Dick Munroe)
Posting-number: Volume 3, Issue 171
Archive-name: mail_to_vaxnotes/part02

-+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+
X`09`09`09timbuf.dsc$w_length = strlen(argv`5B++i`5D);
X`09`09`09timbuf.dsc$a_pointer = argv`5Bi`5D;
X`09`09`09strtouc(argv`5Bi`5D);
X`09`09`09stat = sys$bintim(&timbuf, beforetime);
X`09`09`09checkstat(stat, "bintim");
X`09`09`09before++;
X`09`09`09break;
X
X`09`09case 'd':`09`09`09/* delete */
X`09`09`09if (strcmp(argv`5Bi`5D, "-delete") != 0) `7B
X`09`09`09`09fprintf(stderr, "unknown parameter: %s\n", argv`5Bi`5D);
X`09`09`09`09exit(-1);
X`09`09`09`7D
X`09`09`09delete++;
X`09`09`09break;
X`09`09
X`09`09case 'm':`09`09`09/* modify */
X`09`09`09modify++;
X`09`09`09break;
X
X`09`09case 'i':`09`09`09/* specify id */
X`09`09`09strcpy(noteid, argv`5B++i`5D);
X`09`09`09sscanf(noteid, "%d.%d", &inote, &inoterep);
X`09`09`09iflag++;
X`09`09`09break;
X
X`09`09case 'r':`09`09`09/* rebuild subjects */
X`09`09`09strcpy(subjects, argv`5B++i`5D);
X`09`09`09buildsub++;
X`09`09`09open_subjects(subjects);
X`09`09`09break;
X`09`09`7D
X`09`7D
X`7D
X
X
X/**`09strtouc - string to upper case.
X*/
Xstrtouc(s)
Xchar *s;
X`7B
X`09while (*s) `7B
X`09`09*s = toupper(*s);
X`09`09s++;
X`09`7D
X`7D
X
X
X/**`09get_crc - get crc of current note and add to user area.
X*/
Xget_crc()
X`7B
X`09int stat, i;
X`09short len;
X`09unsigned char buf`5B1024`5D, test`5B1024`5D;
X`09unsigned char *c;
X`09int sum, nline, nchar;
X`09int header = TRUE;
X
X/*  loop getting all the text lines */
X
X`09sum = nline = nchar = 0;
X
X`09for (;;) `7B
X`09`09i = 0;
X`09`09ilst`5Bi`5D.item = NOTES$K_NOSIGNAL;
X`09`09ilst`5Bi`5D.len = 4;
X`09`09ilst`5Bi`5D.buf = (char*) &one;
X`09`09ilst`5Bi`5D.rla = 0;
X
X`09`09ilst`5B++i`5D.item = NOTES$K_CONTINUE;
X`09`09ilst`5Bi`5D.len = 4;
X`09`09ilst`5Bi`5D.buf = (char*) &one;
X`09`09ilst`5Bi`5D.rla = 0;
X
X`09`09ilst`5B++i`5D.item = 0;
X
X`09`09i = 0;
X`09`09olst`5Bi`5D.item = NOTES$K_TEXT_STRING;
X`09`09olst`5Bi`5D.len = sizeof(buf);
X`09`09olst`5Bi`5D.buf = buf;
X`09`09olst`5Bi`5D.rla = &len;
X
X`09`09olst`5B++i`5D.item = 0;
X
X`09`09stat = notes$note_get_text(&note_context, &ilst, &olst);
X`09`09if (!(stat & 1)) break;
X
X`09`09buf`5Blen`5D = 0;`09`09`09/* terminate string */
X
X`09/* check to see if we're still in the header area */
X
X`09`09if (header) `7B`09`09`09/* if still checking */
X`09`09`09/* check for continuation line */
X`09`09`09if (len && ((buf`5B0`5D==' ') `7C`7C (buf`5B0`5D=='\t'))) `7B /* if
V possible continuation */
X`09`09`09`09for (i = 1; i < len; i++) `7B
X`09`09`09`09`09if ((buf`5Bi`5D!=' ') && (buf`5Bi`5D!= '\t')) `7B /* if valid
V continuation */
X`09`09`09`09`09`09goto cont;
X`09`09`09`09`09`7D
X`09`09`09`09`7D
X`09`09`09`7D
X
X`09`09`09c = strchr(buf, ':');`09/* find end of header */
X`09`09`09if (c == NULL) `7B`09/* if end of headers */
X`09`09`09`09header = FALSE;
X`09`09`09`09goto cont;
X`09`09`09`7D
X`09`09`09else *c = 0;
X
X`09`09`09strcpy(test, buf);
X`09`09`09strtouc(test);
X
X`09`09`09for (i = 0; i < NKEYS; i++) `7B`09/* match keyword */
X`09`09`09`09if (strcmp(test, hdrs`5Bi`5D) == 0) break;`09/* if match */
X`09`09`09`7D
X
X`09`09`09if (i == NKEYS) `7B`09`09/* if no match */
X`09`09`09`09header = FALSE;
X`09`09`09`7D
X
X`09`09`09cont:;
X`09`09`7D /* if header */
X
X`09`09if (!header) `7B`09`09`09`09/* if data part */
X`09`09`09for (i = 0; i < len; i++) `7B`09/* sum the line */
X`09`09`09`09sum += buf`5Bi`5D;
X`09`09`09`7D
X`09`09`09nchar += len;`09`09`09/* sum chars */
X`09`09`09nline += 1;
X`09`09`7D
X`09`7D /* for ;; */
X
X/*  set the user data area */
X
X`09sprintf(buf, "%08X %08X %08X", nline, nchar, sum);
X
X`09stat = note_modify(buf);
X`09checkstat(stat, "modify note");
X`7D
X
X
X/**`09open_subjects - open the subject file
X*/
Xopen_subjects(subjectfile)
Xchar *subjectfile;
X`7B
X`09int stat;
X
X`09fab = cc$rms_fab;`09`09`09/* initialize fab */
X`09fab.fab$l_fna = subjectfile;
X`09fab.fab$b_fns = strlen(subjectfile);
X`09fab.fab$l_dna = dflt_subjects;
X`09fab.fab$b_dns = strlen(dflt_subjects);
X`09fab.fab$b_fac `7C= (FAB$M_GET `7C FAB$M_PUT);
X`09fab.fab$b_shr `7C= (FAB$M_SHRGET `7C FAB$M_SHRPUT);
X
X`09stat = sys$open(&fab);
X`09checkstat(stat, "no subject key file");
X
X`09rab = cc$rms_rab;`09`09`09/* initialize rab */
X`09rab.rab$l_fab = &fab;
X`09rab.rab$b_rac = RAB$C_KEY;
X
X`09stat = sys$connect(&rab);
X`09checkstat(stat, "couldn't connect");
X`7D
X
X
X/**`09write_key - write key to subjects index.
X*/
Xwrite_key(text, note)
Xchar *text;`09`09`09`09`09/* key text */
Xchar *note;`09`09`09`09`09/* note id text */
X`7B
X`09int stat, i, n, id, reply;
X`09char *skp;
X
X`09sscanf(note, "%d.%d", &id, &reply);
X`09if (reply != 0)`09`09`09`09/* if not main note */
X`09`09return;
X
X`09skp = 0;`09`09`09`09/* build the key */
X`09key`5B0`5D = 0; key`5B80`5D = 0;
X`09strncpy(key, text, 80);
X`09skp = key;
X`09for(i = 0; i < strlen(key); i++) key`5Bi`5D = tolower(key`5Bi`5D);
X`09for (;;) `7B`09`09`09`09/* remove leading re: */
X`09`09if (strncmp(skp, "re:", 3) == 0) skp += 3;
X`09`09else break;
X`09`7D
X`09for (;;) `7B`09`09`09`09/* remove leading white */
X`09`09if ((*skp == ' ') `7C`7C (*skp == '\t')) skp++;
X`09`09else break;
X`09`7D
X`09n = strlen(skp);
X`09if (skp != key) `7B`09`09`09/* if chars removed */
X`09`09for (i = 0; i < n; i++) key`5Bi`5D = *skp++;
X`09`09key`5Bn`5D = 0;
X`09`7D
X`09skp = key;
X`09for (i = strlen(skp); i < 79; i++) key`5Bi`5D = ' '; /* trail blanks */
X`09key`5B79`5D = '!';
X
X`09sprintf(&key`5B80`5D, "%06d.0", id);
X
X`09rab.rab$l_rbf = key;
X`09rab.rab$w_rsz = 80 + 8;
X
X`09stat = sys$put(&rab, 0, 0);
X`09if (stat == RMS$_DUP) `7B
X`09`09fprintf(stderr, "Duplicate key: %s\n", key);
X`09`09return;
X`09`7D`09
X`09checkstat(stat, "put key");
X`7D
$ CALL UNPACK NOTEDIR.C;72 660300529
$ create 'f'
Xnotedir,sys$share:notes$share/share,sys$share:vaxcrtl/share
$ CALL UNPACK NOTEDIR.OPT;2 1226513237
$ create 'f'
XIDENT`09NOTES subject index file
X
XFILE
X`09ALLOCATION              10
X`09BEST_TRY_CONTIGUOUS     yes
X`09BUCKET_SIZE             2
X`09CONTIGUOUS              no
X`09EXTENSION               10
X`09GLOBAL_BUFFER_COUNT     0
X`09ORGANIZATION            indexed
X
XRECORD
X`09BLOCK_SPAN              no
X`09CARRIAGE_CONTROL        carriage_return
X`09FORMAT                  fixed
X`09SIZE                    88
X
XAREA 0
X`09ALLOCATION              10
X`09BEST_TRY_CONTIGUOUS     yes
X`09BUCKET_SIZE             2
X`09CONTIGUOUS              no
X`09EXTENSION               10
X
XKEY 0
X`09CHANGES                 no
X`09DATA_KEY_COMPRESSION    no
X`09DATA_RECORD_COMPRESSION yes
X`09DATA_AREA               0
X`09DATA_FILL               100
X`09DUPLICATES              no
X`09INDEX_AREA              0
X`09INDEX_COMPRESSION       no
X`09INDEX_FILL              100
X`09LEVEL1_INDEX_AREA       0
X`09NULL_KEY                no
X`09PROLOGUE                3
X`09SEG0_LENGTH             80
X`09SEG0_POSITION           0
X`09TYPE                    string
$ CALL UNPACK NOTES.FDL;6 2100178480
$ create 'f'
X/*
X * from notescodes.txt
X */
X#define NOTES$K_MIN_ITEM 1
X#define NOTES$K_NOSIGNAL 1
X#define NOTES$K_TEXT_STRING 2
X#define NOTES$K_TEXT_END 3
X#define NOTES$K_TEXT_TYPE 4
X#define NOTES$K_NOTE_ALL_RESPONSES 5
X#define NOTES$K_NOTE_AUTHOR 6
X#define NOTES$K_NOTE_BACK_NOTE 7
X#define NOTES$K_NOTE_BACK_RESPONSE 8
X#define NOTES$K_NOTE_BEFORE_TIME 9
X#define NOTES$K_NOTE_BLINK_ID 10
X#define NOTES$K_NOTE_BLINK_UID 11
X#define NOTES$K_NOTE_CREATE_TIME 12
X#define NOTES$K_NOTE_HIDDEN 13
X#define NOTES$K_NOTE_ID 14
X#define NOTES$K_NOTE_NEXT_NOTE 15
X#define NOTES$K_NOTE_NEXT_RESPONSE 16
X#define NOTES$K_NOTE_NUMRECORDS 17
X#define NOTES$K_NOTE_NUMRESPONSES 18
X#define NOTES$K_NOTE_PEN_NAME 19
X#define NOTES$K_NOTE_SEARCH_STRING 20
X#define NOTES$K_NOTE_SEARCH_TITLE 21
X#define NOTES$K_NOTE_SINCE_TIME 22
X#define NOTES$K_NOTE_TITLE 23
X#define NOTES$K_NOTE_UID 24
X#define NOTES$K_NOTE_UNSEEN 25
X#define NOTES$K_NOTE_USER_AREA 26
X#define NOTES$K_NOTE_WRITELOCK 27
X#define NOTES$K_NOTEFILE_CONTEXT 28
X#define NOTES$K_CLASS_CONTEXT 29
X#define NOTES$K_ENTRY_CONTEXT 30
X#define NOTES$K_KEYWORD_CONTEXT 31
X#define NOTES$K_NOTE_CONTEXT 32
X#define NOTES$K_PROFILE_CONTEXT 33
X#define NOTES$K_SERVER_CONTEXT 34
X#define NOTES$K_USER_CONTEXT 35
X#define NOTES$K_CLASS_NAME 36
X#define NOTES$K_CLASS_NEW_NAME 37
X#define NOTES$K_CONTINUE 38
X#define NOTES$K_ENTRY_NAME 39
X#define NOTES$K_ENTRY_NEW_NAME 40
X#define NOTES$K_ENTRY_USER_AREA 41
X#define NOTES$K_HINT 42
X#define NOTES$K_KEYWORD_NAME 43
X#define NOTES$K_KEYWORD_NEW_NAME 44
X#define NOTES$K_NOTEFILE_CREATE 45
X#define NOTES$K_NOTEFILE_CREATE_TIME 46
X#define NOTES$K_NOTEFILE_DEFAULT_NAME 47
X#define NOTES$K_NOTEFILE_ENTRYTOTAL 48
X#define NOTES$K_NOTEFILE_FILE_NAME 49
X#define NOTES$K_NOTEFILE_FORMAT 50
X#define NOTES$K_NOTEFILE_HIGH_UID 51
X#define NOTES$K_NOTEFILE_LASTREV 52
X#define NOTES$K_NOTEFILE_MODERATE 53
X#define NOTES$K_NOTEFILE_MODERATOR 54
X#define NOTES$K_NOTEFILE_NOTICE 55
X#define NOTES$K_NOTEFILE_NUMNOTES 56
X#define NOTES$K_NOTEFILE_RELATED_NAME 57
X#define NOTES$K_NOTEFILE_RESTRICTED 58
X#define NOTES$K_NOTEFILE_RESULT_SPEC 59
X#define NOTES$K_NOTEFILE_TITLE 60
X#define NOTES$K_NOTEFILE_TRANSPORT 61
X#define NOTES$K_NOTEFILE_USER_AREA 62
X#define NOTES$K_PROFILE_AUTO_DIR 63
X#define NOTES$K_PROFILE_AUTO_UNSEEN 64
X#define NOTES$K_PROFILE_CLASS_NAME 65
X#define NOTES$K_PROFILE_EDITOR 66
X#define NOTES$K_PROFILE_EDITOR_SPAWN 67
X#define NOTES$K_PROFILE_PEN_NAME 68
X#define NOTES$K_PROFILE_PRINT 69
X#define NOTES$K_PROFILE_TEMPORARY 70
X#define NOTES$K_SEEN_MAP 71
X#define NOTES$K_USER_CREATE_KEYWORD 72
X#define NOTES$K_USER_MAIL_ADDR 73
X#define NOTES$K_USER_MODERATE 74
X#define NOTES$K_USER_NAME 75
X#define NOTES$K_USER_NEW_NAME 76
X#define NOTES$K_USER_NEW_NODENAME 77
X#define NOTES$K_USER_NODENAME 78
X#define NOTES$K_NOTE_BLINK_TITLE 79
X#define NOTES$K_NOTE_MARK_SEEN 80
X#define NOTES$K_NOTE_NEXT_UNSEEN 81
X#define NOTES$K_NOTE_HINT_GET_TEXT 82
X#define NOTES$K_NOTE_X_KEYWORD 83
X#define NOTES$K_KEYWORD_X_NOTE 84
X#define NOTES$K_CLASS_X_ENTRY 85
X#define NOTES$K_ENTRY_X_CLASS 86
X#define NOTES$K_ENTRY_X_KEYWORD 87
X#define NOTES$K_DELIF0 88
X#define NOTES$K_UNIENTRY 89
X#define NOTES$K_ENTRY_UNSEEN_EST 90
X#define NOTES$K_ENTRY_LAST_STATUS 91
X#define NOTES$K_NOTE_CAN_REPLY 92
X#define NOTES$K_NOTE_BEFORE_TIME_A 93
X#define NOTES$K_NOTE_CREATE_TIME_A 94
X#define NOTES$K_NOTE_SINCE_TIME_A 95
X#define NOTES$K_NOTEFILE_CREATE_TIME_A 96
X#define NOTES$K_NOTEFILE_LASTREV_A 97
X#define NOTES$K_NOTE_HINT_GET_KEYWORD 98
X#define NOTES$K_KEYWORD_HINT_GET_NOTE 99
X#define NOTES$K_MAX_ITEM 100
X#define NOTES$K_BASE_NOTE 1
X#define NOTES$K_REPLY_NOTE 2
X#define NOTES$K_TLV_INPUT 4097
X#define NOTES$K_TLV_OUTPUT 4098
X#define NOTES$K_CHAIN 65535
X#define NOTES$K_NOOP 65534
X#define NOTES$_FACILITY 1019
X#define NOTES$_NORMAL 66813961
X#define NOTES$_CMDKEYENA 66813969
X#define NOTES$_NUMKEYENA 66813977
X#define NOTES$_PROFILE_MOD 66813985
X#define NOTES$_PROFILE_TEMP 66813993
X#define NOTES$_MODERATE 66814001
X#define NOTES$_NOMODERATE 66814009
X#define NOTES$_ENTRY_ADDED 66814017
X#define NOTES$_KEYWORD_ADDNOTE 66814025
X#define NOTES$_MARKER_ADDED 66814033
X#define NOTES$_MEMBER_ADDED 66814041
X#define NOTES$_KEYWORD_CREATED 66814049
X#define NOTES$_ENTRY_DELETED 66814057
X#define NOTES$_KEYWORD_DELETED 66814065
X#define NOTES$_KEYWORD_DELNOTE 66814073
X#define NOTES$_MARKER_DELETED 66814081
X#define NOTES$_NOTE_DELETED 66814089
X#define NOTES$_MEMBER_DELETED 66814097
X#define NOTES$_NOTE_MODIFIED 66814105
X#define NOTES$_ENTRY_MODIFIED 66814113
X#define NOTES$_KEYWORD_MODIFIED 66814121
X#define NOTES$_MEMBER_MODIFIED 66814129
X#define NOTES$_CLASS_SET 66814137
X#define NOTES$_INSERT_MODE 66814145
X#define NOTES$_OVERSTRIKE_MODE 66814153
X#define NOTES$_ENTRY_DELCLASS 66814161
X#define NOTES$_SPACE_COMPRESS 66814169
X#define NOTES$_ENTRY_ADDED2 66814177
X#define NOTES$_MORE_INFO 66818051
X#define NOTES$_SRV_NEWPROTUPD 66818059
X#define NOTES$_ENTRY_ABORTED 66818067
X#define NOTES$_NOTES_WRFIL 66818075
X#define NOTES$_NOTES_WRBUF 66818083
X#define NOTES$_DIRTOBUF 66818091
X#define NOTES$_DIRTOFILE 66818099
X#define NOTES$_HIDDEN 66818107
X#define NOTES$_OPEN_CONF 66818115
X#define NOTES$_UPDATE_CONF 66818123
X#define NOTES$_MARKSUPER 66818131
X#define NOTES$_OPEN_CONF2 66818139
X#define NOTES$_BEING_WRITTEN 66818147
X#define NOTES$_USING_EDT 66818155
X#define NOTES$_HELPBUF 66818163
X#define NOTES$_HELPHDR 66818171
X#define NOTES$_HELPNXT 66818179
X#define NOTES$_HELPASK1 66818187
X#define NOTES$_HELPASK2 66818195
X#define NOTES$_HELPTOP 66818203
X#define NOTES$_HELPBOT 66818211
X#define NOTES$_ENTRYID 66818219
X#define NOTES$_NOTEID 66818227
X#define NOTES$_TOPICS 66818235
X#define NOTES$_UNSEEN 66818243
X#define NOTES$_TOTALNOTES 66818251
X#define NOTES$_DATELINE 66818259
X#define NOTES$_ONECLASS 66818267
X#define NOTES$_MANYCLASSES 66818275
X#define NOTES$_TITLEID 66818283
X#define NOTES$_NOTICEID 66818291
X#define NOTES$_CONFCREUPD 66818299
X#define NOTES$_MAILSUBJ 66818307
X#define NOTES$_FILEID 66818315
X#define NOTES$_SRV_OLDPROTUPD 66822144
X#define NOTES$_NO_MORE_CLASSES 66822152
X#define NOTES$_NO_MORE_ENTRIES 66822160
X#define NOTES$_NO_MORE_KEYWORDS 66822168
X#define NOTES$_NO_MORE_NOTES 66822176
X#define NOTES$_NO_MORE_TEXT 66822184
X#define NOTES$_NO_MORE_USERS 66822192
X#define NOTES$_NONOTEBOOK 66822200
X#define NOTES$_NOERRTXT 66822208
X#define NOTES$_NEEDNBMODIFY 66822216
X#define NOTES$_MSGSEND 66822224
X#define NOTES$_ENTERINTRO 66822232
X#define NOTES$_CTRLZMAIL 66822240
X#define NOTES$_NOTREADING 66822248
X#define NOTES$_NO_MORE_REPLIES 66822256
X#define NOTES$_ANSWER_YES 66822264
X#define NOTES$_EOB_TEXT 66822272
X#define NOTES$_PRESS_PF2 66822280
X#define NOTES$_NOTES_HDR1 66822288
X#define NOTES$_PRESS_CTRLZ_N 66822296
X#define NOTES$_SET_CONFERENCE 66822304
X#define NOTES$_ENTER_TITLE 66822312
X#define NOTES$_PRESS_RETURN 66822320
X#define NOTES$_PRESS_ANY_KEY 66822328
X#define NOTES$_DIR_HEAD 66822336
X#define NOTES$_ENDREQ_LIST 66822344
X#define NOTES$_NOTE_END_TEXT 66822352
X#define NOTES$_TEXT_NOTE 66822360
X#define NOTES$_TEXT_REPLY 66822368
X#define NOTES$_NO_NB 66822376
X#define NOTES$_YOUR_SP 66822384
X#define NOTES$_NOTE_COMPLETE 66822392
X#define NOTES$_NOTE_NOTEXT 66822400
X#define NOTES$_NOREPLIES 66822408
X#define NOTES$_ONE_REPLY 66822416
X#define NOTES$_MANY_REPLIES 66822424
X#define NOTES$_N_OF_N 66822432
X#define NOTES$_ENTER_CTITLE 66822440
X#define NOTES$_DELETE_NOTE 66822448
X#define NOTES$_NOTENOTDEL 66822456
X#define NOTES$_FINDING_HELP 66822464
X#define NOTES$_NOKEYHELP 66822472
X#define NOTES$_NOTESQADD 66822480
X#define NOTES$_REALLYQUIT 66822488
X#define NOTES$_MAILNOTSENT 66822496
X#define NOTES$_NUMNOTES 66822504
X#define NOTES$_SENDTO 66822512
X#define NOTES$_SUBJECT 66822520
X#define NOTES$_PROFILE_USER 66822528
X#define NOTES$_MORE_TEXT 66822536
X#define NOTES$_SHOW_MARK_1 66822544
X#define NOTES$_SHOW_MARK_2 66822552
X#define NOTES$_SHOW_MARK_3 66822560
X#define NOTES$_SHOW_ENTRY 66822568
X#define NOTES$_SHOW_PROF_EDIT 66822576
X#define NOTES$_SHOW_PROF_DCLASS 66822584
X#define NOTES$_SHOW_PROF_PRINT 66822592
X#define NOTES$_SHOW_PROF_NAME 66822600
X#define NOTES$_SHOW_PROF_AUTO 66822608
X#define NOTES$_SHOW_PROF_ADIR 66822616
X#define NOTES$_SHOW_PROF_AUNS 66822624
X#define NOTES$_SHOW_PROF_NONE 66822632
X#define NOTES$_ENDREQ_SHOW 66822640
X#define NOTES$_CTRLZ_COM_RET 66822648
X#define NOTES$_SHOW_ENT_CONF 66822656
X#define NOTES$_SHOW_ENT_FILE 66822664
X#define NOTES$_SHOW_CLASS 66822672
X#define NOTES$_SHOW_CONF_MOD 66822680
X#define NOTES$_SHOW_CONF_RESA1 66822688
X#define NOTES$_SHOW_CONF_RESA2 66822696
X#define NOTES$_SHOW_CONF_RESK1 66822704
X#define NOTES$_SHOW_CONF_RESK2 66822712
X#define NOTES$_SHOW_KEYW_1 66822720
X#define NOTES$_SHOW_KEYW_2 66822728
X#define NOTES$_SHOW_MOD 66822736
X#define NOTES$_SHOW_MOD_NODE 66822744
X#define NOTES$_SHOW_MOD_USER 66822752
X#define NOTES$_SHOW_USER_MADR 66822760
X#define NOTES$_SHOW_USER_PRIV 66822768
X#define NOTES$_SHOW_USER_JOIN 66822776
X#define NOTES$_SHOW_NOTE_HID 66822784
X#define NOTES$_SHOW_NOTE_VIS 66822792
X#define NOTES$_SHOW_NOTE_REP1 66822800
X#define NOTES$_SHOW_NOTE_REP2 66822808
X#define NOTES$_SHOW_PROF_PERM 66822816
X#define NOTES$_SHOW_USER_FULL 66822824
X#define NOTES$_SHOW_MODU_FULL 66822832
X#define NOTES$_NMF 66822840
X#define NOTES$_NJU 66822848
X#define NOTES$_NO_MORE_MARKERS 66822856
X#define NOTES$_SEARCHF1 66822864
X#define NOTES$_SEARCHF2 66822872
X#define NOTES$_DIR_CONF 66822880
X#define NOTES$_DIR_CONF_TITLE 66822888
X#define NOTES$_N_TOPICS 66822896
X#define NOTES$_DIR_NB_CLASS 66822904
X#define NOTES$_CTRLZ_CANCEL 66822912
X#define NOTES$_REPBUFINFO1 66822920
X#define NOTES$_REPBUFINFO2 66822928
X#define NOTES$_NMORELINES 66822936
X#define NOTES$_READINGCONF 66822944
X#define NOTES$_WILLNOTSEND 66822952
X#define NOTES$_WORKING 66822960
X#define NOTES$_FILECREUPD 66822968
X#define NOTES$_ENTERNOTE 66822976
X#define NOTES$_ANDTO 66822984
X#define NOTES$_SENDANYWAY 66822992
X#define NOTES$_SPAWNKEY 66823000
X#define NOTES$_CALLKEY 66823008
X#define NOTES$_EDICALL 66823016
X#define NOTES$_EDISPAWN 66823024
X#define NOTES$_SPELLSELECT 66823032
X#define NOTES$_SPELLBUFFER 66823040
X#define NOTES$_SPELLSTART 66823048
X#define NOTES$_SPELLDONE 66823056
X#define NOTES$_SENDING_MAIL 66823064
X#define NOTES$_SENDBOTH 66823072
X#define NOTES$_NONESENT 66823080
X#define NOTES$_SENT_TO_ALL 66823088
X#define NOTES$_SHOW_CONF_RESW1 66823096
X#define NOTES$_SHOW_CONF_RESW2 66823104
X#define NOTES$_TEXT_TOPIC 66823112
X#define NOTES$_MEMBERS_OF 66823120
X#define NOTES$_DEF_SUBJECT 66823128
X#define NOTES$_MAIL_SUBJECT 66823136
X#define NOTES$_TEXT_APPEND 66823144
X#define NOTES$_NEVER_ACCESSED 66823152
X#define NOTES$_EXPIRED 66823160
X#define NOTES$_ANSWER_NO 66823168
X#define NOTES$_WRONG_ANS 66823176
X#define NOTES$_CREATEBUF 66823184
X#define NOTES$_WRITEBUF 66823192
X#define NOTES$_SHOW_PROF_DEF 66823200
X#define NOTES$_ASK_YESNO 66823208
X#define NOTES$_MODPRIVS 66823216
X#define NOTES$_ILLCTXADR 66830338
X#define NOTES$_WRONGCTX 66830346
X#define NOTES$_INVITMCOD 66830355
X#define NOTES$_INVITMLEN 66830362
X#define NOTES$_MISREQITM 66830370
X#define NOTES$_NOCURNOTE 66830378
X#define NOTES$_CANTCONTINUE 66830386
X#define NOTES$_FAILGETVM 66830394
X#define NOTES$_STRCOPYERR 66830402
X#define NOTES$_ILLNOTEID 66830410
X#define NOTES$_NOSUCHNOTE 66830418
X#define NOTES$_SRV_NOINIT 66830426
X#define NOTES$_SRV_INVSEQ 66830434
X#define NOTES$_SRV_NOCONTEXT 66830442
X#define NOTES$_SRV_NOUSERNAME 66830450
X#define NOTES$_SRV_INVITEM 66830458
X#define NOTES$_CREPRIJOB 66830466
X#define NOTES$_PREMEOF 66830474
X#define NOTES$_NOPRIVDEL_N 66830482
X#define NOTES$_NOPRIVWRITE_N 66830490
X#define NOTES$_SRV_UNRECPROT 66830498
X#define NOTES$_NOFILEOPEN 66830506
X#define NOTES$_ALREXISTS_OLD 66830514
X#define NOTES$_NOSUCHENTRY 66830522
X#define NOTES$_MUST_OPEN 66830530
X#define NOTES$_MUST_READ_REPLY 66830538
X#define NOTES$_MUST_READ_FORWARD 66830546
X#define NOTES$_NOT_ENTERING_NOTE 66830554
X#define NOTES$_NONOTE_SPECIFIED 66830562
X#define NOTES$_ERROR_MAILING 66830570
X#define NOTES$_NOPREVIOUS_NOTE 66830578
X#define NOTES$_ALREADY_IN_EDITOR 66830586
X#define NOTES$_ALREADY_IN_NOTES 66830594
X#define NOTES$_MUST_COMPLETE_MESSAGE 66830602
X#define NOTES$_UNREC_CALLUSER 66830610
X#define NOTES$_NO_SUCH_CLASS 66830618
X#define NOTES$_NO_SUCH_ENTRY 66830626
X#define NOTES$_NO_SUCH_KEYWORD 66830634
X#define NOTES$_NO_SUCH_NOTE 66830642
X#define NOTES$_NO_SUCH_USER 66830650
X#define NOTES$_NOMORE_RECALL 66830658
X#define NOTES$_EDIT_OR_FILE 66830666
X#define NOTES$_NOMAIL 66830674
X#define NOTES$_ERRORWRITE 66830682
X#define NOTES$_NOMAILPROC 66830690
X#define NOTES$_IFF 66830698
X#define NOTES$_NOPRIV 66830706
X#define NOTES$_CTRLC_CANCEL 66830714
X#define NOTES$_ERRCREKEY 66830722
X#define NOTES$_ERRADDMARK 66830730
X#define NOTES$_ERRADDMEM 66830738
X#define NOTES$_ERRADDENT 66830746
X#define NOTES$_ERRDELENT 66830754
X#define NOTES$_ERRDELMARK 66830762
X#define NOTES$_ERRDELMEMBER 66830770
X#define NOTES$_ERRMODNOTE 66830778
X#define NOTES$_ERRMODENTRY 66830786
X#define NOTES$_ERRMODKEYWORD 66830794
X#define NOTES$_ERRMODMEMBER 66830802
X#define NOTES$_NOWRITE 66830810
X#define NOTES$_NOSUCHMARKER 66830818
X#define NOTES$_NOPRIVMOD_N 66830826
X#define NOTES$_ALREXISTS_C 66830834
X#define NOTES$_ALREXISTS_E 66830842
X#define NOTES$_ALREXISTS_K 66830850
X#define NOTES$_ALREXISTS_U 66830858
X#define NOTES$_ALREXISTS_M 66830866
X#define NOTES$_NO_SUCH_MARKER 66830874
X#define NOTES$_NOMEMBERS 66830882
X#define NOTES$_NOTMEMBER 66830890
X#define NOTES$_BASEWRITELOCK 66830898
X#define NOTES$_NOWRITE_CONF 66830906
X#define NOTES$_SPELLERROR 66830914
X#define NOTES$_PNINVCHAR 66830922
X#define NOTES$_SENDNOAUT 66830930
X#define NOTES$_INVCLASSNAME 66830938
X#define NOTES$_CLASSNOTFOUND 66830946
X#define NOTES$_FORWLOOP 66830954
X#define NOTES$_BAD_DIR_LINE 66830962
X#define NOTES$_NO_SELECT 66830970
X#define NOTES$_NOTE_NOCONF 66830978
X#define NOTES$_UNREC_EDITOR 66830986
X#define NOTES$_NO_CLASSP 66830994
X#define NOTES$_NMTHISDIR 66831002
X#define NOTES$_NO_NEW_NOTE 66831010
X#define NOTES$_CAPTIVE_SPAWN 66831018
X#define NOTES$_NOTHING_TO_SET 66831026
X#define NOTES$_NOHELPTERM 66831034
X#define NOTES$_INVENTNAM 66831042
X#define NOTES$_INVCLANAM 66831050
X#define NOTES$_INVENTRYNAME 66831058
X#define NOTES$_NO_ENTRY_IN_CLASS 66831066
X#define NOTES$_ALREXISTS_IN_CLASS 66831074
X#define NOTES$_NOMARKERS 66831082
X#define NOTES$_NOKEYWORDS 66831090
X#define NOTES$_NOLICENSE 66831098
X#define NOTES$_NOFILE 66831106
X#define NOTES$_NOEDT 66831114
X#define NOTES$_NOENTRY 66831122
X#define NOTES$_NOEVE 66831130
X#define NOTES$_TPUERROR 66831138
X#define NOTES$_ENTALR_IN_CLASSES 66831146
X#define NOTES$_NO_RANGE_ALLOW 66831154
X#define NOTES$_NOTNETWRK 66842628
X#define NOTES$_WRONG_ACCT 66842636
$ CALL UNPACK NOTESCODES.H;1 974728696
$ v=f$verify(v)
$ EXIT
-- 
Dick Munroe				Internet: munroe@dmc.com
Doyle Munroe Consultants, Inc.		UUCP: ...uunet!thehulk!munroe
267 Cox St.				Office: (508) 568-1618
Hudson, Ma.				FAX: (508) 562-1133

GET CONNECTED!!! Send mail to info@dmc.com to find out about DMConnection.
--
Dick Munroe				Internet: munroe@dmc.com
Doyle Munroe Consultants, Inc.		UUCP: ...uunet!thehulk!munroe
267 Cox St.				Office: (508) 568-1618
Hudson, Ma. 01749 USA			FAX: (508) 562-1133

GET CONNECTED!!! Send mail to info@dmc.com to find out about DMConnection.
Technical Details
Message-ID: <8145899@MVB.SAIC.COM>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources
From: munroe@dmc.com (Dick Munroe)
Newsgroups: vmsnet.sources
Subject: MAIL-TO-NOTES, part 02/02
Message-ID: <8145899@MVB.SAIC.COM>
Date: Fri, 11 Sep 1992 20:25:42 GMT
Organization: Doyle, Munroe Consultants, Inc., Hudson, MA
Lines: 699
Approved: Mark.Berryman@Mvb.Saic.Com