SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 1 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .title 'Send Mail Subroutine' ; ; ; S M A I L . S B L ; ; 1 FUNCTION SNDMA ,%VAL 2 ADDRESS ,A ;ADDRESS of this message or the To: party 3 SUBJECT ,A ;Subject of this message 4 MESSAGE ,A ;Message of File Specification if @ present in string 5 EXTERNAL FUNCTION 6 MAIL$SEND_BEGIN ,%VAL 7 MAIL$SEND_END ,%VAL 8 MAIL$SEND_MESSAGE ,%VAL 9 MAIL$SEND_ADD_ATTRIBUTE ,%VAL 10 MAIL$SEND_ADD_BODYPART ,%VAL 11 MAIL$SEND_ADD_ADDRESS ,%VAL 12 SYS$GETJPIW ,%VAL .page SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 2 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .include 'maildef.dib' I ;** MODULE $MAILDEF ** I ; I ; Definitions needed for callable mail. I ; I ; I ; NOTE: New item codes must be appended to the end of I ; each category so users will not have to relink. I ; We allow 1024 entries in eatch category. I ; I ; Adapted from MAILDEF.FOR to MAILDEF.DIB for VAX Dibol I ; 13-June-1989 MFD I ; I ; I ; Send input codes I ; I 13 LITERAL I 14 MAIL$_SEND_SPARE_0 ,I4,1 I 15 MAIL$_SEND_FOREIGN ,I4,2 ; Send foreign format message I 16 MAIL$_SEND_CC_LINE ,I4,3 ; CC text specification I 17 MAIL$_SEND_DEFAULT_NAME ,I4,4 ; Default file name for send I 18 MAIL$_SEND_DEFAULT_TRANSPORT ,I4,5 ; Default transport used for addressees I 19 MAIL$_SEND_ERROR_ENTRY ,I4,6 ; Entry point for send error routine I 20 MAIL$_SEND_FILENAME ,I4,7 ; Specification of file name to send I 21 MAIL$_SEND_FROM_LINE ,I4,8 ; From text specification I 22 MAIL$_SEND_NO_DEFAULT_TRANSPORT ,I4,9 ; Don't use any default transport on send I 23 MAIL$_SEND_PERS_NAME ,I4,10 ; Personal name text for message I 24 MAIL$_SEND_RECORD ,I4,11 ; Record to be sent I 25 MAIL$_SEND_RESULTSPEC ,I4,12 ; Resultant filespec bodypart I 26 MAIL$_SEND_SERVER ,I4,13 ; Operate in server mode (signal success) I 27 MAIL$_SEND_SUBJECT ,I4,14 ; Subject text specification I 28 MAIL$_SEND_SUCCESS_ENTRY ,I4,15 ; Entry point for send success routine I 29 MAIL$_SEND_TO_LINE ,I4,16 ; To line text specification I 30 MAIL$_SEND_UFLAGS ,I4,17 ; User flags (for header) to send I 31 MAIL$_SEND_USER_DATA ,I4,18 ; User specified context for action routines I 32 MAIL$_SEND_USERNAME ,I4,19 ; Username to add to the "To" list I 33 MAIL$_SEND_USERNAME_TYPE ,I4,20 ; Username type - TO or CC I 34 MAIL$_SEND_FID ,I4,21 ; FID of file to send I 35 MAIL$_SEND_NO_PERS_NAME ,I4,22 ; Send message without personal name I 36 MAIL$_SEND_IN_SPARE3 ,I4,23 I 37 MAIL$_SEND_IN_SPARE4 ,I4,24 I 38 MAIL$_SEND_IN_SPARE5 ,I4,25 I ; I ; Send output codes I ; I 39 MAIL$_SEND_COPY_REPLY ,I4,26 ; Copy self reply set in profile I 40 MAIL$_SEND_COPY_SEND ,I4,27 ; Copy self send set in profile I 41 MAIL$_SEND_USER ,I4,28 ; Username of caller I 42 MAIL$_SEND_COPY_FORWARD ,I4,29 ; Copy self forward set in profile I 43 MAIL$_SEND_OUT_SPARE2 ,I4,30 I 44 MAIL$_SEND_OUT_SPARE3 ,I4,31 I 45 MAIL$_SEND_OUT_SPARE4 ,I4,32 I 46 MAIL$_SEND_OUT_SPARE5 ,I4,33 I 47 MAIL$K_SEND_MIN_ITEM ,I4,1 I 48 MAIL$K_SEND_MAX_ITEM ,I4,33 I 49 MAIL$K_SEND_ITEMS ,I4,33 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 3 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I ; I ; file input codes I ; I 50 MAIL$_MAILFILE_SPARE_0 ,I4,1025 I 51 MAIL$_MAILFILE_DEFAULT_NAME ,I4,1026 ; Default filespec to open I 52 MAIL$_MAILFILE_FOLDER_ROUTINE ,I4,1027 ; Entry point of routine to process foldernames I 53 MAIL$_MAILFILE_FULL_CLOSE ,I4,1028 ; Do a PURGE, CONVERT/RECLAIM if necessary on close I 54 MAIL$_MAILFILE_NAME ,I4,1029 ; File spec to open I 55 MAIL$_MAILFILE_RECLAIM ,I4,1030 ; Do RECLAIM on PURGE command I 56 MAIL$_MAILFILE_USER_DATA ,I4,1031 ; User specified context for action routines I 57 MAIL$_MAILFILE_WASTEBASKET_NAME ,I4,1032 ; New wastebasket name for file I 58 MAIL$_MAILFILE_IN_SPARE1 ,I4,1033 I 59 MAIL$_MAILFILE_IN_SPARE2 ,I4,1034 I 60 MAIL$_MAILFILE_IN_SPARE3 ,I4,1035 I 61 MAIL$_MAILFILE_IN_SPARE4 ,I4,1036 I 62 MAIL$_MAILFILE_IN_SPARE5 ,I4,1037 I 63 MAIL$_MAILFILE_IN_SPARE6 ,I4,1038 I 64 MAIL$_MAILFILE_IN_SPARE7 ,I4,1039 I 65 MAIL$_MAILFILE_IN_SPARE8 ,I4,1040 I 66 MAIL$_MAILFILE_IN_SPARE9 ,I4,1041 I 67 MAIL$_MAILFILE_IN_SPARE10 ,I4,1042 I 68 MAIL$_MAILFILE_IN_SPARE11 ,I4,1043 I 69 MAIL$_MAILFILE_IN_SPARE12 ,I4,1044 I 70 MAIL$_MAILFILE_IN_SPARE13 ,I4,1045 I 71 MAIL$_MAILFILE_IN_SPARE14 ,I4,1046 I 72 MAIL$_MAILFILE_IN_SPARE15 ,I4,1047 I 73 MAIL$_MAILFILE_IN_SPARE16 ,I4,1048 I 74 MAIL$_MAILFILE_IN_SPARE17 ,I4,1049 I 75 MAIL$_MAILFILE_IN_SPARE18 ,I4,1050 I 76 MAIL$_MAILFILE_IN_SPARE19 ,I4,1051 I 77 MAIL$_MAILFILE_IN_SPARE20 ,I4,1052 I ; I ; file output codes I ; I 78 MAIL$_MAILFILE_DATA_RECLAIM ,I4,1053 ; Number of data buckets reclaimed I 79 MAIL$_MAILFILE_DATA_SCAN ,I4,1054 ; Number of data buckets scanned I 80 MAIL$_MAILFILE_DELETED_BYTES ,I4,1055 ; Number of free bytes in mail file I 81 MAIL$_MAILFILE_INDEX_RECLAIM ,I4,1056 ; Number of index buckets reclaimed I 82 MAIL$_MAILFILE_MAIL_DIRECTORY ,I4,1057 ; Mail sub-directory specification I 83 MAIL$_MAILFILE_MESSAGES_DELETED ,I4,1058 ; Number of messages deleted I 84 MAIL$_MAILFILE_RESULTSPEC ,I4,1059 ; Resultant file spec I 85 MAIL$_MAILFILE_TOTAL_RECLAIM ,I4,1060 ; Total buckets reclaimed I 86 MAIL$_MAILFILE_WASTEBASKET ,I4,1061 ; Wastebasket name I 87 MAIL$_MAILFILE_INDEXED ,I4,1062 ; ISAM file I 88 MAIL$_MAILFILE_OUT_SPARE2 ,I4,1063 I 89 MAIL$_MAILFILE_OUT_SPARE3 ,I4,1064 I 90 MAIL$_MAILFILE_OUT_SPARE4 ,I4,1065 I 91 MAIL$_MAILFILE_OUT_SPARE5 ,I4,1066 I 92 MAIL$_MAILFILE_OUT_SPARE6 ,I4,1067 I 93 MAIL$_MAILFILE_OUT_SPARE7 ,I4,1068 I 94 MAIL$_MAILFILE_OUT_SPARE8 ,I4,1069 I 95 MAIL$_MAILFILE_OUT_SPARE9 ,I4,1070 I 96 MAIL$_MAILFILE_OUT_SPARE10 ,I4,1071 I 97 MAIL$_MAILFILE_OUT_SPARE11 ,I4,1072 I 98 MAIL$_MAILFILE_OUT_SPARE12 ,I4,1073 I 99 MAIL$_MAILFILE_OUT_SPARE13 ,I4,1074 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 4 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 100 MAIL$_MAILFILE_OUT_SPARE14 ,I4,1075 I 101 MAIL$_MAILFILE_OUT_SPARE15 ,I4,1076 I 102 MAIL$_MAILFILE_OUT_SPARE16 ,I4,1077 I 103 MAIL$_MAILFILE_OUT_SPARE17 ,I4,1078 I 104 MAIL$_MAILFILE_OUT_SPARE18 ,I4,1079 I 105 MAIL$_MAILFILE_OUT_SPARE19 ,I4,1080 I 106 MAIL$_MAILFILE_OUT_SPARE20 ,I4,1081 I 107 MAIL$K_MAILFILE_MIN_ITEM ,I4,1025 I 108 MAIL$K_MAILFILE_MAX_ITEM ,I4,1081 I 109 MAIL$K_MAILFILE_ITEMS ,I4,57 I ; I ; message input codes I ; I 110 MAIL$_MESSAGE_SPARE_0 ,I4,2048 I 111 MAIL$_MESSAGE_BACK ,I4,2049 ; Get previous message I 112 MAIL$_MESSAGE_BEFORE ,I4,2050 ; Select messages BEFORE date I 113 MAIL$_MESSAGE_CC_SUBSTRING ,I4,2051 ; Select messages containing CC substring I 114 MAIL$_MESSAGE_CONTINUE ,I4,2052 ; Read next record I 115 MAIL$_MESSAGE_FILE_ACTION ,I4,2053 ; File create action routine I 116 MAIL$_MESSAGE_FOLDER_ACTION ,I4,2054 ; Folder create action routine I 117 MAIL$_MESSAGE_DEFAULT_NAME ,I4,2055 ; Default file name I 118 MAIL$_MESSAGE_DELETE ,I4,2056 ; Delete message I 119 MAIL$_MESSAGE_ERASE ,I4,2057 ; Erase message I 120 MAIL$_MESSAGE_FILE_CTX ,I4,2058 ; File level context I 121 MAIL$_MESSAGE_FILENAME ,I4,2059 ; File name specification I 122 MAIL$_MESSAGE_FLAGS ,I4,2060 ; Header flags specification I 123 MAIL$_MESSAGE_FOLDER ,I4,2061 ; Folder name specification I 124 MAIL$_MESSAGE_FROM_SUBSTRING ,I4,2062 ; Select messages containing FROM substring I 125 MAIL$_MESSAGE_ID ,I4,2063 ; ID of message I 126 MAIL$_MESSAGE_NEXT ,I4,2064 ; Retrive NEXT message I 127 MAIL$_MESSAGE_SINCE ,I4,2065 ; Select messages SINCE date I 128 MAIL$_MESSAGE_SUBJ_SUBSTRING ,I4,2066 ; Select messages containing SUBJ substring I 129 MAIL$_MESSAGE_TO_SUBSTRING ,I4,2067 ; Select messages containing TO substring I 130 MAIL$_MESSAGE_UFLAGS ,I4,2068 ; User flags specification I 131 MAIL$_MESSAGE_AUTO_NEWMAIL ,I4,2069 ; Move newmail to MAIL auto I 132 MAIL$_MESSAGE_USER_DATA ,I4,2070 ; User context for action routines I 133 MAIL$_MESSAGE_FLAGS_MBZ ,I4,2071 ; Select messages with these flags set at zero I 134 MAIL$_MESSAGE_MIN_CLASS ,I4,2072 ; Min access class for message I 135 MAIL$_MESSAGE_MAX_CLASS ,I4,2073 ; Max access class for message I 136 MAIL$_MESSAGE_IN_SPARE1 ,I4,2074 I 137 MAIL$_MESSAGE_IN_SPARE2 ,I4,2075 I 138 MAIL$_MESSAGE_IN_SPARE3 ,I4,2076 I 139 MAIL$_MESSAGE_IN_SPARE4 ,I4,2077 I 140 MAIL$_MESSAGE_IN_SPARE5 ,I4,2078 I 141 MAIL$_MESSAGE_IN_SPARE6 ,I4,2079 I 142 MAIL$_MESSAGE_IN_SPARE7 ,I4,2080 I 143 MAIL$_MESSAGE_IN_SPARE8 ,I4,2081 I 144 MAIL$_MESSAGE_IN_SPARE9 ,I4,2082 I 145 MAIL$_MESSAGE_IN_SPARE10 ,I4,2083 I 146 MAIL$_MESSAGE_IN_SPARE11 ,I4,2084 I 147 MAIL$_MESSAGE_IN_SPARE12 ,I4,2085 I 148 MAIL$_MESSAGE_IN_SPARE13 ,I4,2086 I 149 MAIL$_MESSAGE_IN_SPARE14 ,I4,2087 I 150 MAIL$_MESSAGE_IN_SPARE15 ,I4,2088 I 151 MAIL$_MESSAGE_IN_SPARE16 ,I4,2089 I 152 MAIL$_MESSAGE_IN_SPARE17 ,I4,2090 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 5 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 153 MAIL$_MESSAGE_IN_SPARE18 ,I4,2091 I 154 MAIL$_MESSAGE_IN_SPARE19 ,I4,2092 I 155 MAIL$_MESSAGE_IN_SPARE20 ,I4,2093 I ; I ; message output codes I ; I 156 MAIL$_MESSAGE_CC ,I4,2094 ; CC text of message I 157 MAIL$_MESSAGE_CURRENT_ID ,I4,2095 ; ID of current message I 158 MAIL$_MESSAGE_DATE ,I4,2096 ; Date of current message I 159 MAIL$_MESSAGE_EXTID ,I4,2097 ; Filespec of external message I 160 MAIL$_MESSAGE_FILE_CREATED ,I4,2098 ; Mailfile created... I 161 MAIL$_MESSAGE_FOLDER_CREATED ,I4,2099 ; Folder created... I 162 MAIL$_MESSAGE_FROM ,I4,2100 ; From text of message I 163 MAIL$_MESSAGE_RECORD ,I4,2101 ; Record from message I 164 MAIL$_MESSAGE_RECORD_TYPE ,I4,2102 ; Type of record, header or text I 165 MAIL$_MESSAGE_REPLY_PATH ,I4,2103 ; Reply path of sender I 166 MAIL$_MESSAGE_RESULTSPEC ,I4,2104 ; Resultant file spec I 167 MAIL$_MESSAGE_RETURN_FLAGS ,I4,2105 ; Message header system flags I 168 MAIL$_MESSAGE_RETURN_UFLAGS ,I4,2106 ; Message header user flags I 169 MAIL$_MESSAGE_SELECTED ,I4,2107 ; Number of messages selected I 170 MAIL$_MESSAGE_SENDER ,I4,2108 ; Sender name I 171 MAIL$_MESSAGE_SIZE ,I4,2109 ; Size of the current message I 172 MAIL$_MESSAGE_SUBJECT ,I4,2110 ; Subject text of the message I 173 MAIL$_MESSAGE_TO ,I4,2111 ; To text of the message I 174 MAIL$_MESSAGE_BUFFER ,I4,2112 ; Buffer address I 175 MAIL$_MESSAGE_RETURN_CLASS ,I4,2113 ; Class of current message I 176 MAIL$_MESSAGE_BINARY_DATE ,I4,2114 ; Binary date/time quadword I 177 MAIL$_MESSAGE_SPARE4 ,I4,2115 I 178 MAIL$_MESSAGE_SPARE5 ,I4,2116 I 179 MAIL$_MESSAGE_SPARE6 ,I4,2117 I 180 MAIL$_MESSAGE_SPARE7 ,I4,2118 I 181 MAIL$_MESSAGE_SPARE8 ,I4,2119 I 182 MAIL$_MESSAGE_SPARE9 ,I4,2120 I 183 MAIL$_MESSAGE_SPARE10 ,I4,2121 I 184 MAIL$_MESSAGE_SPARE11 ,I4,2122 I 185 MAIL$_MESSAGE_SPARE12 ,I4,2123 I 186 MAIL$_MESSAGE_SPARE13 ,I4,2124 I 187 MAIL$_MESSAGE_SPARE14 ,I4,2125 I 188 MAIL$_MESSAGE_SPARE15 ,I4,2126 I 189 MAIL$_MESSAGE_SPARE16 ,I4,2127 I 190 MAIL$_MESSAGE_SPARE17 ,I4,2128 I 191 MAIL$_MESSAGE_SPARE18 ,I4,2129 I 192 MAIL$_MESSAGE_SPARE19 ,I4,2130 I ; I ; Constants returned I ; I 193 MAIL$_MESSAGE_NULL ,I4,2131 ; Null bodypart I 194 MAIL$_MESSAGE_HEADER ,I4,2132 ; Header record returned I 195 MAIL$_MESSAGE_TEXT ,I4,2133 ; Text record returned I 196 MAIL$_MESSAGE_SPARE20 ,I4,2134 I 197 MAIL$K_MESSAGE_MIN_ITEM ,I4,2048 I 198 MAIL$K_MESSAGE_MAX_ITEM ,I4,2134 I 199 MAIL$K_MESSAGE_ITEMS ,I4,87 I ; I ; user input codes I ; SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 6 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 200 MAIL$_USER_SPARE_0 ,I4,3072 I 201 MAIL$_USER_FIRST ,I4,3073 ; Retrive first user record I 202 MAIL$_USER_NEXT ,I4,3074 ; Retrive next user record I 203 MAIL$_USER_USERNAME ,I4,3075 ; Retrive record for username I 204 MAIL$_USER_SET_AUTO_PURGE ,I4,3076 ; Set auto-purge I 205 MAIL$_USER_SET_NO_AUTO_PURGE ,I4,3077 ; Clear auto-purge I 206 MAIL$_USER_SET_SUB_DIRECTORY ,I4,3078 ; Set sub-dir field I 207 MAIL$_USER_SET_NO_SUB_DIRECTORY ,I4,3079 ; Clear sub-dir field I 208 MAIL$_USER_SET_FORWARDING ,I4,3080 ; Set forwarding address I 209 MAIL$_USER_SET_NO_FORWARDING ,I4,3081 ; Clear forwarding address I 210 MAIL$_USER_SET_PERSONAL_NAME ,I4,3082 ; Set personal name I 211 MAIL$_USER_SET_NO_PERSONAL_NAME ,I4,3083 ; Clear personal name I 212 MAIL$_USER_SET_COPY_SEND ,I4,3084 ; Set copy-send I 213 MAIL$_USER_SET_NO_COPY_SEND ,I4,3085 ; Clear copy send I 214 MAIL$_USER_SET_COPY_REPLY ,I4,3086 ; Set copy reply I 215 MAIL$_USER_SET_NO_COPY_REPLY ,I4,3087 ; Clear copy reply I 216 MAIL$_USER_SET_NEW_MESSAGES ,I4,3088 ; Set new message count I 217 MAIL$_USER_CREATE_IF ,I4,3089 ; Create record if does not exist I 218 MAIL$_USER_SET_MAILPLUS ,I4,3090 ; Set M+ I 219 MAIL$_USER_SET_NO_MAILPLUS ,I4,3091 ; Clear M+ I 220 MAIL$_USER_SET_TRANSPORT ,I4,3092 ; Set transport field I 221 MAIL$_USER_SET_NO_TRANSPORT ,I4,3093 ; Clear transport field I 222 MAIL$_USER_SET_EDITOR ,I4,3094 ; Set editor field I 223 MAIL$_USER_SET_NO_EDITOR ,I4,3095 ; Clear editor field I 224 MAIL$_USER_SET_QUEUE ,I4,3096 ; Set queue field I 225 MAIL$_USER_SET_NO_QUEUE ,I4,3097 ; Clear queue field I 226 MAIL$_USER_SET_USER1 ,I4,3098 ; Set user1 field I 227 MAIL$_USER_SET_NO_USER1 ,I4,3099 ; Clear user1 field I 228 MAIL$_USER_SET_USER2 ,I4,3100 ; Set user2 field I 229 MAIL$_USER_SET_NO_USER2 ,I4,3101 ; Clear user2 field I 230 MAIL$_USER_SET_USER3 ,I4,3102 ; Set user3 field I 231 MAIL$_USER_SET_NO_USER3 ,I4,3103 ; Clear user3 field I 232 MAIL$_USER_SET_FORM ,I4,3104 ; Set form field I 233 MAIL$_USER_SET_NO_FORM ,I4,3105 ; Clear form field I 234 MAIL$_USER_SET_COPY_FORWARD ,I4,3106 ; Set copy self forward I 235 MAIL$_USER_SET_NO_COPY_FORWARD ,I4,3107 ; Clear copy self forward I 236 MAIL$_USER_SET_CC_PROMPT ,I4,3108 ; Set CC prompting I 237 MAIL$_USER_SET_NO_CC_PROMPT ,I4,3109 ; Clear CC prompting I 238 MAIL$_USER_SET_SPARE3 ,I4,3110 I 239 MAIL$_USER_SET_NO_SPARE3 ,I4,3111 I 240 MAIL$_USER_IN_SPARE1 ,I4,3112 I 241 MAIL$_USER_IN_SPARE2 ,I4,3113 I 242 MAIL$_USER_IN_SPARE3 ,I4,3114 I 243 MAIL$_USER_IN_SPARE4 ,I4,3115 I 244 MAIL$_USER_IN_SPARE5 ,I4,3116 I 245 MAIL$_USER_IN_SPARE6 ,I4,3117 I 246 MAIL$_USER_IN_SPARE7 ,I4,3118 I 247 MAIL$_USER_IN_SPARE8 ,I4,3119 I 248 MAIL$_USER_IN_SPARE9 ,I4,3120 I 249 MAIL$_USER_IN_SPARE10 ,I4,3121 I 250 MAIL$_USER_IN_SPARE11 ,I4,3122 I 251 MAIL$_USER_IN_SPARE12 ,I4,3123 I 252 MAIL$_USER_IN_SPARE13 ,I4,3124 I 253 MAIL$_USER_IN_SPARE14 ,I4,3125 I 254 MAIL$_USER_IN_SPARE15 ,I4,3126 I 255 MAIL$_USER_IN_SPARE16 ,I4,3127 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 7 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 256 MAIL$_USER_IN_SPARE17 ,I4,3128 I 257 MAIL$_USER_IN_SPARE18 ,I4,3129 I 258 MAIL$_USER_IN_SPARE19 ,I4,3130 I 259 MAIL$_USER_IN_SPARE20 ,I4,3131 I ; I ; Output item parameters I ; I 260 MAIL$_USER_MAILPLUS ,I4,3132 ; M+ field I 261 MAIL$_USER_TRANSPORT ,I4,3133 ; Transport field I 262 MAIL$_USER_EDITOR ,I4,3134 ; Editor field I 263 MAIL$_USER_QUEUE ,I4,3135 ; Queue field I 264 MAIL$_USER_USER1 ,I4,3136 ; User1 field I 265 MAIL$_USER_USER2 ,I4,3137 ; User2 field I 266 MAIL$_USER_USER3 ,I4,3138 ; User3 field I 267 MAIL$_USER_FORM ,I4,3139 ; Form field I 268 MAIL$_USER_COPY_FORWARD ,I4,3140 ; Copy forward flag I 269 MAIL$_USER_SPARE3 ,I4,3141 I 270 MAIL$_USER_RETURN_USERNAME ,I4,3142 ; Username of current record I 271 MAIL$_USER_AUTO_PURGE ,I4,3143 ; Auto purge flag I 272 MAIL$_USER_SUB_DIRECTORY ,I4,3144 ; Sub-dir spec I 273 MAIL$_USER_FULL_DIRECTORY ,I4,3145 ; Full directory spec I 274 MAIL$_USER_NEW_MESSAGES ,I4,3146 ; New message count I 275 MAIL$_USER_FORWARDING ,I4,3147 ; Forwarding field I 276 MAIL$_USER_PERSONAL_NAME ,I4,3148 ; Personal name field I 277 MAIL$_USER_COPY_SEND ,I4,3149 ; Copy send flag I 278 MAIL$_USER_COPY_REPLY ,I4,3150 ; Copy reply flag I 279 MAIL$_USER_CAPTIVE ,I4,3151 ; User is captive I 280 MAIL$_USER_CC_PROMPT ,I4,3152 ; CC prompting flag I 281 MAIL$_USER_OUT_SPARE2 ,I4,3153 I 282 MAIL$_USER_OUT_SPARE3 ,I4,3154 I 283 MAIL$_USER_OUT_SPARE4 ,I4,3155 I 284 MAIL$_USER_OUT_SPARE5 ,I4,3156 I 285 MAIL$_USER_OUT_SPARE6 ,I4,3157 I 286 MAIL$_USER_OUT_SPARE7 ,I4,3158 I 287 MAIL$_USER_OUT_SPARE8 ,I4,3159 I 288 MAIL$_USER_OUT_SPARE9 ,I4,3160 I 289 MAIL$_USER_OUT_SPARE10 ,I4,3161 I 290 MAIL$_USER_OUT_SPARE11 ,I4,3162 I 291 MAIL$_USER_OUT_SPARE12 ,I4,3163 I 292 MAIL$_USER_OUT_SPARE13 ,I4,3164 I 293 MAIL$_USER_OUT_SPARE14 ,I4,3165 I 294 MAIL$_USER_OUT_SPARE15 ,I4,3166 I 295 MAIL$_USER_OUT_SPARE16 ,I4,3167 I 296 MAIL$_USER_OUT_SPARE17 ,I4,3168 I 297 MAIL$_USER_OUT_SPARE18 ,I4,3169 I 298 MAIL$_USER_OUT_SPARE19 ,I4,3170 I 299 MAIL$_USER_OUT_SPARE20 ,I4,3171 I 300 MAIL$K_USER_MIN_ITEM ,I4,3072 I 301 MAIL$K_USER_MAX_ITEM ,I4,3171 I 302 MAIL$K_USER_ITEMS ,I4,100 I ; I ; Special items I ; I 303 MAIL$_NOOP ,I4,4097 ; Do nothing - used for testing I 304 MAIL$_NOSIGNAL ,I4,4098 ; Don't signal errors I 305 MAIL$_NOPROB ,I4,4099 ; Don't probe the item list buffers SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 8 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 306 MAIL$_TLD_INPUT ,I4,4100 ; This item is a tld to be used as input I 307 MAIL$_TLD_OUTPUT ,I4,4101 ; This item describes a buffer to fill I ; I ; Username types for MAIL$send_add_address I ; I 308 MAIL$_TO ,I4,1 ; Address part of the TO line I 309 MAIL$_CC ,I4,2 ; Address part of the CC line I 310 MAIL$_SPARE1 ,I4,3 I 311 MAIL$_SPARE2 ,I4,4 I ; I ; Define the flag values for mail system flags I ; I 312 MAIL$M_NEWMSG ,I4,%X(00000001) I 313 MAIL$M_REPLIED ,I4,%X(00000002) I 314 MAIL$M_DEL ,I4,%X(00000004) I 315 MAIL$M_EXTMSG ,I4,%X(00000008) I 316 MAIL$M_EXTFNF ,I4,%X(00000010) I 317 MAIL$M_SYSMSG ,I4,%X(00000020) I 318 MAIL$M_EXTNSTD ,I4,%X(00000040) I 319 MAIL$M_MARKED ,I4,%X(00000080) I 320 MAIL$M_RECMODE ,I4,%X(00000100) .page SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 9 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .include 'mailmsgdef.dib' I ; MAILMSGDEF.DIB I ; I ; Created 21-Jun-1989 I ; Adapted from $MAILMSGDEF from STARLET.MLB I ; I ;MAIL$_FACILITY 126 I 321 MAIL$_CODERR ,I4,8290316 I 322 MAIL$_UPGRADE ,I4,8290324 I 323 MAIL$_UAFGETERR ,I4,8290330 I 324 MAIL$_UAFOPNERR ,I4,8290338 I 325 MAIL$_NOSUCHUSR ,I4,8290346 I 326 MAIL$_NOTREADIN ,I4,8290354 I 327 MAIL$_LOGLINK ,I4,8290362 I 328 MAIL$_CREPRIJOB ,I4,8290370 I 329 MAIL$_SENDERR ,I4,8290378 I 330 MAIL$_NOMOREMSG ,I4,8290386 I 331 MAIL$_NOMSGS ,I4,8290394 I 332 MAIL$_USERSPEC ,I4,8290402 I 333 MAIL$_SENDABORT ,I4,8290410 I 334 MAIL$_EDITPROC ,I4,8290418 I 335 MAIL$_INVCMD ,I4,8290426 I 336 MAIL$_NOTFOUND ,I4,8290434 I 337 MAIL$_NETIOERR ,I4,8290442 I 338 MAIL$_USERDSABL ,I4,8290450 I 339 MAIL$_FORWLOOP ,I4,8290458 I 340 MAIL$_NAMTOOBIG ,I4,8290466 I 341 MAIL$_ILLCHAR ,I4,8290474 I 342 MAIL$_DATIMUSED ,I4,8290482 I 343 MAIL$_NOTISAM ,I4,8290490 I 344 MAIL$_DELMSG ,I4,8290498 I 345 MAIL$_DELWASTE ,I4,8290506 I 346 MAIL$_NOFOLDER ,I4,8290514 I 347 MAIL$_NOTEXIST ,I4,8290522 I 348 MAIL$_NOTSUBDIR ,I4,8290530 I 349 MAIL$_ILLSUBDIR ,I4,8290538 I 350 MAIL$_ILLFOLNAM ,I4,8290546 I 351 MAIL$_NOMSGPRI ,I4,8290554 I 352 MAIL$_ALTPRIJOB ,I4,8290562 I 353 MAIL$_ILLPERNAM ,I4,8290570 I 354 MAIL$_NOSUCHUSRAT ,I4,8290578 I 355 MAIL$_SENDERRAT ,I4,8290586 I 356 MAIL$_CONABORT ,I4,8290594 I 357 MAIL$_NOTCALEDT ,I4,8290602 I 358 MAIL$_FILECONFUSED ,I4,8290610 I 359 MAIL$_CAPTIVE ,I4,8290618 I 360 MAIL$_IVPROTVAL ,I4,8290626 I 361 MAIL$_RECTOBIG ,I4,8290634 I 362 MAIL$_ILLCTXADR ,I4,8290642 I 363 MAIL$_WRONGCTX ,I4,8290650 I 364 MAIL$_FAILGETVM ,I4,8290658 I 365 MAIL$_INVITMCOD ,I4,8290666 I 366 MAIL$_MISREQITM ,I4,8290674 I 367 MAIL$_INVITMLEN ,I4,8290682 I 368 MAIL$_FILEOPEN ,I4,8290690 I 369 MAIL$_NOFILEOPEN ,I4,8290698 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 10 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 370 MAIL$_CONITMCOD ,I4,8290706 I 371 MAIL$_NOMORECTX ,I4,8290714 I 372 MAIL$_WRONGFILE ,I4,8290722 I 373 MAIL$_ILLTPRT ,I4,8290730 I 374 MAIL$_INVITMVAL ,I4,8290738 I 375 MAIL$_ERACTED ,I4,8290746 I 376 MAIL$_FORMSG ,I4,8290754 I 377 MAIL$_NOTFORMSG ,I4,8290762 I 378 MAIL$_ERRACTRNS ,I4,8290770 I 379 MAIL$_BADVALUE ,I4,8290778 I 380 MAIL$_CLOSEDEL ,I4,8290786 I 381 MAIL$_FILNOTDEL ,I4,8290794 I 382 MAIL$_OPENIN ,I4,8290802 I 383 MAIL$_OPENOUT ,I4,8290810 I 384 MAIL$_PARSEFAIL ,I4,8290818 I 385 MAIL$_READERR ,I4,8290826 I 386 MAIL$_SEARCHFAIL ,I4,8290834 I 387 MAIL$_SYSERROR ,I4,8290842 I 388 MAIL$_NOSYSNAM ,I4,8290850 I 389 MAIL$_NOSYSPRV ,I4,8290858 I 390 MAIL$_PROTOCOL ,I4,8290866 I 391 MAIL$_NOACCPTMSG ,I4,8290874 I 392 MAIL$_SELECTED ,I4,8306307 I 393 MAIL$_DELMSGS ,I4,8306315 I 394 MAIL$_CVTFILE ,I4,8306323 I 395 MAIL$_DELSPACE ,I4,8306331 I 396 MAIL$_NEWFOLDER ,I4,8306339 I 397 MAIL$_RECLPLSWAIT ,I4,8306347 I 398 MAIL$_REENTER ,I4,8306355 I 399 MAIL$_MOREMSG ,I4,8314304 I 400 MAIL$_DIRHD0 ,I4,8314312 I 401 MAIL$_DIRHD10 ,I4,8314320 I 402 MAIL$_DIRHD20 ,I4,8314328 I 403 MAIL$_DIRDEL10 ,I4,8314336 I 404 MAIL$_ISUB10 ,I4,8314344 I 405 MAIL$_ISUB20 ,I4,8314352 I 406 MAIL$_ISUB30 ,I4,8314360 I 407 MAIL$_PRESRET ,I4,8314368 I 408 MAIL$_YOUHAVENEW ,I4,8314376 I 409 MAIL$_MAIL10 ,I4,8314384 I 410 MAIL$_MAIL20 ,I4,8314392 I 411 MAIL$_WANTOSEND ,I4,8314400 I 412 MAIL$_NOTIFY10 ,I4,8314408 I 413 MAIL$_NOTIFY20 ,I4,8314416 I 414 MAIL$_JOBENTERED ,I4,8314424 I 415 MAIL$_SHOW10 ,I4,8314432 I 416 MAIL$_SHOW20 ,I4,8314440 I 417 MAIL$_SHOW30 ,I4,8314448 I 418 MAIL$_SHOW40 ,I4,8314456 I 419 MAIL$_SHOW50 ,I4,8314464 I 420 MAIL$_SHOW60 ,I4,8314472 I 421 MAIL$_SHOW70 ,I4,8314480 I 422 MAIL$_SHOW80 ,I4,8314488 I 423 MAIL$_SHOW90 ,I4,8314496 I 424 MAIL$_SHOW100 ,I4,8314504 I 425 MAIL$_SHOW110 ,I4,8314512 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 11 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 426 MAIL$_EDIT10 ,I4,8314520 I 427 MAIL$_INFO10 ,I4,8314528 I 428 MAIL$_INFO20 ,I4,8314536 I 429 MAIL$_INFO30 ,I4,8314544 I 430 MAIL$_SEND ,I4,8314552 I 431 MAIL$_REPLY ,I4,8314560 I 432 MAIL$_SHOW120 ,I4,8314568 I 433 MAIL$_SHOW130 ,I4,8314576 I 434 MAIL$_INFO50 ,I4,8314584 I 435 MAIL$_SHOW140 ,I4,8314592 I 436 MAIL$_SHOW150 ,I4,8314600 I 437 MAIL$_SHOW160 ,I4,8314608 I 438 MAIL$_ISUB50 ,I4,8314616 I 439 MAIL$_MAIL30 ,I4,8314624 I 440 MAIL$_RETCONT ,I4,8314632 I 441 MAIL$_NEWSEQ ,I4,8314640 I 442 MAIL$_MAILDIR ,I4,8314648 I 443 MAIL$_MAILFILE ,I4,8314656 I 444 MAIL$_MAILFOLDER ,I4,8314664 I 445 MAIL$_MAIL40 ,I4,8314672 I 446 MAIL$_CRENEWFOLD ,I4,8314680 I 447 MAIL$_NONEWMAIL ,I4,8314688 I 448 MAIL$_SHOWKEY10 ,I4,8314696 I 449 MAIL$_SHOWKEY20 ,I4,8314704 I 450 MAIL$_SHOWKEY30 ,I4,8314712 I 451 MAIL$_SHOWKEY40 ,I4,8314720 I 452 MAIL$_SHOWKEY50 ,I4,8314728 I 453 MAIL$_SHOWKEY60 ,I4,8314736 I 454 MAIL$_SHOWKEY70 ,I4,8314744 I 455 MAIL$_NOTIFY30 ,I4,8314752 I 456 MAIL$_NOTIFY40 ,I4,8314760 I 457 MAIL$_NOPARENT ,I4,8314768 I 458 MAIL$_FILEMPTY ,I4,8314776 I 459 MAIL$_NONEFOUND ,I4,8314784 I 460 MAIL$_NOMOREREC ,I4,8314792 I 461 MAIL$_USERFWD ,I4,8314800 I 462 MAIL$_PROMPT ,I4,8314808 I 463 MAIL$_INFO12 ,I4,8314816 I 464 MAIL$_INFO14 ,I4,8314824 I 465 MAIL$_INFO16 ,I4,8314832 I 466 MAIL$_INFO18 ,I4,8314840 I 467 MAIL$_CRENEWFILE ,I4,8314848 I 468 MAIL$_SHOW15 ,I4,8314856 I 469 MAIL$_SHOW25 ,I4,8314864 I 470 MAIL$_SHOW35 ,I4,8314872 I 471 MAIL$_FORWARD ,I4,8314880 I 472 MAIL$_SHOW200 ,I4,8314888 I 473 MAIL$_SHOW205 ,I4,8314896 I 474 MAIL$_SHOW210 ,I4,8314904 I 475 MAIL$_SHOW215 ,I4,8314912 I 476 MAIL$_CLOSEIN ,I4,8314920 I 477 MAIL$_CLOSEOUT ,I4,8314928 I 478 MAIL$_INVQUAVAL ,I4,8314936 I 479 MAIL$_WRITEERR ,I4,8314944 I 480 MAIL$_SHOW220 ,I4,8314952 I 481 MAIL$_SHOW225 ,I4,8314960 SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 12 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 482 MAIL$_MSGTEXT ,I4,8322305 I 483 MAIL$_MSGINFO ,I4,8322313 I 484 MAIL$_MSGSENT ,I4,8322321 I 485 MAIL$_MSGSENTAT ,I4,8322329 I 486 MAIL$_YES ,I4,8322337 I 487 MAIL$_COPIEDR ,I4,8322345 I 488 MAIL$_CREATED ,I4,8322353 I 489 MAIL$_RENAMED ,I4,8322361 I 490 MAIL$_TEXT ,I4,8322369 I 491 MAIL$_MAILFOLD ,I4,8322377 I 492 MAIL$_WASTEFOLD ,I4,8322385 .page SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 13 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .include '$jpidef' library 'sys$library:dblstarlet' I ;+ I ; Module $JPIDEF I ;- I ;+ I ; I ; Get Job Process Information Data Identifier Definitions I ; I ; **** NOTE **** I ; I ; New items must always be added to the END of each item list I ; (preceeding the ENDlistname item) so that users will not have I ; to relink. I ;- I ; DEFINE TABLE NUMBERS I ; STRUCTURE CODES MUST START AT 1 I 493 LITERAL I 494 JPI$C_ADRTYPE, I, 1 ; ITEM IS ADDRESS OF DATA I 495 JPI$C_CTLTYPE, I, 2 ; ITEM IS IN CONTROL REGION I 496 JPI$C_PCBTYPE, I, 3 ; ITEM IN PCB I 497 JPI$C_PHDTYPE, I, 4 ; ITEM IN PHD I 498 JPI$C_PCBFLDTYPE, I, 5 ; ITEM IS BIT FIELD I 499 JPI$C_PHDFLDTYPE, I, 6 ; ITEM IS BIT FIELD I 500 JPI$C_JIBTYPE, I, 7 ; ITEM IN JIB (SUBTYPE) I 501 JPI$C_MAXSTRUC, I, 6 ; TOTAL OF 6 TABLES I 502 JPI$C_LISTEND, I, 0 ; DEFINE ITMLST TERMINATOR I 503 JPI$_CHAIN, I, -1 ; CHAIN INDICATOR I ; I ; NOTE!! The following constants match values in $JIBDEF. I ; I 504 JPI$K_OTHER, I, 0 ; JPI$_Mode values I 505 JPI$K_NETWORK, I, 1 ; JPI$_Mode values I 506 JPI$K_BATCH, I, 2 ; JPI$_Mode values I 507 JPI$K_INTERACTIVE, I, 3 ; JPI$_Mode values I 508 JPI$K_DETACHED, I, 0 ; JPI$_JOBTYPE values I 509 JPI$K_LOCAL, I, 3 ; JPI$_JOBTYPE values I 510 JPI$K_DIALUP, I, 4 ; JPI$_JOBTYPE values I 511 JPI$K_REMOTE, I, 5 ; JPI$_JOBTYPE values I ; (also BATCH & INTERACTIVE) I ; ITEM IDENTIFIERS FOR PCB I 512 JPI$_ASTACT, I, 768 ; ACCESS MODES WITH ACTIVE ASTS I 513 JPI$_ASTEN, I, 769 ; ACCESS MODES WITH ASTS ENABLED I 514 JPI$_PRI, I, 770 ; CURRENT PROCESS PRIORITY I 515 JPI$_OWNER, I, 771 ; PID OF CREATOR PROCESS I 516 JPI$_UIC, I, 772 ; UIC OF PROCESS I 517 JPI$_STS, I, 773 ; PROCESS STATUS I 518 JPI$_STATE, I, 774 ; PROCESS STATE I 519 JPI$_MEM, I, 775 ; MEMBER FIELD OF UIC I 520 JPI$_GRP, I, 776 ; GROUP FIELD OF UIC I 521 JPI$_PRIB, I, 777 ; PROCESS BASE PRIORITY I 522 JPI$_APTCNT, I, 778 ; ACTIVE PAGE TABLE COUNT I 523 JPI$_TMBU, I, 779 ; TERMINATION MAILBOX UNIT I 524 JPI$_GPGCNT, I, 780 ; GLOBAL PAGE COUNT IN WORKING SET I 525 JPI$_PPGCNT, I, 781 ; PROCESS PAGE COUNT IN WORKING SET I 526 JPI$_ASTCNT, I, 782 ; AST COUNT REMAINING I 527 JPI$_BIOCNT, I, 783 ; BUFFERED I/O COUNT REMAINING SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 14 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 528 JPI$_BIOLM, I, 784 ; BUFFERED I/O LIMIT I 529 JPI$_BYTCNT, I, 785 ; BYTE COUNT REMAINING FOR BUFFERED I/O I 530 JPI$_DIOCNT, I, 786 ; DIRECT I/O COUNT REMAINING I 531 JPI$_DIOLM, I, 787 ; DIRECT I/O COUNT LIMIT I 532 JPI$_FILCNT, I, 788 ; COUNT REMAINING OF OPEN FILES I 533 JPI$_TQCNT, I, 789 ; COUNT REMAINING OF TIMER QUEUE ENTRIES I 534 JPI$_EFWM, I, 790 ; EVENT FLAG WAIT MASK I 535 JPI$_EFCS, I, 791 ; LOCAL EVENT FLAGS 0-31 I 536 JPI$_EFCU, I, 792 ; LOCAL EVENT FLAGS 32-63 I 537 JPI$_PID, I, 793 ; PROCESS IDENTIFICATION I 538 JPI$_BYTLM, I, 794 ; BUFFERED I/0 BYTE COUNT LIMIT I 539 JPI$_PRCCNT, I, 795 ; SUBPROCESS COUNT I 540 JPI$_PRCNAM, I, 796 ; PROCESS NAME I 541 JPI$_TERMINAL, I, 797 ; LOGIN TERMINAL NAME I 542 JPI$_JOBPRCCNT, I, 798 ; TOTAL COUNT OF SUBPROCESSES IN A JOB I 543 JPI$_ENQCNT, I, 799 ; ENQUEUE COUNT REMAINING I 544 JPI$_ENQLM, I, 800 ; ENQUEUE COUNT LIMIT I 545 JPI$_SWPFILLOC, I, 801 ; SWAP FILE BACKING STORE ADDRESS I 546 JPI$_MODE, I, 802 ; MODE VALUE (FROM STS) - DEFINED ABOVE I 547 JPI$_JOBTYPE, I, 803 ; JOB TYPE CODE I 548 JPI$_PROC_INDEX, I, 804 ; PROCESS INDEX I 549 JPI$_MASTER_PID, I, 805 ; MASTER PROCESS PID I ; ADD ITEM-CODES BEFORE THIS COMMENT I 550 JPI$_LASTPCB, I, 806 ; MAX INDEX IN PCB TABLE I ; ITEM IDENTIFIERS FOR PHD I 551 JPI$_CURPRIV, I, 1024 ; CURRENT PROCESS PRIVILEGE MASK I 552 JPI$_WSAUTH, I, 1025 ; AUTHORIZED WORKING SET SIZE I 553 JPI$_WSQUOTA, I, 1026 ; QUOTA ON WORKING SET SIZE I 554 JPI$_DFWSCNT, I, 1027 ; DEFAULT WORKING SET SIZE I 555 JPI$_FREP0VA, I, 1028 ; FIRST FREE VIRTUAL ADDR. AT END OF P0 SPACE I 556 JPI$_FREP1VA, I, 1029 ; FIRST FREE ADDR. AT END OF P1 SPACE I 557 JPI$_DFPFC, I, 1030 ; DEFAULT PAGE FAULT CLUSTER I 558 JPI$_CPUTIM, I, 1031 ; ACCUMULATED CPU TIME I 559 JPI$_PRCLM, I, 1032 ; SUBPROCESS QUOTA I 560 JPI$_ASTLM, I, 1033 ; AST LIMIT I 561 JPI$_PAGEFLTS, I, 1034 ; COUNT OF PAGE FAULTS I 562 JPI$_DIRIO, I, 1035 ; PROCESS DIRECT I/O OPERATIONS I 563 JPI$_BUFIO, I, 1036 ; PROCESS BUFFERED I/O OPERATIONS I 564 JPI$_CPULIM, I, 1037 ; LIMIT ON CPUTIM FOR PROCESS I 565 JPI$_PGFLQUOTA, I, 1038 ; MAX. VIRTUAL PAGE COUNT I 566 JPI$_FILLM, I, 1039 ; OPEN FILE LIMIT I 567 JPI$_TQLM, I, 1040 ; TIMER QUEUE LIMIT I 568 JPI$_WSSIZE, I, 1041 ; CURRENT WORKING SET SIZE I 569 JPI$_AUTHPRIV, I, 1042 ; AUTHORIZED PRIVILEGE MASK I 570 JPI$_IMAGPRIV, I, 1043 ; INSTALLED IMAGE PRIVILEGE MASK I 571 JPI$_PAGFILCNT, I, 1044 ; PAGES CHARGED TO PAGE FILE QUOTA I 572 JPI$_FREPTECNT, I, 1045 ; ROOM FOR EXPANSION OF P0 OR P1 SPACE I 573 JPI$_WSEXTENT, I, 1046 ; EXTENT OF WORKING SET SIZE I 574 JPI$_WSAUTHEXT, I, 1047 ; MAX EXTENT OF WORKING SET SIZE I 575 JPI$_AUTHPRI, I, 1048 ; AUTHORIZED PRIORITY FOR $SETPRI I 576 JPI$_PAGFILLOC, I, 1049 ; PAGE FILE BACKING STORE ADDRESS I 577 JPI$_IMAGECOUNT, I, 1050 ; IMAGE COUNTER (CLOCKED BY RUNDOWN) I 578 JPI$_PHDFLAGS, I, 1051 ; PROCESS HEADER FLAGS WORD I ; ADD ITEM-CODES BEFORE THIS COMMENT I 579 JPI$_LASTPHD, I, 1052 ; MAX INDEX IN PROCESS HEADER I ; ITEM IDENTIFIERS FOR CONTROL REGION SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 15 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 I 580 JPI$_VIRTPEAK, I, 512 ; PEAK VIRTUAL SIZE I 581 JPI$_WSPEAK, I, 513 ; PEAK WORKING SET SIZE I 582 JPI$_USERNAME, I, 514 ; USERNAME STRING I 583 JPI$_ACCOUNT, I, 515 ; ACCOUNT NAME STRING I 584 JPI$_PROCPRIV, I, 516 ; PROCESS PRIVILEGE MASK I 585 JPI$_VOLUMES, I, 517 ; VOLUMES MOUNTED I 586 JPI$_LOGINTIM, I, 518 ; TIME OF LOGIN OR PROCESS CREATION I 587 JPI$_IMAGNAME, I, 519 ; CURRENT IMAGE FILE NAME I 588 JPI$_SITESPEC, I, 520 ; PER-PROCESS SITE-SPECIFIC CELL I 589 JPI$_MSGMASK, I, 521 ; PROCESS DEFAULT MESSAGE FLAGS I 590 JPI$_CLINAME, I, 522 ; COMMAND LANGUAGE INTERPRETER NAME I 591 JPI$_TABLENAME, I, 523 ; COMMAND LANGUAGE INTERPRETER TABLE NAME I 592 JPI$_CREPRC_FLAGS, I, 524 ; $CREPRC FLAGS USED TO CREATE THIS PROCESS I 593 JPI$_UAF_FLAGS, I, 525 ; FLAGS FROM UAF RECORD I 594 JPI$_MAXDETACH, I, 526 ; MAXIMUM DETACHED PROCESSES FOR SINGLE USER I 595 JPI$_MAXJOBS, I, 527 ; MAXIMUM ACTIVE PROCESSES FOR SINGLE USER I 596 JPI$_SHRFILLM, I, 528 ; MAXIMUM OPEN SHARED FILES I ; ADD ITEM-CODES BEFORE THIS COMMENT I 597 JPI$_LASTCTL, I, 529 ; MAX INDEX IN CONTROL REGION I ; ITEM IDENTIFIERS FOR ADDRESS DATA I 598 JPI$_EXCVEC, I, 256 ; ADDRESS OF "EXCEPTION VECTOR" VECTOR I 599 JPI$_FINALEXC, I, 257 ; ADDRESS OF LAST CHANCE EXCEPTION VECTORS I ; ADD ITEM-CODES BEFORE THIS COMMENT I 600 JPI$_LASTADR, I, 258 ; MAX INDEX IN ADDRESS TABLE I ; ITEM IDENTIFIERS FOR PCBFLD I ; ADD ITEM-CODES BEFORE THIS COMMENT I 601 JPI$_LASTPCBFLD, I, 1280 ; MAX INDEX IN PCBFLD TABLE I ; ITEM IDENTIFIERS FOR PHDFLD I ; ADD ITEM-CODES BEFORE THIS COMMENT I 602 JPI$_LASTPHDFLD, I, 1536 ; MAX INDEX IN PHDFLD TABLE I ;+ I ; Module $KGBDEF .page SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 16 Data Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 603 RECORD 604 GROUP IN_ITEM_LIST ,[5]A 605 1 Buff_Length ,I2 606 1 Item_Code ,I2 607 1 Buffer_Addr ,I4 608 1 Return_Length ,I4 609 1 ENDGROUP 610 In_End_Of_List ,I4 611 RECORD 612 GROUP OUT_ITEM_LIST ,[5]A 613 1 Buff_Length ,I2 614 1 Item_Code ,I2 615 1 Buffer_Addr ,I4 616 1 Return_Length ,I4 617 1 ENDGROUP 618 Out_End_Of_List ,I4 619 RECORD 620 SEND_CONTEXT ,I4 ;Context Returned from Call to SEND routines 621 STATUS ,I4 ;Status Returned from Call 622 TEXT ,A80 ;Message Text of this Mail Message Record 623 TEXT_LENGTH ,I4 ;Length of "TEXT" 624 COUNTER ,I2 ;Counter for loop control 625 MESSAGE_ID ,I4 ;Message ID 626 ZERO ,I2,0 ;Zero 627 CURRENT_USERNAME ,A12 ;Current Username 628 CU_LENGTH ,I4 ;Length of "CURRENT_USERNAME" 629 ERROR ,D3 ;Error Number 630 IOSB ,[4]I2 ;I/O Status Block 631 ADDRESS_LEN ,I1 ;Length of "ADDRESS" Argument 632 SUBJECT_LEN ,I1 ;Length of "SUBJECT" Argument 633 MESSAGE_LEN ,I2 ;Length of "MESSAGE" Argument 634 FILENAME ,A80 ;File Specification of message to be mailed 635 FILENAME_LEN ,I1 ;Length of File Specification to be mailed 636 DEF_FILE_EXT ,A4,'.TXT' ;Default File Extension (.TXT) 637 DEF_FILE_EXT_LEN ,I1,4 ;Length of Default File Extension (.TXT) 638 RESULT_FILE_SPEC ,A80 ;Returned File Specification 639 RESULT_FILE_SPEC_LEN ,I1 ;Length of Returned File Specification 640 ALREADY_OPEN ,I1 ;Flag indicating status of current channel ; 0 - Not Yet Opened ; 1 - Already Opened 641 NEXT_AVAILABLE_CHANNEL ,I2,99 ;Next Available Channel Number 642 MESSAGE_FILE ,A80 ;File Specification to be mailed 643 MESSAGE_FILE_LEN ,I1 ;Length of "MESSAGE_FILE" 644 FILE_TO_SEND ,I1 ;Switch indicating nature of "MESSAGE" Argument ; 0 - Message Text (255 Chars max) ; 1 - File name to be mailed 645 FUNCTION_ERROR ,I4 ;Return Error Code SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 17 Procedure Division 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 646 PROC 647 XCALL FLAGS (0001000000) 648 In_Item_List[1].Buff_Length = Zero 649 In_Item_List[1].Item_Code = MAIL$_NOSIGNAL 650 In_Item_List[1].Buffer_Addr = Zero 651 In_Item_List[1].Return_Length = Zero 652 In_End_Of_List = Zero 653 Status = %MAIL$SEND_BEGIN (%REF(Send_Context) & ,%REF(In_Item_list) & ,%REF(Out_Item_List)) 654 IF (.NOT.%SUCCESS(Status)) XCALL LIB$STOP (%VAL(Status)) 655 CALL CLEAR_ITEM_LISTS 656 In_Item_List[1].Buff_Length = %SIZE(CURRENT_USERNAME) 657 In_Item_List[1].Item_Code = JPI$_USERNAME 658 In_Item_List[1].Buffer_Addr = %ADDR(CURRENT_USERNAME) 659 In_Item_List[1].Return_Length = %ADDR(CU_LENGTH) 660 In_End_Of_List = Zero 661 Status = %SYS$GETJPIW (,,,%REF(In_Item_list),%REF(IOSB),,) 662 IF (.NOT.%SUCCESS(Status)) XCALL LIB$STOP (%VAL(Status)) SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 18 Parse MESSAGE Argument 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Parse MESSAGE Argument' 663 PARSE_MESSAGE, 664 FILE_TO_SEND = %INSTR (1,MESSAGE,'@') ;Look for the @ 665 MESSAGE_LEN = %SIZE (MESSAGE) ;Get length of MESSAGE argument passed 666 ADDRESS_LEN = %SIZE (ADDRESS) ;Get length of ADDRESS argument passed 667 SUBJECT_LEN = %SIZE (SUBJECT) ;Get length of SUBJECT argument passed 668 IF (FILE_TO_SEND .AND. FILE_TO_SEND .LT. MESSAGE_LEN) 669 1 BEGIN 670 1 DO ;Search for available channel number 671 2 BEGIN 672 2 INCR NEXT_AVAILABLE_CHANNEL 673 2 XCALL DBL$CHOPEN (NEXT_AVAILABLE_CHANNEL,ALREADY_OPEN) 674 2 END 675 1 UNTIL .NOT. ALREADY_OPEN 676 1 INCR FILE_TO_SEND 677 1 MESSAGE_FILE_LEN = MESSAGE_LEN - 1 678 1 MESSAGE_FILE(1:MESSAGE_FILE_LEN) = MESSAGE(FILE_TO_SEND:MESSAGE_LEN) 679 1 ONERROR OPEN_ERROR 680 1 OPEN (NEXT_AVAILABLE_CHANNEL,I,MESSAGE_FILE(1:MESSAGE_FILE_LEN)) 681 1 OFFERROR 682 1 CLOSE NEXT_AVAILABLE_CHANNEL 683 1 END SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 19 Add Attributes to Header 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Add Attributes to Header' 684 ADD_ATTRIBUTES_TO_HEADER, 685 CALL CLEAR_ITEM_LISTS 686 In_Item_List[1].Buff_Length = Zero 687 In_Item_List[1].Item_Code = MAIL$_NOSIGNAL 688 In_Item_List[1].Buffer_Addr = Zero 689 In_Item_List[1].Return_Length = Zero 690 In_Item_List[2].Buff_Length = ADDRESS_LEN 691 In_Item_List[2].Item_Code = MAIL$_SEND_TO_LINE 692 In_Item_List[2].Buffer_Addr = %ADDR(ADDRESS(1:ADDRESS_LEN)) 693 In_Item_List[2].Return_Length = Zero 694 In_Item_List[3].Buff_Length = CU_LENGTH 695 In_Item_List[3].Item_Code = MAIL$_SEND_FROM_LINE 696 In_Item_List[3].Buffer_Addr = %ADDR(CURRENT_USERNAME(1:CU_LENGTH)) 697 In_Item_List[3].Return_Length = Zero 698 In_Item_List[4].Buff_Length = SUBJECT_LEN 699 In_Item_List[4].Item_Code = MAIL$_SEND_SUBJECT 700 In_Item_List[4].Buffer_Addr = %ADDR(SUBJECT(1:SUBJECT_LEN)) 701 In_Item_List[4].Return_Length = Zero 702 In_End_Of_List = Zero 703 Status = %MAIL$SEND_ADD_ATTRIBUTE (%REF(Send_Context) & ,%REF(In_Item_list) & ,%REF(Out_Item_List)) 704 IF (.NOT.%SUCCESS(Status)) XCALL LIB$STOP (%VAL(Status)) SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 20 Address Message 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Address Message' 705 ADDRESS_MESSAGE, 706 CALL CLEAR_ITEM_LISTS 707 In_Item_List[1].Buff_Length = Zero 708 In_Item_List[1].Item_Code = MAIL$_NOSIGNAL 709 In_Item_List[1].Buffer_Addr = Zero 710 In_Item_List[1].Return_Length = Zero 711 In_Item_List[2].Buff_Length = ADDRESS_LEN 712 In_Item_List[2].Item_Code = MAIL$_SEND_USERNAME 713 In_Item_List[2].Buffer_Addr = %ADDR(ADDRESS(1:ADDRESS_LEN)) 714 In_Item_List[2].Return_Length = Zero 715 In_End_Of_List = Zero 716 Status = %MAIL$SEND_ADD_ADDRESS (%REF(Send_Context) & ,%REF(In_Item_list) & ,%REF(Out_Item_List)) 717 IF (.NOT.%SUCCESS(Status)) FUNCTION_ERROR = Status ;Bad "TO:" SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 21 Format Message 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Format Message' 718 FORMAT_MESSAGE, 719 CALL CLEAR_ITEM_LISTS 720 In_Item_List[1].Buff_Length = Zero 721 In_Item_List[1].Item_Code = MAIL$_NOSIGNAL 722 In_Item_List[1].Buffer_Addr = Zero 723 In_Item_List[1].Return_Length = Zero 724 IF (FILE_TO_SEND) THEN 725 1 BEGIN 726 1 In_Item_List[2].Buff_Length = MESSAGE_FILE_LEN 727 1 In_Item_List[2].Item_Code = MAIL$_SEND_FILENAME 728 1 In_Item_List[2].Buffer_Addr = %ADDR(MESSAGE_FILE(1:MESSAGE_FILE_LEN)) 729 1 In_Item_List[2].Return_Length = Zero 730 1 Out_Item_List[1].Buff_Length = %SIZE(RESULT_FILE_SPEC) 731 1 Out_Item_List[1].Item_Code = MAIL$_SEND_RESULTSPEC 732 1 Out_Item_List[1].Buffer_Addr = %ADDR(RESULT_FILE_SPEC) 733 1 Out_Item_List[1].Return_Length = %ADDR(RESULT_FILE_SPEC_LEN) 734 1 In_End_Of_List = Zero 735 1 Out_End_Of_List = Zero 736 1 END 737 ELSE 738 1 BEGIN 739 1 In_Item_List[2].Buff_Length = MESSAGE_LEN 740 1 In_Item_List[2].Item_Code = MAIL$_SEND_RECORD 741 1 In_Item_List[2].Buffer_Addr = %ADDR(MESSAGE(1:MESSAGE_LEN)) 742 1 In_Item_List[2].Return_Length = Zero 743 1 In_End_Of_List = Zero 744 1 END 745 Status = %MAIL$SEND_ADD_BODYPART (%REF(Send_Context) & ,%REF(In_Item_list) & ,%REF(Out_Item_List)) 746 IF (.NOT.%SUCCESS(Status)) XCALL LIB$STOP (%VAL(Status)) SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 22 Send Message 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Send Message' 747 SEND_MESSAGE, 748 CALL CLEAR_ITEM_LISTS 749 In_Item_List[1].Buff_Length = Zero 750 In_Item_List[1].Item_Code = MAIL$_NOSIGNAL 751 In_Item_List[1].Buffer_Addr = Zero 752 In_Item_List[1].Return_Length = Zero 753 In_End_Of_List = Zero 754 Status = %MAIL$SEND_MESSAGE (%REF(Send_Context) & ,%REF(In_Item_list) & ,%REF(Out_Item_List)) 755 IF (.NOT.%SUCCESS(Status)) XCALL LIB$STOP (%VAL(Status)) 756 CLEAN_UP_AND_RETURN, 757 CALL CLEANUP 758 XRETURN FUNCTION_ERROR SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 23 Clear Item List Arrays 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Clear Item List Arrays' 759 CLEAR_ITEM_LISTS, 760 CLEAR Counter 761 FOR Counter FROM 1 THRU 5 762 1 BEGIN 763 1 CLEAR In_Item_list[Counter].Buff_Length 764 1 CLEAR In_Item_List[Counter].Item_Code 765 1 CLEAR In_Item_List[Counter].Buffer_Addr 766 1 CLEAR In_Item_List[Counter].Return_Length 767 1 CLEAR Out_Item_list[Counter].Buff_Length 768 1 CLEAR Out_Item_List[Counter].Item_Code 769 1 CLEAR Out_Item_List[Counter].Buffer_Addr 770 1 CLEAR Out_Item_List[Counter].Return_Length 771 1 END 772 RETURN SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 24 Cleanup and Exit 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'Cleanup and Exit' 773 CLEANUP, 774 CALL CLEAR_ITEM_LISTS 775 In_Item_List[1].Buff_Length = Zero 776 In_Item_List[1].Item_Code = MAIL$_NOSIGNAL 777 In_Item_List[1].Buffer_Addr = Zero 778 In_Item_List[1].Return_Length = Zero 779 In_End_Of_List = Zero 780 Status = %MAIL$SEND_END (%REF(Send_Context) & ,%REF(In_Item_list) & ,%REF(Out_Item_List)) 781 RETURN SNDMA Send Mail Subroutine 5-DEC-1990 19:20:46 VAX DIBOL V4.1-00 Page 25 File Open Error 5-DEC-1990 19:20:07 DUB0:[DECUS]SNDMA.SBL;1 .subtitle 'File Open Error' 782 OPEN_ERROR, 783 OFFERROR 784 Error = %ERROR ; Possibilities ; ; 17 $ERR_FILSPC - Illegal Characters in File Specification ; ; 22 $ERR_IOFAIL - Hardware problem. ; ; 24 $ERR_NOSPAC - No space for file ; ; 32 $ERR_REPLAC - Already Exists ; 785 CALL CLEAR_ITEM_LISTS 786 CLOSE NEXT_AVAILABLE_CHANNEL 787 FUNCTION_ERROR = Error ;Return File Open Error 788 GOTO CLEAN_UP_AND_RETURN No errors detected DIBOL/NOSTAND/OBJECT/LIS SNDMA.SBL