CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      43  DECLARATIONS

   (4)     324  LIB$CNVCLITIM

   (5)     426  LIB$CVNCLITIM - CONVERT ABSOLUTE TIME

   (5)     442  LIB$CNVCLTDTIM - CONVERT DELTA TIME

   (5)     483  PARSE INPUT STRING

   (5)     555  CNV_MNEM_DAY

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   1

00.2                                                                                                                             (1)



                                     0000     1 	.TITLE	CVTTIME - CONVERT CLI TIME TO BINARY

                                     0000     2 	.IDENT	/00.2/

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ;			  COPYRIGHT (c) 1977,1978 BY

                                     0000     6 ;	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED

                                     0000     9 ; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE

                                     0000    10 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER

                                     0000    11 ; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY

                                     0000    12 ; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY

                                     0000    13 ; TRANSFERRED.

                                     0000    14 ;

                                     0000    15 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE

                                     0000    16 ; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT

                                     0000    17 ; CORPORATION.

                                     0000    18 ;

                                     0000    19 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS

                                     0000    20 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

                                     0000    21 ;

                                     0000    22 

                                     0000    23 ;++

                                     0000    24 ; FACILITY: GENERAL LIBRARY

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;

                                     0000    28 ; THESE ROUTINES ARE CALLED TO CONVERT AN ASCII STRING TO BINARY ABSO-

                                     0000    29 ; LUTE OR DELTA-TIME FORMAT

                                     0000    30 ;

                                     0000    31 ; ENVIRONMENT: USER MODE

                                     0000    32 ;

                                     0000    33 ; AUTHOR: C. MONIA	, CREATION DATE: 12-SEP-1977

                                     0000    34 ;

                                     0000    35 ; MODIFIED BY:

                                     0000    36 ;

                                     0000    37 ;	C. PETERS, 11-MAY-1978 : VERSION 00.2

                                     0000    38 ;

                                     0000    39 ; 01	- ADD CNV_MNEM_TIME ROUTINE TO CONVERT "YESTERDAY", "TODAY", AND "TOMORROW".

                                     0000    40 ;--

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   2

00.2            DECLARATIONS                                                                                                     (2)



                                     0000    43 	.SBTTL	DECLARATIONS

                                     0000    44 ;

                                     0000    45 ; INCLUDE FILES:

                                     0000    46 ;

                                     0000    47  

                                     0000    48 	$CLIMSGDEF		; DEFINE CLI STATUS CODES

                                     0000    49 	$SSDEF			; DEFINE SYSTEM STATUS CODES

                                     0000    50  

                                     0000    51 ;

                                     0000    52 

                                     0000    53 ;

                                     0000    54 ; MACROS:

                                     0000    55 ;

                                     0000    56 ; DEFINE STATE

                                     0000    57 ;

                                     0000    58  

                                     0000    59 	.MACRO	STATE	NAME,FILL

                                     0000    60 	.SAVE

                                     0000    61 	.PSECT	_CNVCLI_STATE,NOWRT,RD

                                     0000    62 	.IF NB	NAME

                                     0000    63 NAME:

                                     0000    64 	.ENDC

                                     0000    65 	.REPT	NTOKNS

                                     0000    66 	.IF NB	FILL

                                     0000    67 	.BYTE	^A/FILL/

                                     0000    68 	.IFF

                                     0000    69 	.BYTE	0

                                     0000    70 	.ENDC

                                     0000    71 	.ENDR

                                     0000    72 	.REPT	NTOKNS

                                     0000    73 	.WORD	ILLCHR-CNV_RELOC

                                     0000    74 	.WORD	0

                                     0000    75 	.ENDR

                                     0000    76 	.RESTORE

                                     0000    77 	.ENDM

                                     0000    78  

                                     0000    79 ;

                                     0000    80 ; DEFINE TOKEN LIST ENTRY

                                     0000    81 ;

                                     0000    82  

                                     0000    83 	.MACRO	TOKEN	TOKN,NXTSTATE,STRNGADR,FILL

                                     0000    84 	.SAVE

                                     0000    85 	.PSECT	_CNVCLI_STATE,NOWRT,RD

                                     0000    86 $$$1=.

                                     0000    87 	.BLKL	-NTOKNS

                                     0000    88 $$$2=.-NTOKNS

                                     0000    89 	.IF IDN	<->,<TOKN>

                                     0000    90 	.BLKL	1

                                     0000    91 $$$2=$$$2+1

                                     0000    92 	.ENDC

                                     0000    93 	.IF IDN <:>,<TOKN>

                                     0000    94 	.BLKL	2

                                     0000    95 $$$2=$$$2+2

                                     0000    96 	.ENDC

                                     0000    97 	.IF IDN	< >,<TOKN>

                                     0000    98 	.BLKL	3

                                     0000    99 $$$2=$$$2+3

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   3

00.2            DECLARATIONS                                                                                                     (2)



                                     0000   100 	.ENDC

                                     0000   101 	.IF NB	STRNGADR

                                     0000   102 	.WORD	STRNGADR-CNV_RELOC

                                     0000   103 	.IFF

                                     0000   104 	.WORD	ENDSECS-CNV_RELOC

                                     0000   105 	.ENDC

                                     0000   106 	.IF NB	NXTSTATE

                                     0000   107 	.WORD	NXTSTATE-CNV_RELOC

                                     0000   108 	.IFF

                                     0000   109 	.WORD	0

                                     0000   110 	.ENDC

                                     0000   111 .=$$$2

                                     0000   112 	.IF NB	<FILL>

                                     0000   113 	.IF IDN	<RESCAN>,<FILL>

                                     0000   114 	.BYTE	RESC

                                     0000   115 	.IFF

                                     0000   116 	.IF IDN	<NULL>,<FILL>

                                     0000   117 	.BYTE	0

                                     0000   118 	.IFF

                                     0000   119 	.BYTE	^A/FILL/

                                     0000   120 	.ENDC

                                     0000   121 	.ENDC

                                     0000   122 	.ENDC

                                     0000   123 .=$$$1

                                     0000   124 	.RESTORE

                                     0000   125 	.ENDM

                                     0000   126 

                                     0000   127 ;

                                     0000   128 ; DEFINE KEYWORD ENTRIES

                                     0000   129 ;

                                     0000   130 

                                     0000   131 	.MACRO	KEY_ENTRY KEYWORD

                                     0000   132 

                                     0000   133 FIRST_FLAG$$=128

                                     0000   134 	.IRPC	CHAR$$,<KEYWORD>

                                     0000   135 	.BYTE	^A/CHAR$$/!FIRST_FLAG$$

                                     0000   136 FIRST_FLAG$$=0

                                     0000   137 	.ENDR

                                     0000   138 	.ENDM

                                     0000   139 

                                     0000   140 ;

                                     0000   141 ; EQUATED SYMBOLS:

                                     0000   142 ;

                                     0000   143  

                           00000000  0000   144 EOS=0					; TERMINATION SYMBOL

                           00000019  0000   145 MAXLGH=25				; MAX STRING LENGTH

                           FFFFFFFE  0000   146 RESC=-2					; RESCAN FLAG

                                     0000   147  

                                     0000   148 ;

                                     0000   149 ; DEFINE TOKEN DISPATCH TABLE OFFSETS

                                     0000   150 ;

                                     0000   151  

                                 00000000   152 	.PSECT	$ABS$,ABS

                                     0000   153  

                           00000002  0000   154 TSTRING:.BLKW	1			; OFFSET TO TERMINAL STRING

                           00000004  0002   155 NEXTSTATE:.BLKW	1			; OFFSET TO NEXT STATE

                                     0004   156  

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   4

