
                                                                12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   1
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0001    	OPTIONS/EXTEND
0002    	PROGRAM		MAIL_UTIL
0003     
0004    	IMPLICIT INTEGER (A-Z)
0005     
0006    	LOGICAL*1	ALL_BIT, MY_BIT, NET_BIT
0007     
0008    	INTEGER*4	LID, MID, ISTAT, LEN_NAME
0009     
0010    	CHARACTER	USERID*31, MYNAME*31, SENDNAME*31, PASSNAME*31, MYACC*8,
0011         &			REMOBJ*31, OUBUF*80
0012    C
0013    	EXTERNAL	CLI$DCL_PARSE, CLI$DISPATCH, CLI$PRESENT
0014    C
0015    	CALL WHOAMI( PASSNAME, MYACC, LEN_NAME )
0016    C
0017    	MYNAME = PASSNAME(1:LEN_NAME)//' '
0018    C
0019    	IF (CLI$PRESENT('NETWORK')) THEN
0020    		NET_BIT = .TRUE.
0021    	ELSE
0022    		NET_BIT = .FALSE.
0023    	ENDIF
0024    C
0025    	IF (NET_BIT) THEN
0026    C
0027    		CALL NETUAF( MYNAME, PASSNAME, LEN_NAME, LID )
0028    C
0029    		MYNAME = PASSNAME(1:LID)//' '
0030    C
0031    		LEN_NAME = LID
0032    C
0033    		OPEN( UNIT=20, NAME='SYS$NET', STATUS='OLD', ACCESS='SEQUENTIAL',
0034         &			CARRIAGECONTROL='NONE', FORM='FORMATTED' )
0035    C
0036    		READ(20,100) SENDNAME
0037    		READ(20,110) LID
0038    		READ(20,140) INBUF
0039    C
0040    		IF (INBUF .EQ. '/ALL') THEN
0041    			ALL_BIT = .TRUE.
0042    		ELSE
0043    			ALL_BIT = .FALSE.
0044    		ENDIF
0045    C
0046    		MY_BIT = .FALSE.
0047    		IF (MYNAME(1:LEN_NAME) .EQ. SENDNAME(1:LID)) MY_BIT = .TRUE.
0048    C
0049    		CALL	GET_MAIL( SENDNAME, LID, ALL_BIT, MY_BIT, MYNAME, LEN_NAME )
0050    C
0051    		WRITE(20,140) 'QUIT'
0052    C
0053    		CLOSE(20)
0054    C
0055    	ELSE
0056    C
0057    		IF (CLI$PRESENT('ALL')) THEN

MAIL_UTIL                                                       12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   2
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0058    			ALL_BIT = .TRUE.
0059    		ELSE
0060    			ALL_BIT = .FALSE.
0061    		ENDIF
0062    C
0063    		IF (CLI$PRESENT('FULL')) THEN
0064    			ALL_BIT = .TRUE.
0065    		ENDIF
0066    C
0067    		IF (CLI$PRESENT('SENDNAME')) THEN
0068    			CALL CLI$GET_VALUE('SENDNAME',USERID)
0069    			CALL STR$TRIM(USERID, USERID, LID)
0070    			IF (MYNAME(1:LEN_NAME) .EQ. USERID(1:LID)) MY_BIT = .TRUE.
0071    		ELSE
0072    			USERID = MYNAME(1:LEN_NAME)//' '
0073    			LID = LEN_NAME
0074    			MY_BIT = .TRUE.
0075    		ENDIF
0076    C
0077    		LOC_NODE = INDEX(USERID(1:LID),'::')
0078    C
0079    		OPEN( UNIT=20, NAME='SYS$OUTPUT', STATUS='NEW', ACCESS='SEQUENTIAL',
0080         &			CARRIAGECONTROL='LIST', FORM = 'FORMATTED' )
0081    C
0082    		IF (LOC_NODE .NE. 0) THEN
0083    C
0084    			REMOBJ = USERID(1:(LOC_NODE+1))//'"0=$NWML"'//' '
0085    			OPEN( UNIT=30, NAME=REMOBJ, STATUS='UNKNOWN', ACCESS='SEQUENTIAL',
0086         &				CARRIAGECONTROL='NONE', FORM='FORMATTED' )
0087    C
0088    			WRITE(6,500) USERID
0089    			SENDNAME = USERID((LOC_NODE+2):LID)
0090    			LID = LID - LOC_NODE - 1
0091    			WRITE(30,100) SENDNAME
0092    			WRITE(30,110) LID
0093    			IF (ALL_BIT) THEN
0094    				WRITE(30,120)
0095    			ELSE
0096    				WRITE(30,130)
0097    			ENDIF
0098    C
0099    			READ(30,4000,END=9000) OUBUF
0100    C
0101    			DO WHILE (OUBUF(1:4) .NE. 'QUIT')
0102    C
0103    				WRITE(20,4000) OUBUF
0104    				READ(30,4000,END=9000) OUBUF
0105    			ENDDO
0106    C
0107    			CLOSE(30)
0108    C
0109    		ELSE
0110    C
0111    			CALL	GET_MAIL( USERID, LID, ALL_BIT, MY_BIT, MYNAME, LEN_NAME )
0112    C
0113    		ENDIF
0114    C

MAIL_UTIL                                                       12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   3
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0115    		CLOSE(20)
0116    C
0117    	ENDIF
0118    C
0119    9000	CONTINUE
0120    C
0121    100	FORMAT(A31)
0122    110	FORMAT(I2)
0123    120	FORMAT('/ALL')
0124    130	FORMAT('/NRM')
0125    140	FORMAT(A4)
0126    500	FORMAT(1X, 'Accessing Mail Information for:  ',A<LID>)
0127    4000	FORMAT(A80)
0128    C
0129    	END




PROGRAM SECTIONS

    Name				 Bytes   Attributes

  0 $CODE                                  881   PIC CON REL LCL   SHR   EXE   RD NOWRT QUAD
  1 $PDATA                                 132   PIC CON REL LCL   SHR NOEXE   RD NOWRT QUAD
  2 $LOCAL                                 692   PIC CON REL LCL NOSHR NOEXE   RD   WRT QUAD

    Total Space Allocated                 1705


ENTRY POINTS

    Address  Type  Name          

  0-00000000       MAIL_UTIL     


VARIABLES

    Address  Type  Name              Address  Type  Name              Address  Type  Name              Address  Type  Name          

  2-00000000  L*1  ALL_BIT         2-00000100  I*4  INBUF               **      I*4  ISTAT           2-000000FC  I*4  LEN_NAME      
  2-000000F8  I*4  LID                 **      I*4  LOC_NODE            **      I*4  MID             2-0000007E  CHAR MYACC         
  2-00000021  CHAR MYNAME          2-00000001  L*1  MY_BIT              **      L*1  NET_BIT         2-000000A5  CHAR OUBUF         
  2-0000005F  CHAR PASSNAME        2-00000086  CHAR REMOBJ          2-00000040  CHAR SENDNAME        2-00000002  CHAR USERID        


LABELS

    Address   Label       Address   Label       Address   Label       Address   Label       Address   Label       Address   Label   

  1-00000034  100'      1-00000037  110'      1-0000003A  120'      1-00000041  130'      1-00000048  140'      1-0000004B  500'    
  1-00000077  4000'     0-00000363  9000    

MAIL_UTIL                                                       12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   4
01                                                              12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

FUNCTIONS AND SUBROUTINES REFERENCED

  Type  Name            Type  Name            Type  Name            Type  Name            Type  Name            Type  Name          

        CLI$DCL_PARSE         CLI$DISPATCH          CLI$GET_VALUE    I*4  CLI$PRESENT           FOR$CLOSE             FOR$OPEN      
        GET_MAIL         I*4  LIB$INDEX             NETUAF                STR$TRIM              WHOAMI        