00.2            DECLARATIONS                                                                                                     (2)



                                     0004   157 

                                     0004   158 ;

                                     0004   159 ; OWN STORAGE:

                                     0004   160 ;

                                     0004   161  

                                 00000000   162 	.PSECT	_CNVCLI_CODE	NOWRT,LONG

                                     0000   163  

                           00000000  0000   164 CNV_RELOC:.BLKL	0			; DEFINE RELOCATION BASE

                                     0000   165  

                                     0000   166 ;

                                     0000   167 ; TOKEN LIST

                                     0000   168 ;

                                     0000   169  

                           00000000  0000   170 $$$2=.					;

                        00 2D 3A 20  0000   171 TOKENS:	.ASCII	/ :-/<EOS>		; ORDER IS FIXED

                           00000004  0004   172 NTOKNS=.-$$$2				;

                                     0004   173  

                                     0004   174 ;

                                     0004   175 ; TOKEN SUBSTITUTION STRINGS

                                     0004   176 ;

                                     0004   177 ; ADJACENCY REQUIRED

                                     0004   178 ;

                                     0004   179 ; COLON

                                     0004   180 ;

                                     0004   181  

                                 2D  0004   182 COLDAY:	.ASCII	/-/			; DD:

                                 2D  0005   183 COLMON:	.ASCII	/-/			; DD-MMM:

                              00 20  0006   184 COLYR:	.ASCIZ	/ /			; DD-MMM-YYYY:

                                     0008   185 COLHR:					; [DD-MMM-YYYY]:HH:

                              00 3A  0008   186 COLMIN:	.ASCIZ	/:/			; [DD-MMM-YYYY]:HH:MM:

                           00 20 30  000A   187 COLD:	.ASCIZ	/0 /			; <BLANK>!<->[HH:MM:SS.SS]

                                     000D   188  

                                     000D   189 ;

                                     000D   190 ; END OF STRING

                                     000D   191 ;

                                     000D   192  

                           0000000D  000D   193 $$$3=.

                                 2D  000D   194 ENDDAY:	.ASCII	/-/			; DD<EOS>

                                 2D  000E   195 ENDMON:	.ASCII	/-/			; DD-MMM<EOS>

                                     000F   196 ENDD:					; DD<BLANK><EOS>

                              30 20  000F   197 ENDYR:	.ASCII	/ 0/			; DD-MMM-YYYY<EOS>

                              30 3A  0011   198 ENDHR:	.ASCII	/:0/			; [DD-MMM-YYYY]:HH<EOS>

                              30 3A  0013   199 ENDMIN:	.ASCII	/:0/			; [DD-MMM-YYYY]:HH:MM<EOS>

                                 00  0015   200 ENDSECS:.BYTE	0			; [DD-MMM-YYYY]:HH:MM:SS.SS<EOS>

                              00 FF  0016   201 ILLCHR:	.BYTE	-1,0			; ILLEGAL CHARACTER TERMINATOR

                           0000000B  0018   202 FILCNT=.-$$$3				; FILL COUNT

                           00000024  0018   203 TBUF=<<FILCNT+MAXLGH>+3>&-4		; SIZE OF BUFFER ON STACK

                                     0018   204  

                                     0018   205 ;

                                     0018   206 ; BUFFER LENGTHS FOR ASCII TIME CONVERSION CALLS

                                     0018   207 ;

                                     0018   208 

                           0000000B  0018   209 SHORT_TIME_LEN=11			; LENGTH OF BUFFER FOR TIME WITHOUT HOURS

                           00000008  0018   210 MIDNIGHT_LEN=8				; LENGTH OF MIDNIGHT ASCII TIME STRING

                           00000024  0018   211 FULL_TIME_LEN=TBUF			; FULL TIME BUFFER LENGTH

                                     0018   212 

                                     0018   213 ;

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   5

00.2            DECLARATIONS                                                                                                     (2)



                                     0018   214 ; MINUS SIGN

                                     0018   215 ;

                                     0018   216  

                                     0018   217 MINDAY:					; DD-[MM-YYYY:HH:MM:SS.SS]<EOS>

                              00 2D  0018   218 MINMON:	.ASCIZ	/-/			; DD-MM-[YYYY:HH:MM:SS.SS]<EOS>

                                     001A   219  

                                     001A   220 ;

                                     001A   221 ; DEFINE STATE TABLES FOR TIME CONVERSION

                                     001A   222 ;

                                     001A   223 ; INITIAL STATE

                                     001A   224 ;

                                     001A   225 ; PARSE DAY OF MONTH

                                     001A   226 ;

                                     001A   227  

                                     001A   228 	STATE	DAY			; PARSE DAY OF MONTH

                                     001A   229 	TOKEN	EOS,HOURS,COLDAY,RESCAN	 ; ASSUME TIME ON END OF STRING

                                     001A   230 	TOKEN	<:>,HOURS,COLDAY,RESCAN	 ; ASSUME TIME ON COLON

                                     001A   231 	TOKEN	-,MONTH,MINDAY		; PARSE MONTH OF YEAR

                                     001A   232 	TOKEN	< >,HOURS,COLDAY,RESCAN	 ; ASSUME TIME ON SPACE

                                     001A   233  

                                     001A   234 ;

                                     001A   235 ; PARSE MONTH OF YEAR

                                     001A   236 ;

                                     001A   237  

                                     001A   238 	STATE	MONTH			;

                                     001A   239 	TOKEN	EOS,,ENDMON		; TERMINATE ON END OF STRING

                                     001A   240 	TOKEN	< >,HOURS,COLMON	; TERMINATE MONTH, CONVERT TIME

                                     001A   241 	TOKEN	<:>,HOURS,COLMON	; TERMINATE MONTH, CONVERT TIME

                                     001A   242 	TOKEN	-,YEAR,MINMON		; PARSE YEAR

                                     001A   243  

                                     001A   244 ;

                                     001A   245 ; PARSE YEAR

                                     001A   246 ;

                                     001A   247  

                                     001A   248 	STATE	YEAR			;

                                     001A   249 	TOKEN	EOS,,ENDYR		; TERMINATE ON END OF STRING

                                     001A   250 	TOKEN	<:>,HOURS,COLYR		; CONVERT TIME, TERMINATE DATE

                                     001A   251 	TOKEN	< >,HOURS,COLYR		; CONVERT TIME, TERMINATE DATE

                                     001A   252  

                                     001A   253 ;

                                     001A   254 ; PARSE HOURS

                                     001A   255 ;

                                     001A   256  

                                     001A   257 	STATE	HOURS,<0>		;

                                     001A   258 	TOKEN	EOS,,ENDHR		; TERMINATE ON END OF STRING

                                     001A   259 	TOKEN	<:>,MINUTES,COLHR 	; MOVE TOKEN

                                     001A   260 	TOKEN	< >,HOURS,,NULL		; IGNORE SPACES

                                     001A   261  

                                     001A   262 ;

                                     001A   263 ; PARSE MINUTES

                                     001A   264 ;

                                     001A   265  

                                     001A   266 	STATE	MINUTES,<0>		;

                                     001A   267 	TOKEN	EOS,,ENDMIN		; TERMINATE ON END OF STRING

                                     001A   268 	TOKEN	<:>,SECONDS,COLMIN 	; MOVE PARSED STRING

                                     001A   269 	TOKEN	< >,MINUTES,,NULL	; IGNORE SPACES

                                     001A   270  

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   6

00.2            DECLARATIONS                                                                                                     (2)



                                     001A   271 ;

                                     001A   272 ; PARSE SECONDS

                                     001A   273 ;

                                     001A   274  

                                     001A   275 	STATE	SECONDS,<0>		;

                                     001A   276 	TOKEN	EOS,,ENDSECS		; TERMINATE ON END OF STRING

                                     001A   277 	TOKEN	< >,SECONDS,,NULL	; IGNORE SPACES

                                     001A   278  

                                     001A   279 ;

                                     001A   280 ; PARSE DELTA-TIME FORMAT

                                     001A   281 ;

                                     001A   282 ; PARSE DELTA-DAY

                                     001A   283 ;

                                     001A   284  

                                     001A   285 	STATE	DELTA_DAY,<0>		;

                                     001A   286 	TOKEN	EOS,HOURS,COLD,RESCAN	; RESCAN ON END OF STRING

                                     001A   287 	TOKEN	<:>,HOURS,COLD,RESCAN	; RESCAN ON COLON

                                     001A   288 	TOKEN	< >,HOURS,COLD,RESCAN	; RESCAN ON SPACE

                                     001A   289 	TOKEN	<->,HOURS,COLYR		; MOVE PARSED STRING

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   7

00.2            DECLARATIONS                                                                                                     (3)



                                     001A   292 ;

                                     001A   293 ; DEFINE MNEMONIC KEYWORDS THAT CAN REPRESENT TIMES

                                     001A   294 ;

                                     001A   295 

                                     001A   296 DAY_TABLE:

                                     001A   297 	KEY_ENTRY	YEST		; "YESTERDAY"

                                     001E   298 	KEY_ENTRY	TODA		; "TODAY"

                                     0022   299 	KEY_ENTRY	TOMO		; "TOMORROW"

                           0000000C  0026   300 DAY_TBL_LEN=.-DAY_TABLE			; LENGTH OF KEYWORD TABLE

                                     0026   301 

                                     0026   302 ;

                                     0026   303 ; TIME FACTORS. EACH KEYWORD HAS AN ASSOCIATED TIME FACTOR, WHICH, WHEN ADDED

                                     0026   304 ; TO THE CURRENT TIME VALUE, CREATES A 64-BIT TIME VALUE THAT IS EQUIVALENT TO

                                     0026   305 ; THE KEYWORD STRING.

                                     0026   306 ;

                                     0026   307 ; YESTERDAY IS ONE NANOSECOND BEFORE ZERO TIME TODAY.

                                     0026   308 ; TODAY IS ZERO TIME TODAY.

                                     0026   309 ; TOMORROW IS ZERO TIME TODAY PLUS ONE DAY'S WORTH OF NANOSECONDS.

                                     0026   310 ;

                                     0026   311 ; NOTE THAT THE FIGURES IN THIS TABLE ARE "MAGIC" NUMBERS.

                                     0026   312 ;

                                     0026   313 

                                     0026   314 TIME_TABLE:

                           FFFFFFFF  0026   315 	.LONG	-1			; "YESTERDAY"

                           FFFFFFFF  002A   316 	.LONG	-1

                           00000000  002E   317 	.LONG	0			; "TODAY"

                           00000000  0032   318 	.LONG	0

                           2A69C000  0036   319 	.LONG	^X2A69C000		; "TOMORROW"

                           000000C9  003A   320 	.LONG	^XC9

                                     003E   321 

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   8

00.2            LIB$CNVCLITIM                                                                                                    (4)



                                     003E   324 	.SBTTL	LIB$CNVCLITIM

                                     003E   325 ;++

                                     003E   326 ; FUNCTIONAL DESCRIPTION:

                                     003E   327 ;

                                     003E   328 ; THESE ROUTINES ARE CALLED TO CONVERT AN ASCII STRING INTO A FORM

                                     003E   329 ; THAT IS ACCEPTABLE TO THE 'GET TIME' SYSTEM SERVICES.

                                     003E   330 ;

                                     003E   331 ; ENTRY POINT LIB$CNVCLITIME IS CALLED TO CONVERT A STRING TO ABSOLUTE

                                     003E   332 ; BINARY TIME.

                                     003E   333 ;

                                     003E   334 ; ENTRY POINT LIB$CNVCLIDTIME IS CALLED TO CONVERT A STRING TO DELTA

                                     003E   335 ; TIME

                                     003E   336 ;

                                     003E   337 ; ABSOLUTE TIME SYNTAX:

                                     003E   338 ;

                                     003E   339 ; THE FULLY EXPANDED TIME STRING, AS SEEN BY THE SYSTEM, HAS THE FORM:

                                     003E   340 ;

                                     003E   341 ;	DD-MMM-YYYY<BLANK>HH:MM:SS.SS

                                     003E   342 ;

                                     003E   343 ; WHERE ANY FIELD MAY BE EMPTY.

                                     003E   344 ;

                                     003E   345 ; THE TIME CONVERSION ROUTINES CONVERT ABBREVIATED INPUT SUPPLIED BY

                                     003E   346 ; THE CALLER INTO THE ABOVE FORMAT, THEN INVOKE THE SYSTEM SERVICE TO

                                     003E   347 ; CONVERT THE STRING TO BINARY.

                                     003E   348 ;

                                     003E   349 ; THE FOLLOWING FORMS ARE ACCEPTABLE:

                                     003E   350 ;

                                     003E   351 ;	DD-MMM-YYYY:HH:MM:SS.SS		- FULL

                                     003E   352 ;

                                     003E   353 ;	DD-MMM-YYYY<BLANK>HH:MM:SS.SS	- FULL

                                     003E   354 ;

                                     003E   355 ;	DD-MMM:HH:MM			- TRUNCATED FIELDS

                                     003E   356 ;

                                     003E   357 ;	DD--YYYY:HH::SS			- NULL FIELDS

                                     003E   358 ;

                                     003E   359 ;	HH:[MM:SS.SS]			- TIME ONLY

                                     003E   360 ;

                                     003E   361 ; DELTA TIME SYNTAX

                                     003E   362 ;

                                     003E   363 ; THE FULLY EXPANDED DELTA TIME STRING AS SEEN BY THE SYSTEM IS:

                                     003E   364 ;

                                     003E   365 ;	DD<BLANK>HH:MM:SS.S

                                     003E   366 ;

                                     003E   367 ; WHERE ANY FIELD MAY BE EMPTY.

                                     003E   368 ;

                                     003E   369 ; THE FOLLOWING FORMS ARE ACCEPTABLE:

                                     003E   370 ;

                                     003E   371 ;	DD-HH:MM:SS.SS			- FULL

                                     003E   372 ;

                                     003E   373 ;	DD-HH:				- TRUNCATED FIELDS

                                     003E   374 ;

                                     003E   375 ;	DD-:MM				- NULL FIELDS

                                     003E   376 ;

                                     003E   377 ;	HH[:MM:SS.SS]			- TIME ONLY

                                     003E   378 ;

                                     003E   379 ;

                                     003E   380 ; CALLING SEQUENCE:

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page   9

00.2            LIB$CNVCLITIM                                                                                                    (4)



                                     003E   381 ;

                                     003E   382 ;	CALL	LIB$CNVCLITIME	(DESCR,TIME,[STRING])

                                     003E   383 ;	CALL	LIB$CNVCLIDTIME	(DESCR,TIME,[STRING])

                                     003E   384 ;

                                     003E   385 ; INPUT PARAMETERS:

                                     003E   386 ;

                                     003E   387 ;	DESCR = ADDRESS OF INPUT STRING DESCRIPTOR

                                     003E   388 ;

                                     003E   389 ;	TIME = ADDRESS OF QUADWORD TO RECEIVE CONVERTED TIME

                                     003E   390 ;

                                     003E   391 ;	STRING = ADDRESS OF OPTIONAL BYTE ARRAY TO RECEIVE CONVERTED STRING

                                     003E   392 ;

                                     003E   393 ; IMPLICIT INPUTS:

                                     003E   394 ;

                                     003E   395 ;	NONE

                                     003E   396 ;

                                     003E   397 ; OUTPUT PARAMETERS:

                                     003E   398 ;

                                     003E   399 ;	R0=CLI$_NORMAL

                                     003E   400 ;

                                     003E   401 ;

                                     003E   402 ;	TIME = ABSOLUTE BINARY TIME IN 64-BIT FORMAT

                                     003E   403 ;

                                     003E   404 ;

                                     003E   405 ;	R0=CLI$_IVVALU

                                     003E   406 ;

                                     003E   407 ;	INVALID TIME FORMAT DETECTED

                                     003E   408 ;

                                     003E   409 ; IMPLICIT OUTPUTS:

                                     003E   410 ;

                                     003E   411 ;	NONE

                                     003E   412 ;

                                     003E   413 ; COMPLETION CODES:

                                     003E   414 ;

                                     003E   415 ;	R0 LBS = SUCCESS

                                     003E   416 ;	R0 LBC = SYNTAX ERROR

                                     003E   417 ;

                                     003E   418 ; SIDE EFFECTS:

                                     003E   419 ;

                                     003E   420 ;	NONE

                                     003E   421 ;

                                     003E   422 ;--

                                     003E   423  

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  10