OPTIONS QUALIFIERS

  /CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW)
  /EXTEND_SOURCE  /F77  /NOG_FLOATING  /I4

                                                                12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   5
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0002    	OPTIONS/EXTEND
0003    	SUBROUTINE	GET_MAIL( USERID, LID, ALL_BIT, MY_BIT, MYNAME, MID )
0004     
0005    C
0006    	INCLUDE		'MAILUTIL.INC/LIST'
0007  1 C
0008  1 	STRUCTURE /MAIL_LIST/
0009  1 	    UNION
0010  1 	      MAP
0011  1 		INTEGER*2	BUFFER_LEN
0012  1 		INTEGER*2	ITEM_CODE
0013  1 		INTEGER*4	BUFFER_ADR
0014  1 		INTEGER*4	ADDR_LEN
0015  1 	      END MAP
0016  1 	      MAP
0017  1 		INTEGER*4	END_LIST
0018  1 	      END MAP
0019  1 	    END UNION
0020  1 	END STRUCTURE
0021  1 C
0022    	INCLUDE		'($MAILDEF)'
0404    C
0405    	RECORD /MAIL_LIST/ NULL_LIST, USER_LIST_IN_FUNC(2), USER_LIST_OUT_FUNC(5),
0406         &				MAIL_LIST_IN_FUNC(4), MSG_LIST_IN_BEGIN(4),
0407         &				MSG_LIST_IN_FUNC(4), MSG_LIST_OUT_FUNC(4)
0408     
0409    	INTEGER*4	USR_CNTX, MSG_CNTX, MAI_CNTX, KK, ISTAT, LID, MID, FID
0410     
0411    	INTEGER*2	MAIL_COUNT
0412     
0413    	LOGICAL*1	ALL_BIT, MY_BIT, RD_BIT, FWRD_BIT
0414     
0415    	CHARACTER	USERID*31, USEROUT*31, DIROUT*64, FILIN*64, FLDNM*64,
0416         &			RPYOUT*64, ASCTIM*23, SUBJ*64, FMUSR*18, MYNAME*31,
0417         &			FWDSTR*80
0418    C
0419    	NULL_LIST.END_LIST = 0
0420    C
0421    	ISTAT = MAIL$USER_BEGIN(USR_CNTX, NULL_LIST, NULL_LIST )
0422    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0423     
0424    	USER_LIST_IN_FUNC(1).ITEM_CODE = MAIL$_USER_USERNAME
0425    	USER_LIST_IN_FUNC(1).BUFFER_LEN = 31
0426    	USER_LIST_IN_FUNC(1).BUFFER_ADR = %LOC(USERID)
0427    	USER_LIST_IN_FUNC(1).ADDR_LEN = 0
0428     
0429    	USER_LIST_IN_FUNC(2).END_LIST = 0
0430     
0431    	USER_LIST_OUT_FUNC(1).ITEM_CODE = MAIL$_USER_NEW_MESSAGES
0432    	USER_LIST_OUT_FUNC(1).BUFFER_LEN = 2
0433    	USER_LIST_OUT_FUNC(1).BUFFER_ADR = %LOC(MAIL_COUNT)
0434    	USER_LIST_OUT_FUNC(1).ADDR_LEN = %LOC(LENCNT)
0435     
0436    	USER_LIST_OUT_FUNC(2).ITEM_CODE = MAIL$_USER_RETURN_USERNAME
0437    	USER_LIST_OUT_FUNC(2).BUFFER_LEN = 31
0438    	USER_LIST_OUT_FUNC(2).BUFFER_ADR = %LOC(USEROUT)