00.2            LIB$CVNCLITIM - CONVERT ABSOLUTE TIME                                                                            (5)



                                     003E   426 	.SBTTL	LIB$CVNCLITIM - CONVERT ABSOLUTE TIME

                                     003E   427  

                                     003E   428 ;

                                     003E   429 ; CONVERT ABSOLUTE TIME

                                     003E   430 ;

                                     003E   431  

                                     003E   432 	.ENABL	LSB

                                     003E   433  

                                     003E   434 	.ALIGN	LONG

                                     0040   435  

                                     0040   436 LIB$CVT_TIME::					;

                               0FFE  0040   437 	.WORD	^M<R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ; SAVE R1 - R11

            5B   00000000'EF     9E  0042   438 	MOVAB	DAY,R11			; GET ADDRESS OF STATE TABLE

                          09     11  0049   439 	BRB	10$			;

                                     004B   440  

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  11

00.2            LIB$CNVCLTDTIM - CONVERT DELTA TIME                                                                              (5)



                                     004B   442 	.SBTTL	LIB$CNVCLTDTIM - CONVERT DELTA TIME

                                     004B   443  

                                     004B   444 ;

                                     004B   445 ; CONVERT DELTA TIME

                                     004B   446 ;

                                     004B   447  

                                     004B   448 LIB$CVT_DTIME::				;

                               0FFE  004B   449 	.WORD	^M<R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11> ; SAVE R1 - R11

            5B   00000078'EF     9E  004D   450 	MOVAB	DELTA_DAY,R11		; GET ADDRESS OF STATE TABLE

                                     0054   451 10$:					;

            52   00038088 8F     D0  0054   452 	MOVL	#CLI$_IVVALU,R2		; ASSUME STRING TOO LONG

            56         04 BC     7D  005B   453 	MOVQ	@4(AP),R6		; GET STRING DESCRIPTOR

            56            19     B1  005F   454 	CMPW	#MAXLGH,R6		; STRING TOO LONG?

                          3D     1F  0062   455 	BLSSU	20$			; IF LSSU YES

            5E            24     C2  0064   456 	SUBL	#TBUF,SP		; ALLOCATE BUFFER ON STACK

                          58     D4  0067   457 	CLRL	R8			; CLEAR OUTPUT STRING COUNT

            59            5E     D0  0069   458 	MOVL	SP,R9			; POINT TO BUFFER

                          00AC   30  006C   459 	BSBW	CNV_MNEM_DAY		; SEE IF THE INPUT STRING IS A WORD

                                     006F   460 					; LIKE "YESTERDAY", "TODAY", OR

                                     006F   461 					; "TOMORROW".

            32            50     E8  006F   462 	BLBS	R0,30$			; IT WAS. BRANCH TO RETURN.

                          31     10  0072   463 	BSBB	CNV_PARSTRNG		; NORMAL TIME SPECIFIED. PARSE STRING

            6C            03     B1  0074   464 	CMPW	#3,(AP)			; STRING REQUESTED?

                          05     1A  0077   465 	BGTRU	15$			; IF GTRU NO

            69            58     28  0079   466 	MOVC3	R8,(R9),@12(AP)		; COPY STRING

                       0C BC         007C       

                                     007E   467 15$:					;

            52   00030001 8F     D0  007E   468 	MOVL	#CLI$_NORMAL,R2		; ASSUME SUCCESS

            7E            58     7D  0085   469 	MOVQ	R8,-(SP)		; PUSH DESCRIPTOR

            50            5E     D0  0088   470 	MOVL	SP,R0			; SAVE DESCRIPTOR ADDRESS

                                     008B   471 	$BINTIM_S	-		; CONVERT TIME TO BINARY

                                     008B   472 		TIMBUF=(R0),-		; ADDRESS OF TIME BUFFER

                                     008B   473 		TIMADR=@8(AP)		; ADDRESS OF QUADWORD RESULT

            07            50     E8  0097   474 	BLBS	R0,20$			; IF LBS, SUCCESS

            52   00038088 8F     D0  009A   475 	MOVL	#CLI$_IVVALU,R2		; SET INVALID VALUE

                                     00A1   476 20$:					;

            50            52     D0  00A1   477 	MOVL	R2,R0			; SET STATUS

                                     00A4   478 30$:					;

                                 04  00A4   479 	RET				;

                                     00A5   480  

                                     00A5   481 	.DSABL	LSB

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  12

00.2            PARSE INPUT STRING                                                                                               (5)



                                     00A5   483 	.SBTTL	PARSE INPUT STRING

                                     00A5   484 ;+

                                     00A5   485 ; CNV_PARSTRNG - PARSE INPUT STRING

                                     00A5   486 ;

                                     00A5   487 ; THIS ROUTINE IS CALLED TO PARSE THE INPUT STRING.

                                     00A5   488 ;

                                     00A5   489 ; INPUTS:

                                     00A5   490 ;

                                     00A5   491 ;	R6,R7 = INPUT STRING DESCRIPTOR

                                     00A5   492 ;	R8,R9 = OUTPUT STRING DESCRIPTOR

                                     00A5   493 ;	R11 = ADDRESS OF STATE TABLES

                                     00A5   494 ;

                                     00A5   495 ; OUTPUTS:

                                     00A5   496 ;

                                     00A5   497 ;	R8,R9 = STRING DESCRIPTOR FOR PARSED STRING

                                     00A5   498 ;

                                     00A5   499 ; REGISTERS MODIFIED:

                                     00A5   500 ;

                                     00A5   501 ;	R0 - R11

                                     00A5   502 ;-

                                     00A5   503  

                                     00A5   504 CNV_PARSTRNG:				;

                          52     D4  00A5   505 	CLRL	R2			; CLEAR LENGTH OF PARSED STRING

            53            57     D0  00A7   506 	MOVL	R7,R3			; POINT TO START OF STRING

                                     00AA   507 10$:					;

            54            00     90  00AA   508 	MOVB	#EOS,R4			; ASSUME AT END OF STRING

                          56     B5  00AD   509 	TSTW	R6			; AT END OF STRING?

                          05     13  00AF   510 	BEQL	20$			; IF EQL YES

            54            87     90  00B1   511 	MOVB	(R7)+,R4		; GET CURRENT CHARACTER

                          56     B7  00B4   512 	DECW	R6			; DECREMENT BYTES REMAINING

                                     00B6   513 20$:					;

            04            54     3A  00B6   514 	LOCC	R4,#NTOKNS,TOKENS	; FIND TOKEN

                     FF44 CF         00B9       

                          04     12  00BC   515 	BNEQ	30$			; IF NEQ HAVE TOKEN

                          52     B6  00BE   516 	INCW	R2			; INCREMENT LENGTH OF PARSED STRING

                          E8     11  00C0   517 	BRB	10$			; GET NEXT CHARACTER

                                     00C2   518 30$:					;

            5A            70     9E  00C2   519 	MOVAB	-(R0),R10		; REMOVE BIAS, SAVE INDEX

            51            6B4A   9E  00C5   520 	MOVAB	(R11)[R10],R1		; POINT TO FILL BYTE

         FE 8F            61     91  00C9   521 	CMPB	(R1),#RESC		; RESCAN REQUIRED?

                          11     12  00CD   522 	BNEQ	35$			; IF NEQ NO

            56            52     A0  00CF   523 	ADDW	R2,R6			; BACK OUT STRING

            57            52     C2  00D2   524 	SUBL	R2,R7			; ...

            00            54     91  00D5   525 	CMPB	R4,#EOS			; END OF STRING?

                          1C     13  00D8   526 	BEQL	45$			; IF EQL YES

                          57     D7  00DA   527 	DECL	R7			; BACK OUT TOKEN

                          56     D6  00DC   528 	INCL	R6			; ...

                          16     11  00DE   529 	BRB	45$			;

                                     00E0   530 35$:					;

            7E            52     B0  00E0   531 	MOVW	R2,-(SP)		; SAVE LENGTH OF PARSED STRING

                          09     12  00E3   532 	BNEQ	40$			; IF NEQ STRING NOT NULL

            53            51     D0  00E5   533 	MOVL	R1,R3			; POINT TO FILL BYTE

                          63     95  00E8   534 	TSTB	(R3)			; NULL STRING?

                          02     13  00EA   535 	BEQL	40$			; IF EQL YES

                          6E     B6  00EC   536 	INCW	(SP)			; SET COUNT TO 1

                                     00EE   537 40$:					;

            63            6E     28  00EE   538 	MOVC3	(SP),(R3),(R8)[R9]	; MOVE STRING

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  13

00.2            PARSE INPUT STRING                                                                                               (5)



                          6849       00F1       

            58            8E     A0  00F3   539 	ADDW	(SP)+,R8		; UPDATE LENGTH OF OUTPUT

                                     00F6   540 45$:					;

            5B         04 AB4A   DE  00F6   541 	MOVAL	NTOKNS(R11)[R10],R11	; POINT TO TOKEN LIST ENTRY

            50            6B     32  00FB   542 	CVTWL	TSTRING(R11),R0		; GET OFFSET TO STRING

            50       FEFD CF40   9E  00FE   543 	MOVAB	CNV_RELOC[R0],R0	; COMPUTE STRING ADDRESS

                                     0104   544 50$:					;

            8849          80     90  0104   545 	MOVB	(R0)+,(R8)+[R9]		; SUBSTITUTE STRING FOR TOKEN

                          FA     12  0108   546 	BNEQ	50$			; GO AGAIN

                          58     B7  010A   547 	DECW	R8			; STRIP EOS

            5B         02 AB     32  010C   548 	CVTWL	NEXTSTATE(R11),R11	; POINT TO NEXT STATE

                          08     13  0110   549 	BEQL	60$			; IF EQL, TERMINATE SCAN

            5B       FEE9 CF4B   9E  0112   550 	MOVAB	CNV_RELOC[R11],R11	; COMPUTE ADDRESS OF NEXT STATE

                          8B     11  0118   551 	BRB	CNV_PARSTRNG		; CONTINUE PARSE

                                     011A   552 60$:					;

                                 05  011A   553 	RSB				;

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  14

00.2            CNV_MNEM_DAY                                                                                                     (5)



                                     011B   555 	.SBTTL	CNV_MNEM_DAY

                                     011B   556 

                                     011B   557 ;++

                                     011B   558 ; FUNCTIONAL DESCRIPTION:

                                     011B   559 ;

                                     011B   560 ; THIS ROUTINE CONVERTS AN ASCII STRING REPRESENTING "YESTERDAY", "TODAY",

                                     011B   561 ; OR "TOMORROW" INTO A FORM THAT IS ACCEPTABLE TO THE 'GET TIME' SYSTEM SERVICES.

                                     011B   562 ;

                                     011B   563 ; STRINGS ACCEPTED ARE THE FOLLOWING:

                                     011B   564 ;

                                     011B   565 ;	YESTERDAY

                                     011B   566 ;	TODAY

                                     011B   567 ;	TOMORROW

                                     011B   568 ;

                                     011B   569 ; ONLY THE FIRST FOUR CHARACTERS OF A STRING ARE READ. UNIQUE ABBREVIATIONS ARE

                                     011B   570 ; ACCEPTED.

                                     011B   571 ;

                                     011B   572 ; INPUTS:

                                     011B   573 ;

                                     011B   574 ;	R6,R7	- INPUT STRING DESCRIPTOR

                                     011B   575 ;	R8,R9	- OUTPUT STRING DESCRIPTOR

                                     011B   576 ;	8(AP)	- ADDRESS IN WHICH TO PLACE ABSOLUTE BINARY TIME IN 64-BIT FORMAT

                                     011B   577 ;

                                     011B   578 ; OUTPUTS:

                                     011B   579 ;

                                     011B   580 ;	@8(AP)	- 64-BIT ABSOLUTE BINARY TIME

                                     011B   581 ;	@12(AP)	- ASCII DATE REPRESENTATION IS AT ADDRESS POINTED TO BY STRING DESCRIPTOR

                                     011B   582 ;

                                     011B   583 ;	R0= LBS 1	- MATCH FOUND, CONVERSION SUCCEEDED.

                                     011B   584 ;	R0= LBS 0	- MATCH NOT FOUND OR CONVERSION FAILED.

                                     011B   585 ;

                                     011B   586 ;	R0=CLI$_MULKEY	- AMBIGUOUS KEYWORD

                                     011B   587 ;

                                     011B   588 ;	R0 MAY CONTAIN ERROR STATUS CODES FROM "GET TIME" SYSTEM SERVICES.

                                     011B   589 ;

                                     011B   590 ; REGISTERS MODIFIED

                                     011B   591 ;

                                     011B   592 ;	R0-R5, R10

                                     011B   593 ;

                                     011B   594 ;--

                                     011B   595 

                                     011B   596 

                                     011B   597 CNV_MNEM_DAY:

            55            04     D0  011B   598 	MOVL	#4,R5			; DEFAULT LENGTH OF SUBSTRING

                                     011E   599 					; PATTERN TO MATCH.

            55            56     91  011E   600 	CMPB	R6,R5			; IS THE INPUT STRING SHORTER?

                          03     1A  0121   601 	BGTRU	10$			; IF NOT, USE DEFAULT LENGTH.

            55            56     D0  0123   602 	MOVL	R6,R5			; IF SO, USE INPUT STRING LENGTH.

                                     0126   603 

                                     0126   604 10$:

            7E            67     D0  0126   605 	MOVL	(R7),-(SP)		; COPY FIRST FOUR LETTERS OF ASCII

            5A            5E     D0  0129   606 	MOVL	SP,R10			; STRING ONTO STACK. LOAD STACK ADDRESS

                                     012C   607 					; INTO TEMPORARY REGISTER.

            6A         80 8F     88  012C   608 	BISB	#128,(R10)		; SET THE HIGH BIT IN THE BYTE

                                     0130   609 					; THAT HOLDS THE FIRST CHARACTER

                                     0130   610 					; OF THE INPUT STRING.

            6A            55     39  0130   611 	MATCHC	R5,(R10),#DAY_TBL_LEN,DAY_TABLE

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  15