GET_MAIL                                                        12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   6
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0439    	USER_LIST_OUT_FUNC(2).ADDR_LEN = %LOC(LENID)
0440     
0441    	USER_LIST_OUT_FUNC(3).ITEM_CODE = MAIL$_USER_FULL_DIRECTORY
0442    	USER_LIST_OUT_FUNC(3).BUFFER_LEN = 64
0443    	USER_LIST_OUT_FUNC(3).BUFFER_ADR = %LOC(DIROUT)
0444    	USER_LIST_OUT_FUNC(3).ADDR_LEN = %LOC(LENDIR)
0445     
0446    	USER_LIST_OUT_FUNC(4).ITEM_CODE = MAIL$_USER_FORWARDING
0447    	USER_LIST_OUT_FUNC(4).BUFFER_LEN = 80
0448    	USER_LIST_OUT_FUNC(4).BUFFER_ADR = %LOC(FWDSTR)
0449    	USER_LIST_OUT_FUNC(4).ADDR_LEN = %LOC(FID)
0450     
0451    	USER_LIST_OUT_FUNC(5).END_LIST = 0
0452     
0453    	ISTAT = MAIL$USER_GET_INFO(USR_CNTX, USER_LIST_IN_FUNC, USER_LIST_OUT_FUNC )
0454    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0455    C
0456    	ISTAT = MAIL$USER_END(USR_CNTX, NULL_LIST, NULL_LIST )
0457    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0458    C
0459    	IF (FID .GT. 0) FWRD_BIT = .TRUE.
0460    C
0461    	IF ((MAIL_COUNT .EQ. 0) .AND. (.NOT. FWRD_BIT)) THEN
0462    		WRITE(20,1000) USEROUT
0463    		RETURN
0464    	ELSE IF ((MAIL_COUNT .EQ. 1) .AND. (.NOT. FWRD_BIT)) THEN
0465    		WRITE(20,1010) USEROUT
0466    	ELSE IF ((MAIL_COUNT .GT. 1) .AND. (.NOT. FWRD_BIT)) THEN
0467    		NUMOUT = (MAIL_COUNT/10) + 1
0468    		WRITE(20,1090) USEROUT, MAIL_COUNT
0469    	ELSE IF (FWRD_BIT) THEN
0470    		WRITE(20,1080) USEROUT, FWDSTR
0471    	ENDIF
0472    C
0473    	IF (.NOT. ALL_BIT) RETURN
0474    C
0475    	ISTAT = MAIL$MAILFILE_BEGIN( MAI_CNTX, NULL_LIST, NULL_LIST )
0476    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0477    C
0478    	MAIL_LIST_IN_FUNC(1).ITEM_CODE = MAIL$_MAILFILE_DEFAULT_NAME
0479    	MAIL_LIST_IN_FUNC(1).BUFFER_LEN = LENDIR
0480    	MAIL_LIST_IN_FUNC(1).BUFFER_ADR = %LOC(DIROUT)
0481    	MAIL_LIST_IN_FUNC(1).ADDR_LEN = 0
0482     
0483    	FILIN = 'MAIL.MAI'//' '
0484    	MAIL_LIST_IN_FUNC(2).ITEM_CODE = MAIL$_MAILFILE_NAME
0485    	MAIL_LIST_IN_FUNC(2).BUFFER_LEN = 8
0486    	MAIL_LIST_IN_FUNC(2).BUFFER_ADR = %LOC(FILIN)
0487    	MAIL_LIST_IN_FUNC(2).ADDR_LEN = 0
0488     
0489    	MAIL_LIST_IN_FUNC(3).END_LIST = 0
0490    C
0491    	ISTAT = MAIL$MAILFILE_OPEN( MAI_CNTX, MAIL_LIST_IN_FUNC, NULL_LIST )
0492    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0493    C
0494    	FILIN = 'MAIL.MAI'//' '
0495    	MSG_LIST_IN_BEGIN(1).ITEM_CODE = MAIL$_MESSAGE_FILE_CTX