00.2            CNV_MNEM_DAY                                                                                                     (5)



       FEE3 CF            0C         0133       

                                     0137   612 					; LOOK FOR A SUBSTRING MATCH BETWEEN

                                     0137   613 					; THE INPUT STRING AND THE TABLE

                                     0137   614 					; OF KEYWORDS.

                          05     13  0137   615 	BEQL	20$			; IF MATCH IS FOUND, CONTINUE.

                          50     D4  0139   616 	CLRL	R0			; OTHERWISE, SET ERROR STATUS CODE

                          0095   31  013B   617 	BRW	80$			; AND BRANCH TO RETURN CODE.

                                     013E   618 

                                     013E   619 20$:

            54            53     D0  013E   620 	MOVL	R3,R4			; SAVE POSITION OF INPUT STRING

                                     0141   621 					; BYTE THAT FOLLOWS LAST MATCHING

                                     0141   622 					; CHARACTER.

            6A            55     39  0141   623 	MATCHC	R5,(R10),R2,(R3)	; TEST FOR AMBIGUOUS KEYWORD.

            63            52         0144       

                          0A     12  0146   624 	BNEQ	30$			; NO MATCH MEANS NO AMBIGUITY.

            50   000381A0 8F     D0  0148   625 	MOVL	#CLI$_MULKEY,R0		; MATCH MEANS KEYWORD IS AMBIGUOUS.

                          0081   31  014F   626 	BRW	80$			; RETURN WITH AN ERROR STATUS CODE.

                                     0152   627 

                                     0152   628 30$:

                          54     D7  0152   629 	DECL	R4			; DECREMENT POINTER SO THAT IT

                                     0154   630 					; POINTS TO THE LAST CHARACTER

                                     0154   631 					; IN THE SUBSTRING MATCH.

            54   0000001A'8F     C2  0154   632 	SUBL2	#DAY_TABLE,R4		; SUBTRACT THE ADDRESS OF THE

                                     015B   633 					; BEGINNING OF THE KEYWORD TABLE

                                     015B   634 					; FROM THIS CHARACTER'S ADDRESS.

            54            04     C6  015B   635 	DIVL2	#4,R4			; COMPUTE INDEX OF THIS KEYWORD.

            58            0B     D0  015E   636 	MOVL	#SHORT_TIME_LEN,R8	; SETUP STRING DESCRIPTOR FOR A

                                     0161   637 					; BUFFER TO HOLD THE CURRENT TIME.

            7E            58     7D  0161   638 	MOVQ	R8,-(SP)		; ALLOCATE THE STRING DESCRIPTOR ON

                                     0164   639 					; THE STACK. SAY THAT THE LENGTH

                                     0164   640 					; OF THE BUFFER IS QUITE SHORT SO

                                     0164   641 					; THAT HOURS/MINUTES/SECONDS ARE

                                     0164   642 					; NOT RETURNED.

            53            5E     D0  0164   643 	MOVL	SP,R3			; LOAD ADDRESS OF THE STRING

                                     0167   644 					; DESCRIPTOR INTO A REGISTER SO

                                     0167   645 					; THAT IT CAN BE USED AS A SYSTEM

                                     0167   646 					; SERVICE CALL ARGUMENT.

                                     0167   647 	$ASCTIM_S -			; ASK SYSTEM FOR AN ASCII STRING

                                     0167   648 		TIMBUF=(R3)		; REPRESENTING THE CURRENT DAYTIME.

                                     0176   649 					; SPECIFY THE STRING DESCRIPTOR 

                                     0176   650 					; JUST MADE ON THE STACK.

            4B            50     E9  0176   651 	BLBC	R0,40$			; BRANCH ON ERROR RETURN.

0B A9   302E303A 303A3020 8F     7D  0179   652 	MOVQ	#^A/ 0:0:0.0/,SHORT_TIME_LEN(R9)

                                     0185   653 					; ADD MIDNIGHT TIME SPECIFICATION TO

                                     0185   654 					; TODAY'S DATE.

            63            08     C0  0185   655 	ADDL2	#MIDNIGHT_LEN,(R3)	; NOW EXTEND THE BUFFER LENGTH

                                     0188   656 					; REPRESENTED IN THE STRING

                                     0188   657 					; DESCRIPTOR TO NEW STRING LENGTH.

            52         08 AC     D0  0188   658 	MOVL	8(AP),R2		; GET THE ADDRESS INTO WHICH THE

                                     018C   659 					; 64-BIT TIME VALUE IS TO BE RETURNED.

                                     018C   660 	$BINTIM_S -			; ASK SYSTEM FOR THE BINARY TIME

                                     018C   661 		TIMBUF=(R3),-		; EQUIVALENT OF THE ASCII TIME STRING.

                                     018C   662 		-			; SPECIFY AN INPUT BUFFER AND

                                     018C   663 		TIMADR=(R2)		; AN OUTPUT ADDRESS INTO WHICH THE

                                     0197   664 					; VALUE CAN BE WRITTEN.

            2A            50     E9  0197   665 	BLBC	R0,40$			; BRANCH ON ERROR.

            54            02     C4  019A   666 	MULL2	#2,R4			; CONVERT THE INDEX INTO THE TIME

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  16

00.2            CNV_MNEM_DAY                                                                                                     (5)



                                     019D   667 					; TABLE INTO A LONGWORD INDEX.

            82       FE84 CF44   C0  019D   668 	ADDL2	TIME_TABLE[R4],(R2)+	; ADD THE TIME FACTOR FOR "YESTERDAY",

                                     01A3   669 					; "TODAY", OR "TOMORROW" TO THE

            62       FE82 CF44   D8  01A3   670 	ADWC	TIME_TABLE+4[R4],(R2)	; 64-BIT BINARY TIME VALUE.

            6C            03     B1  01A9   671 	CMPW	#3,(AP)			; IF THE USER REQUESTED THE ASCII

                          1F     1A  01AC   672 	BGTRU	60$			; EQUIVALENT OF THE TIME, CONVERT

            63            24     D0  01AE   673 	MOVL	#FULL_TIME_LEN,(R3)	; ALLOW THE OUTPUT ASCII STRING TO


                                     01B1   674 					; BE THE FULL SIZE OF THE OUTPUT BUFFER.

                                     01B1   675 	$ASCTIM_S -			; THE ADJUSTED BINARY TIME VALUE BACK

                                     01B1   676 		-			; TO AN ASCII STRING ONCE AGAIN.

                                     01B1   677 		TIMBUF=(R3),-		; SPECIFY THE STRING DESCRIPTOR FOR

                                     01B1   678 		-			; THE OUTPUT BUFFER

                                     01B1   679 		TIMADR=@8(AP)		; AND THE ADDRESS OF THE TIME VALUE.

                                     01C1   680 					; OUTPUT BUFFER.

            04            50     E8  01C1   681 	BLBS	R0,50$			; BRANCH ON SUCCESS.

                                     01C4   682 

                                     01C4   683 40$:					; ERROR HANDLING

                          58     D4  01C4   684 	CLRL	R8			; RESET LENGTH FIELD OF OUTPUT STRING

                                     01C6   685 					; DESCRIPTOR BACK TO ZERO.

                          08     11  01C6   686 	BRB	70$			; BRANCH TO RETURN CODE.

                                     01C8   687 

                                     01C8   688 50$:

            69            58     28  01C8   689 	MOVC3	R8,(R9),@12(AP)		; COPY ASCII TIME STRING INTO OUTPUT

                       0C BC         01CB       

                                     01CD   690 					; BUFFER.

                                     01CD   691 

                                     01CD   692 60$:

            50            01     D0  01CD   693 	MOVL	#1,R0			; MOVE A SUCCESS INDICATOR INTO R0.

                                     01D0   694 

                                     01D0   695 70$:

            5E            08     C0  01D0   696 	ADDL2	#8,SP			; RESTORE THE STACK TO ITS INITIAL

                                     01D3   697 					; STATE.

                                     01D3   698 

                                     01D3   699 80$:

            5E            04     C0  01D3   700 	ADDL2	#4,SP			; MORE STACK RESTORATION.

                                 05  01D6   701 	RSB				; RETURN TO CALLER.

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  17