GET_MAIL                                                        12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   7
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0496    	MSG_LIST_IN_BEGIN(1).BUFFER_LEN = 4
0497    	MSG_LIST_IN_BEGIN(1).BUFFER_ADR = %LOC(MAI_CNTX)
0498    	MSG_LIST_IN_BEGIN(1).ADDR_LEN = 0
0499     
0500    	MSG_LIST_IN_BEGIN(2).END_LIST = 0
0501    C
0502    	ISTAT = MAIL$MESSAGE_BEGIN(MSG_CNTX, MSG_LIST_IN_BEGIN, NULL_LIST )
0503    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0504    C
0505    	FLDNM = 'NEWMAIL'
0506    	MSG_LIST_IN_FUNC(1).ITEM_CODE = MAIL$_MESSAGE_FOLDER
0507    	MSG_LIST_IN_FUNC(1).BUFFER_LEN = 7
0508    	MSG_LIST_IN_FUNC(1).BUFFER_ADR = %LOC(FLDNM)
0509    	MSG_LIST_IN_FUNC(1).ADDR_LEN = 0
0510    C
0511    	MSG_LIST_IN_FUNC(2).END_LIST = 0
0512    C
0513     	MSG_LIST_OUT_FUNC(1).ITEM_CODE = MAIL$_MESSAGE_SELECTED
0514    	MSG_LIST_OUT_FUNC(1).BUFFER_LEN = 4
0515    	MSG_LIST_OUT_FUNC(1).BUFFER_ADR = %LOC(NUMMSG)
0516    	MSG_LIST_OUT_FUNC(1).ADDR_LEN = LENNUM
0517    C
0518    	MSG_LIST_OUT_FUNC(2).END_LIST = 0
0519    C
0520    	ISTAT = MAIL$MESSAGE_SELECT(MSG_CNTX, MSG_LIST_IN_FUNC, MSG_LIST_OUT_FUNC )
0521    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0522     
0523    	MSG_LIST_IN_FUNC(1).ITEM_CODE = MAIL$_MESSAGE_NEXT
0524    	MSG_LIST_IN_FUNC(1).BUFFER_LEN = 0
0525    	MSG_LIST_IN_FUNC(1).BUFFER_ADR = 0
0526    	MSG_LIST_IN_FUNC(1).ADDR_LEN = 0
0527    C
0528    	MSG_LIST_IN_FUNC(2).ITEM_CODE = MAIL$_MESSAGE_NOSIGNAL
0529    	MSG_LIST_IN_FUNC(2).BUFFER_LEN = 0
0530    	MSG_LIST_IN_FUNC(2).BUFFER_ADR = 0
0531    	MSG_LIST_IN_FUNC(2).ADDR_LEN = 0
0532    C
0533    	MSG_LIST_IN_FUNC(3).END_LIST = 0
0534    C
0535    	MSG_LIST_OUT_FUNC(1).ITEM_CODE = MAIL$_MESSAGE_REPLY_PATH
0536    	MSG_LIST_OUT_FUNC(1).BUFFER_LEN = 64
0537    	MSG_LIST_OUT_FUNC(1).BUFFER_ADR = %LOC(RPYOUT)
0538    	MSG_LIST_OUT_FUNC(1).ADDR_LEN = %LOC(LENRPY)
0539    C
0540    	MSG_LIST_OUT_FUNC(2).ITEM_CODE = MAIL$_MESSAGE_SUBJECT
0541    	MSG_LIST_OUT_FUNC(2).BUFFER_LEN = 64
0542    	MSG_LIST_OUT_FUNC(2).BUFFER_ADR = %LOC(SUBJ)
0543    	MSG_LIST_OUT_FUNC(2).ADDR_LEN = %LOC(LENSBJ)
0544    C
0545    	MSG_LIST_OUT_FUNC(3).ITEM_CODE = MAIL$_MESSAGE_DATE
0546    	MSG_LIST_OUT_FUNC(3).BUFFER_LEN = 23
0547    	MSG_LIST_OUT_FUNC(3).BUFFER_ADR = %LOC(ASCTIM)
0548    	MSG_LIST_OUT_FUNC(3).ADDR_LEN = %LOC(LENTIM)
0549    C
0550    	MSG_LIST_OUT_FUNC(4).END_LIST = 0
0551    C
0552    	RD_BIT = .FALSE.

GET_MAIL                                                        12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   8
                                                                12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