00.2            CNV_MNEM_DAY                                                                                                     (5)



                                     01D7   703 	.END

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                     (5)



$$$1           = 0000008C R     04   CLI$_ONEVAL    = 00038158            MONTH            00000014 R     04   

$$$2           = 00000079 R     04   CLI$_ONLEVL    = 00038100            NEXTSTATE        00000002            

$$$3           = 0000000D R     03   CLI$_ONOVF     = 00038108            NTOKNS         = 00000004            

BIT...         = 00000000            CLI$_OVRFLW    = 00038160            RESC           = FFFFFFFE            

CLI$_ABFNAM    = 000381B8            CLI$_PARMDEL   = 00038110            SECONDS          00000064 R     04   

CLI$_ABKEYW    = 00038000            CLI$_PROC_ID   = 0003FFF1            SHORT_TIME_LEN = 0000000B            

CLI$_ABVERB    = 00038008            CLI$_QUEJOBCRE = 0003FFF9            SS$_ABORT      = 0000002C            

CLI$_BADRET    = 00038198            CLI$_REQPRMABS = 00038812            SS$_ACCONFLICT = 00000800            

CLI$_BADTEXT   = 000381B0            CLI$_RSLOVF    = 00038118            SS$_ACCVIO     = 0000000C            

CLI$_BUFOVF    = 00038018            CLI$_SKPDAT    = 00038120            SS$_ACPVAFUL   = 000002FC            

CLI$_COMPLX    = 00038020            CLI$_SPARE0    = 00038010            SS$_ARTRES     = 00000474            

CLI$_CONFQUAL  = 00038802            CLI$_SPARE1    = 00038058            SS$_ASTFLT     = 0000040C            

CLI$_CREQUEJOB = 0003884A            CLI$_STKOVF    = 00038128            SS$_BADATTRIB  = 00000034            

CLI$_DEFOVF    = 00038028            CLI$_SUBMITERR = 00038852            SS$_BADCHKSUM  = 00000808            

CLI$_DEVALSPL  = 0003885A            CLI$_SYMDEL    = 00038130            SS$_BADESCAPE  = 0000003C            

CLI$_DEVNOTFOR = 0003887A            CLI$_SYMOVF    = 00038138            SS$_BADFILEHDR = 00000810            

CLI$_DEVNOTSPL = 00038862            CLI$_UNDFIL    = 00038188            SS$_BADFILENAME= 00000818            

CLI$_DIRECT    = 00038030            CLI$_UNDSYM    = 00038140            SS$_BADFILEVER = 00000820            

CLI$_EXPSYN    = 00038038            CLI$_UNPROPARM = 00038170            SS$_BADIMGHDR  = 00000044            

CLI$_FILOPN    = 00038190            CLI$_UNPROQUAL = 00038168            SS$_BADIRECTORY= 00000828            

CLI$_ILLVAL    = 0003883A            CLI$_USGOTO    = 00038148            SS$_BADPARAM   = 00000014            

CLI$_IMCHNG    = 00038040            CLI$_VALCNVERR = 00038832            SS$_BADSTACK   = 000002B4            

CLI$_IMGFNF    = 00038872            CLI$_VALREQ    = 00038150            SS$_BEGOFFILE  = 00000938            

CLI$_INSFPRM   = 00038048            CNV_MNEM_DAY     0000011B R     03   SS$_BLOCKCNTERR= 00000940            

CLI$_INVKEY    = 00038178            CNV_PARSTRNG     000000A5 R     03   SS$_BREAK      = 00000414            

CLI$_INVQUAL   = 0003880A            CNV_RELOC        00000000 R     03   SS$_BUFBYTALI  = 0000030C            

CLI$_INVQUALNUM= 0003881A            COLD             0000000A R     03   SS$_BUFFEROVF  = 00000601            

CLI$_INVREQTYP = 00038822            COLDAY           00000004 R     03   SS$_BUGCHECK   = 000002A4            

CLI$_INVRSP    = 00038180            COLHR            00000008 R     03   SS$_CANCEL     = 00000830            

CLI$_INVUIC    = 000381A8            COLMIN           00000008 R     03   SS$_CHANINTLK  = 0000004C            

CLI$_IVCHAR    = 00038050            COLMON           00000005 R     03   SS$_CLIFRCEXT  = 00000980            

CLI$_IVDEVTYPE = 0003886A            COLYR            00000006 R     03   SS$_CMODSUPR   = 0000041C            

CLI$_IVFNAM    = 000381C0            DAY              00000000 R     04   SS$_CMODUSER   = 00000424            

CLI$_IVKEYW    = 00038060            DAY_TABLE        0000001A R     03   SS$_COMPAT     = 0000042C            

CLI$_IVOPER    = 00038068            DAY_TBL_LEN    = 0000000C            SS$_CONTINUE   = 00000001            

CLI$_IVPROT    = 00038070            DELTA_DAY        00000078 R     04   SS$_CONTROLC   = 00000651            

CLI$_IVQLOC    = 00038078            ENDD             0000000F R     03   SS$_CONTROLO   = 00000609            

CLI$_IVSYMB    = 00038080            ENDDAY           0000000D R     03   SS$_CONTROLY   = 00000611            

CLI$_IVVALU    = 00038088            ENDHR            00000011 R     03   SS$_CREATED    = 00000619            

CLI$_IVVERB    = 00038090            ENDMIN           00000013 R     03   SS$_CTRLERR    = 00000054            

CLI$_MAXPARM   = 00038098            ENDMON           0000000E R     03   SS$_DATACHECK  = 0000005C            

CLI$_MULKEY    = 000381A0            ENDSECS          00000015 R     03   SS$_DATAOVERUN = 00000838            

CLI$_NOATFIL   = 000380A0            ENDYR            0000000F R     03   SS$_DEBUG      = 0000046C            

CLI$_NOCCAT    = 000380A8            EOS            = 00000000            SS$_DECOVF     = 000004A4            

CLI$_NOCOMD    = 000380B0            FILCNT         = 0000000B            SS$_DEVACTIVE  = 000002C4            

CLI$_NOKEYW    = 000380B8            FIRST_FLAG$$   = 00000000            SS$_DEVALLOC   = 00000840            

CLI$_NOLIST    = 000380C0            FULL_TIME_LEN  = 00000024            SS$_DEVALRALLOC= 00000641            

CLI$_NOOPTPRS  = 00038842            GBL...         = 00000000            SS$_DEVASSIGN  = 00000848            

CLI$_NOQUAL    = 000380C8            HOURS            0000003C R     04   SS$_DEVFOREIGN = 00000064            

CLI$_NORMAL    = 00030001            ILLCHR           00000016 R     03   SS$_DEVICEFULL = 00000850            

CLI$_NOTNEG    = 000380D8            LIB$CVT_DTIME    0000004B RG    03   SS$_DEVMOUNT   = 0000006C            

CLI$_NOVALU    = 000380D0            LIB$CVT_TIME     00000040 RG    03   SS$_DEVNOTALLOC= 00000858            

CLI$_NOVALUE   = 0003882A            MAXLGH         = 00000019            SS$_DEVNOTMBX  = 00000074            

CLI$_NULFIL    = 000380E0            MIDNIGHT_LEN   = 00000008            SS$_DEVNOTMOUNT= 0000007C            

CLI$_NUMBER    = 000380E8            MINDAY           00000018 R     03   SS$_DEVOFFLINE = 00000084            

CLI$_ONCOMD    = 000380F0            MINMON           00000018 R     03   SS$_DIRFULL    = 00000860            

CLI$_ONERR     = 000380F8            MINUTES          00000050 R     04   SS$_DRVERR     = 0000008C            

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  19

SYMBOL TABLE                                                                                                                     (5)



SS$_DUPFILENAME= 00000868            SS$_IVSECIDCTL = 000002E4            SS$_ROPRAND    = 00000454            

SS$_DUPLNAM    = 00000094            SS$_IVSSRQ     = 00000174            SS$_SECTBLFUL  = 0000021C            

SS$_ENDOFFILE  = 00000870            SS$_IVSTSFLG   = 0000017C            SS$_SSFAIL     = 0000045C            

SS$_ENDOFTAPE  = 00000878            SS$_IVTIME     = 00000184            SS$_SUBRNG     = 000004AC            

SS$_ENDOFUSRLBL= 00000970            SS$_LCKPAGFUL  = 000000D4            SS$_SUPERSEDE  = 00000631            

SS$_EXQUOTA    = 0000001C            SS$_LENVIO     = 0000018C            SS$_TAPEPOSLOST= 00000224            

SS$_EXTIDXFILE = 00000880            SS$_LKWSETFUL  = 00000194            SS$_TBIT       = 00000464            

SS$_FCPREADERR = 00000888            SS$_MBFULL     = 000008D8            SS$_TIMEOUT    = 0000022C            

SS$_FCPREPSTN  = 00000988            SS$_MBTOOSML   = 0000019C            SS$_TOOMANYVER = 00000990            

SS$_FCPREWNDERR= 00000890            SS$_MCHECK     = 000002BC            SS$_TOOMUCHDATA= 0000029C            

SS$_FCPSPACERR = 00000898            SS$_MEDOFL     = 000001A4            SS$_UNASEFC    = 00000234            

SS$_FCPWRITERR = 000008A0            SS$_MSGNOTFND  = 00000621            SS$_UNSAFE     = 0000023C            

SS$_FILACCERR  = 0000009C            SS$_MTLBLLONG  = 00000304            SS$_UNWIND     = 00000920            

SS$_FILALRACC  = 000000A4            SS$_MUSTCLOSEFL= 00000948            SS$_UNWINDING  = 00000928            

SS$_FILELOCKED = 000008A8            SS$_NOAQB      = 00000314            SS$_VASFULL    = 00000244            

SS$_FILENUMCHK = 000008B0            SS$_NODATA     = 000001AC            SS$_VECINUSE   = 0000024C            

SS$_FILESEQCHK = 000008B8            SS$_NOHANDLER  = 000008F8            SS$_VOLINV     = 00000254            

SS$_FILESTRUCT = 000008C0            SS$_NOHOMEBLK  = 000008E0            SS$_WAITUSRLBL = 00000950            

SS$_FILNOTACC  = 000000AC            SS$_NOIOCHAN   = 000001B4            SS$_WASCLR     = 00000001            

SS$_FILNOTCNTG = 000002AC            SS$_NOLINKS    = 0000027C            SS$_WASECC     = 00000639            

SS$_FILNOTEXP  = 000000B4            SS$_NOLOGNAM   = 000001BC            SS$_WASSET     = 00000009            

SS$_FLTDIV     = 00000494            SS$_NOMBX      = 00000274            SS$_WRITLCK    = 0000025C            

SS$_FLTOVF     = 0000048C            SS$_NOMOREFILES= 00000930            SS$_WRONGACP   = 0000031C            

SS$_FLTUND     = 0000049C            SS$_NONEXDRV   = 000001C4            SYS$ASCTIM       ********   X   03   

SS$_FORMAT     = 000000BC            SS$_NONEXPR    = 000008E8            SYS$BINTIM       ********   X   03   

SS$_GPTFULL    = 000000C4            SS$_NONLOCAL   = 000008F0            TBUF           = 00000024            

SS$_GSDFULL    = 000000CC            SS$_NOPRIV     = 00000024            TIME_TABLE       00000026 R     03   

SS$_HANGUP     = 000002CC            SS$_NORMAL     = 00000001            TOKENS           00000000 R     03   

SS$_HEADERFULL = 000008C8            SS$_NOSIGNAL   = 00000900            TSTRING          00000000            

SS$_IDXFILEFULL= 000008D0            SS$_NOSOLICIT  = 00000284            YEAR             00000028 R     04   

SS$_ILLBLKNUM  = 000000DC            SS$_NOSUCHDEV  = 00000908            

SS$_ILLCNTRFUNC= 000000E4            SS$_NOSUCHFILE = 00000910            

SS$_ILLEFC     = 000000EC            SS$_NOSUCHNODE = 0000028C            

SS$_ILLIOFUNC  = 000000F4            SS$_NOSUCHSEC  = 00000978            

SS$_ILLLBLAST  = 00000968            SS$_NOTAPEOP   = 00000264            

SS$_ILLPAGCNT  = 000000FC            SS$_NOTFILEDEV = 000001CC            

SS$_ILLSEQOP   = 000002DC            SS$_NOTINTBLSZ = 000001D4            

SS$_ILLSER     = 00000104            SS$_NOTLABELMT = 000001DC            

SS$_ILLUSRLBLRD= 00000958            SS$_NOTMODIFIED= 00000659            

SS$_ILLUSRLBLWT= 00000960            SS$_NOTNETDEV  = 000002EC            

SS$_INCVOLLABEL= 0000010C            SS$_NOTRAN     = 00000629            

SS$_INSFARG    = 00000114            SS$_NOTSQDEV   = 000001E4            

SS$_INSFMEM    = 00000124            SS$_OPCCUS     = 00000434            

SS$_INSFRAME   = 0000012C            SS$_OPCDEC     = 0000043C            

SS$_INSFWSL    = 0000011C            SS$_OPINCOMPL  = 000002D4            

SS$_INTDIV     = 00000484            SS$_PAGOWNVIO  = 000001EC            

SS$_INTOVF     = 0000047C            SS$_PAGRDERR   = 00000444            

SS$_IVADDR     = 00000134            SS$_PARITY     = 000001F4            

SS$_IVCHAN     = 0000013C            SS$_PARTESCAPE = 000001FC            

SS$_IVCHNLSEC  = 0000026C            SS$_PFMBSY     = 00000204            

SS$_IVDEVNAM   = 00000144            SS$_PLHLDR     = 00000404            

SS$_IVGSDNAM   = 0000014C            SS$_PSTFULL    = 0000020C            

SS$_IVLOGNAM   = 00000154            SS$_RADRMOD    = 0000044C            

SS$_IVLOGTAB   = 0000015C            SS$_REJECT     = 00000294            

SS$_IVPROTECT  = 000002F4            SS$_REMOTE     = 00000649            

SS$_IVQUOTAL   = 00000164            SS$_RESIGNAL   = 00000918            

SS$_IVSECFLG   = 0000016C            SS$_RESULTOVF  = 00000214            

CVTTIME         - CONVERT CLI TIME TO BINARY                     21-AUG-1978 18:57:26   VAX-11 MACRO X0.3-11               Page  20

PROGRAM SECTION SYNOPSIS                                                                                                         (5)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$ABS$            00000004      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

_CNVCLI_CODE     000001D7      03     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT LONG  

_CNVCLI_STATE    0000008C      04     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

16154. BYTES LEFT IN FREE MEMORY POOL.

2718. BYTES OF RECLAIMED MEMORY.

OBJ$:CNVCLITIM,LIS$:CNVCLITIM/-SP=EXECML$/ML,LIB$:CLIUTL/ML,SRC$:CNVCLITIM

26 MLB DIR RDS - 408 GETS TO DEFINE 11 MACROS. 46 INTER. FILE WRITES. 