0553    C
0554    	IF (NUMMSG .GT. 0) WRITE(20,3000)
0555    C
0556    	DO KK = 1,NUMMSG
0557    C
0558    		SUBJ = ' '
0559    		FMUSR = ' '
0560    		ASCTIM = ' '
0561    C
0562    		ISTAT = MAIL$MESSAGE_INFO(MSG_CNTX, MSG_LIST_IN_FUNC, MSG_LIST_OUT_FUNC )
0563    		IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0564    C
0565    		IF ((MY_BIT) .OR. (INDEX(RPYOUT(1:LENRPY),MYNAME(1:MID)) .NE. 0)) THEN
0566    C
0567    			IF (LENRPY .LE. 18) THEN
0568    				FMUSR = RPYOUT(1:LENRPY)//' '
0569    			ELSE
0570    				IF (RPYOUT(LENRPY:LENRPY) .EQ. '"') THEN
0571    					FMUSR = RPYOUT((LENRPY-17):LENRPY)
0572    				ELSE
0573    					FMUSR = RPYOUT(1:18)
0574    				ENDIF
0575    			ENDIF
0576    C
0577    			WRITE(20,2000) FMUSR, SUBJ, ASCTIM
0578    C
0579    			RD_BIT = .TRUE.
0580    C
0581    		ENDIF
0582    C
0583    	ENDDO
0584    C
0585    	IF (.NOT. RD_BIT) WRITE(20,4000) MYNAME
0586    C
0587    	ISTAT = MAIL$MESSAGE_END(MSG_CNTX, NULL_LIST, NULL_LIST )
0588    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0589    C
0590    	ISTAT = MAIL$MAILFILE_CLOSE(MAI_CNTX, NULL_LIST, NULL_LIST )
0591    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0592    C
0593    	ISTAT = MAIL$MAILFILE_END(MAI_CNTX, NULL_LIST, NULL_LIST )
0594    	IF ( .NOT. ISTAT ) CALL LIB$SIGNAL( %VAL(ISTAT) )
0595    C
0596    9000	CONTINUE
0597    C
0598    	RETURN
0599    C
0600    1000	FORMAT(1X, 'UserID ' ,A<LENID>, ' has no new mail.')
0601    1010	FORMAT(1X, 'UserID ' ,A<LENID>, ' has 1 new mail message.')
0602    1080	FORMAT(1X, 'UserID ' ,A<LENID>, ' has mail forwarded to:'/1X,A<FID>)
0603    1090	FORMAT(1X, 'UserID ' ,A<LENID>, ' has ',I<NUMOUT>, ' new mail messages.')
0604    2000	FORMAT(1X, A18, 2X, A38, 2X, A17)
0605    3000	FORMAT(1X)
0606    4000	FORMAT(1X, 'No MAIL from user:  ',A<MID>)
0607    C
0608    	END

GET_MAIL                                                        12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page   9
01                                                              12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

PROGRAM SECTIONS

    Name				 Bytes   Attributes

  0 $CODE                                 1664   PIC CON REL LCL   SHR   EXE   RD NOWRT QUAD
  1 $PDATA                                 248   PIC CON REL LCL   SHR NOEXE   RD NOWRT QUAD
  2 $LOCAL                                1176   PIC CON REL LCL NOSHR NOEXE   RD   WRT QUAD

    Total Space Allocated                 3088


ENTRY POINTS

    Address  Type  Name          

  0-00000000       GET_MAIL      


VARIABLES

    Address  Type  Name                                               Address  Type  Name                            

 AP-0000000C@ L*1  ALL_BIT                                          2-00000240  CHAR ASCTIM                          
  2-00000140  CHAR DIROUT                                           2-00000308  I*4  FID                             
  2-00000180  CHAR FILIN                                            2-000001C0  CHAR FLDNM                           
  2-00000297  CHAR FMUSR                                            2-000002A9  CHAR FWDSTR                          
  2-00000120  L*1  FWRD_BIT                                             **      I*4  ISTAT                           
      **      I*4  KK                                               2-0000030C  I*4  LENCNT                          
  2-00000314  I*4  LENDIR                                           2-00000310  I*4  LENID                           
  2-00000320  I*4  LENNUM                                           2-00000328  I*4  LENRPY                          
  2-0000032C  I*4  LENSBJ                                           2-00000330  I*4  LENTIM                          
 AP-00000008@ I*4  LID                                              2-00000324  I*4  MAIL$_MESSAGE_NOSIGNAL          
  2-000002FA  I*2  MAIL_COUNT                                       2-00000304  I*4  MAI_CNTX                        
  2-00000338@ I*4  MID                                              2-00000300  I*4  MSG_CNTX                        
 AP-00000014@ CHAR MYNAME                                          AP-00000010@ L*1  MY_BIT                          
  2-0000031C  I*4  NUMMSG                                           2-00000318  I*4  NUMOUT                          
      **      L*1  RD_BIT                                           2-00000200  CHAR RPYOUT                          
  2-00000257  CHAR SUBJ                                            AP-00000004@ CHAR USERID                          
  2-00000121  CHAR USEROUT                                          2-000002FC  I*4  USR_CNTX                        


RECORDS

    Address   Name          Structure           Bytes

  2-00000000  NULL_LIST     MAIL_LIST              12


RECORD ARRAYS

    Address   Name                            Structure           Bytes  Dimensions

  2-00000060  MAIL_LIST_IN_FUNC               MAIL_LIST              48  (4)
  2-00000090  MSG_LIST_IN_BEGIN               MAIL_LIST              48  (4)
  2-000000C0  MSG_LIST_IN_FUNC                MAIL_LIST              48  (4)
  2-000000F0  MSG_LIST_OUT_FUNC               MAIL_LIST              48  (4)
  2-0000000C  USER_LIST_IN_FUNC               MAIL_LIST              24  (2)

GET_MAIL                                                        12-Feb-1991 11:32:26	VAX FORTRAN V5.5-98                 Page  10
01                                                              12-Feb-1991 11:32:19	USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.FOR;2 

  2-00000024  USER_LIST_OUT_FUNC              MAIL_LIST              60  (5)


LABELS

    Address   Label       Address   Label       Address   Label       Address   Label       Address   Label       Address   Label   

  1-00000000  1000'     1-00000025  1010'     1-00000051  1080'     1-00000085  1090'     1-000000B9  2000'     1-000000C6  3000'   
  1-000000C9  4000'         **      9000    


FUNCTIONS AND SUBROUTINES REFERENCED

  Type  Name                              Type  Name                              Type  Name                            

   I*4  LIB$INDEX                               LIB$SIGNAL                         I*4  MAIL$MAILFILE_BEGIN             
   I*4  MAIL$MAILFILE_CLOSE                I*4  MAIL$MAILFILE_END                  I*4  MAIL$MAILFILE_OPEN              
   I*4  MAIL$MESSAGE_BEGIN                 I*4  MAIL$MESSAGE_END                   I*4  MAIL$MESSAGE_INFO               
   I*4  MAIL$MESSAGE_SELECT                I*4  MAIL$USER_BEGIN                    I*4  MAIL$USER_END                   
   I*4  MAIL$USER_GET_INFO              


OPTIONS QUALIFIERS

  /CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW)
  /EXTEND_SOURCE  /F77  /NOG_FLOATING  /I4


COMMAND QUALIFIERS

  FOR/LIST MAILUTIL

  /CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW)
  /DEBUG=(NOSYMBOLS,TRACEBACK)
  /DESIGN=(NOCOMMENTS,NOPLACEHOLDERS)
  /SHOW=(NODICTIONARY,NOINCLUDE,MAP,NOPREPROCESSOR,SINGLE)
  /STANDARD=(NOSEMANTIC,NOSOURCE_FORM,NOSYNTAX)
  /WARNINGS=(NODECLARATIONS,GENERAL,NOULTRIX,NOVAXELN)
  /CONTINUATIONS=19  /NOCROSS_REFERENCE  /NOD_LINES  /NOEXTEND_SOURCE
  /F77  /NOG_FLOATING  /I4  /NOMACHINE_CODE  /OPTIMIZE  /NOPARALLEL
  /NOANALYSIS_DATA
  /NODIAGNOSTICS
  /LIST=USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.LIS;1                                                         
  /OBJECT=USR3:[UTIL.NASAUTIL.MAILUTIL]MAILUTIL.OBJ;1                                                         


COMPILATION STATISTICS

  Run Time:           5.93 seconds
  Elapsed Time:       7.16 seconds
  Page Faults:        1135
  Dynamic Memory:     1128 pages
