Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-1


					PAGE	,132			; 						 ;AN000;
				;	SCCSID = @(#)ifsinit.asm	1.0 87/05/11					 ;AN000;
				TITLE	IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN000;
				NAME	IFSINIT 									 ;AN000;
				;***********************************************************************************	 ;AN000;
				;											 ;AN000;
				; IFS Initialization Routines								 ;AN000;
				;											 ;AN000;
				; IFSINIT										 ;AN000;
				;											 ;AN000;
				; REVISION HISTORY:									 ;AN000;
				;	A000 - Original version 4.00	MAY 1987					 ;AN000;
				;	A001 - PTM 331	Entry point for device ioctl
				;	A002 - PTM 430	Renumber parse errors
				;	A003 - DCR  96	Transfer IFS DOS callbacks to IFSFUNC
				;	A004 - PTM 696	IFSFUNC hang w/no drivers
				;	A005 - PTM 541	Parse problem
				;	A006 - PTM 1227 DOS Version Check problem
				;	A007 - PTM  842 Error messages in ifsfunc
				;	A008 - PTM 1950 Autoattach when 2 ifs drivers loaded & 1st fails attach
				;	A009 - PTM 2249 Autoattach must set isifs bit in cds
				;	A010 - PTM 2827 Error proc problems	1/88   RMG
				;	A011 - PTM 3334 put back reset environment call  2/88 rmg
				;	A012 - PTM 4140 dos ext error msg enhancement - semaphore processing	4/19/88 RMG
				;	A013 - DCR 526	New INT 2FH Share interface not to trigger logic install 4/19/88 RMG
				;
				; LOC -
				;
				;***********************************************************************************
															 ;AN000;
				.list											 ;AN000;
				.sall											 ;AN000;
															 ;AN000;
				AsmVars <IBM, INSTALLED, DEBUG, PATHGEN>						 ;AN000;
															 ;AN000;
 0000				IFSSEG	SEGMENT WORD PUBLIC 'IFSSEG'                                                     ;AN000;
 0000				IFSSEG	ENDS										 ;AN000;
															 ;AN000;
				include dosseg.asm									 ;AN000;
			     C	;	SCCSID = @(#)dosseg.asm	1.1 85/04/10
			     C	;	SCCSID = @(#)dosseg.asm	1.1 85/04/10
			     C	;
			     C	; segment ordering for MSDOS
			     C	;
			     C	
 0000                        C	START		SEGMENT BYTE PUBLIC 'START'
 0000                        C	START		ENDS
			     C	
 0000                        C	CONSTANTS	SEGMENT WORD PUBLIC 'CONST'
 0000                        C	CONSTANTS	ENDS
			     C	
 0000                        C	DATA		SEGMENT WORD PUBLIC 'DATA'
 0000                        C	DATA		ENDS
			     C	
 0000                        C	TABLE		SEGMENT BYTE PUBLIC 'TABLE'
 0000                        C	TABLE		ENDS
			     C	
 0000                        C	CODE		SEGMENT BYTE PUBLIC 'CODE'
 0000                        C	CODE		ENDS
			     C	
 0000                        C	LAST		SEGMENT PARA PUBLIC 'LAST'
 0000                        C	LAST		ENDS
			     C	
			     C	DOSGROUP    GROUP   START,CONSTANTS,DATA,TABLE,CODE,LAST
															 ;AN000;
 0000				DATA		SEGMENT WORD PUBLIC 'DATA'                                               ;AN000;
					; DOSGROUP data 								 ;AN000;
					extrn	DataVersion:WORD	; version number of DOS data.			 ;AN000;
					extrn	SFTFCB:DWORD		; FCB SFT cache 				 ;AN000;
					extrn	KeepCount:WORD		; FCB SFT cache 				 ;AN000;
					Extrn	CDSAddr:DWORD								 ;AN000;
					Extrn	CDSCount:BYTE								 ;AN000;
					Extrn	DummyCDS:BYTE								 ;AN000;
					Extrn	CritPatch:WORD								 ;AN000;
 0000				DATA		ENDS									 ;AN000;
															 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-2
DOS - Message Retriever - MSGSTR.INC Module                 

 0000				IFSSEG	SEGMENT WORD PUBLIC 'IFSSEG'                                                     ;AN000;
					ASSUME	SS:DOSGROUP,CS:IFSSEG							 ;AN000;
															 ;AN000;
					;IFS Data									 ;AN000;
															 ;AN000;
					Extrn	CDSAlt:DWORD								 ;AN000;
					Extrn	DFLAddr:DWORD								 ;AN000;
					Extrn	DFLCount:BYTE								 ;AN000;
				;;;aliasExtrn	NLAddr:DWORD								 ;AN000;
				;;;aliasExtrn	NLSIZE:WORD								 ;AN000;
					Extrn	INT_2F_5:BYTE								 ;AN000;
					Extrn	NEXT_2F_5:DWORD 							 ;AN000;
					Extrn	IFSR:WORD								 ;AN000;
					Extrn	CD1:WORD								 ;AN000;
					Extrn	DF1:WORD								 ;AN000;
					Extrn	SFF1:WORD								 ;AN000;
					Extrn	THISIFS:DWORD								 ;AN000;
					Extrn	IFSPROC_FLAGS:WORD							 ;AN000;
					Extrn	IFSFUNC_FLAGS:WORD							 ;AN000;
					Extrn	UNC_FS_HDR:DWORD							 ;AN000;
					Extrn	DEVICE_CB@_OFFSET:WORD							 ;AN000;
					Extrn	IFS_ATTRS:WORD
					Extrn	RODS_LABEL:BYTE 							 ;AN000;
					Extrn	IFSSEM:BYTE
															 ;AN000;
					PUBLIC	CODESIZE								 ;AN000;
 0000  52 4D 47			CODESIZE	DB	'RMG'                                                            ;AN000;
 0003  30					DB	30H								 ;AN000;
 0004  30					DB	30H								 ;AN000;
 0005  30					DB	30H								 ;AN000;
 0006  30					DB	30H								 ;AN000;
 0007  30					DB	30H								 ;AN000;
 0008  20					DB	20H								 ;AN000;
					PUBLIC	TOTSIZE 								 ;AN000;
 0009  30			TOTSIZE 	DB	30H								 ;AN000;
 000A  30					DB	30H								 ;AN000;
 000B  30					DB	30H								 ;AN000;
 000C  30					DB	30H								 ;AN000;
 000D  30					DB	30H								 ;AN000;
 000E  20					DB	20H								 ;AN000;
															 ;AN000;
															 ;AN000;
															 ;AN000;
				Break	<INT 2F handler>								 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-3
INT 2F handler                                              

															 ;AN000;
															 ;AN000;
				IF	PATHGEN 									 ;AN000;
				Procedure   GetIFSFCSinES,NEAR								 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING,ES:NOTHING,SS:NOTHING				 ;AN000;
 000F  0E				PUSH	CS									 ;AN000;
 0010  07				POP	ES									 ;AN000;
					return										 ;AN000;
				EndProc     GetIFSFCSinES								 ;AN000;
				ENDIF											 ;AN000;
															 ;AN000;
				Procedure   UnusedFunc,NEAR								 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING,ES:NOTHING,SS:NOTHING				 ;AN000;
					fmt <>,<>,<"Unused IFSFUNC function issued\n">                                   ;AN000;
 0012  B8 0001				MOV	AX,error_invalid_function						 ;AN000;
 0015  F9				STC										 ;AN000;
					return										 ;AN000;
				EndProc UnusedFunc									 ;AN000;
															 ;AN000;
				; the following multiplex functions are implemented:					 ;AN000;
															 ;AN000;
 0017  00000000			retn1	DD  ?										 ;AN000;
 001B  0000			DMY	DW  ?										 ;AN000;
 001D  00000000			CONT	DD  ?										 ;AN000;
 0021  002D R			FOO	DW  Leave2F									 ;AN000;
															 ;AN000;
 0023				INT2F	PROC	FAR									 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING,ES:NOTHING,SS:DOSGroup				 ;AN000;
 0023  80 FC 11				CMP	AH,multIFS								 ;AN000;
 0026  74 06				JZ	IDispatch								 ;AN000;
 0028  2E: FF 2E 001D R			JMP	CONT									 ;AN000;
 002D				Leave2F:										 ;AN000;
 002D  CB				RET										 ;AN000;
 002E				INT2F	ENDP										 ;AN000;
															 ;AN000;
				Procedure   IDispatch,NEAR								 ;AN000;
 002E  2E: 8F 06 0017 R			POP	WORD PTR retn1		; remove long return				 ;AN000;
 0033  2E: 8F 06 0019 R			POP	WORD PTR retn1+2 							 ;AN000;
 0038  2E: 8F 06 001B R			POP	DMY			; remove flags					 ;AN000;
 003D  93				XCHG	AX,BX			; save bx/move index to index reg		 ;AN000;
 003E  D0 E3				SHL	BL,1			; convert byte to word index			 ;AN000;
 0040  32 FF				XOR	BH,BH			; convert to word index 			 ;AN000;
 0042  2E: 8F 06 001B R			POP	DMY			; save fictitious AX				 ;AN000;
 0047  2E: FF 36 001B R			PUSH	DMY			; restore spot on stack 			 ;AN000;
 004C  2E: FF 36 0019 R			PUSH	WORD PTR retn1+2 	; restore long return				 ;AN000;
 0051  2E: FF 36 0017 R			PUSH	WORD PTR retn1								 ;AN000;
 0056  2E: FF 36 0021 R			PUSH	FOO			; place near address of far return		 ;AN000;
 005B  2E: FF B7 0067 R			PUSH	CS:IFStable[BX] 	; place destination routine			 ;AN000;
 0060  93				XCHG	AX,BX			; restore BX					 ;AN000;
 0061  2E: A1 001B R			MOV	AX,DMY			; restore AX					 ;AN000;
 0065  FB				STI				; let Mani see Clock ticks			 ;AN000;
 0066				ShortReturn:										 ;AN000;
					return				; go to routine (dispatch for Aaron)		 ;AN000;
															 ;AN000;
				EDW	MACRO	name									 ;AN000;
					extrn	name:near								 ;AN000;
					DW	name									 ;AN000;
				ENDM											 ;AN000;
															 ;AN000;
 0067				IFSTable    LABEL   WORD								 ;AN000;
 0067  00C9 R				DW	IFSInstall								 ;AN000;
					EDW	IFS_RMDIR		    ;	1   IFS_RMDIR				 ;AN000;
					EDW	IFS_SEQ_RMDIR		    ;	2   IFS_SEQ_RMDIR			 ;AN000;
					EDW	IFS_MKDIR		    ;	3   IFS_MKDIR				 ;AN000;
					EDW	IFS_SEQ_MKDIR		    ;	4   IFS_SEQ_MKDIR			 ;AN000;
					EDW	IFS_CHDIR		    ;	5   IFS_CHDIR				 ;AN000;
					EDW	IFS_CLOSE		    ;	6   IFS_CLOSE				 ;AN000;
					EDW	IFS_COMMIT		    ;	7   IFS_COMMIT				 ;AN000;
					EDW	IFS_READ		    ;	8   IFS_READ				 ;AN000;
					EDW	IFS_WRITE		    ;	9   IFS_WRITE				 ;AN000;
					EDW	IFS_XLOCK		    ;	10  IFS_XLOCK				 ;AN000;
 007D  0012 R				DW	UnusedFunc		    ;	11					 ;AN000;
					EDW	IFS_DISK_INFO		    ;	12  IFS_DISK_INFO			 ;AN000;
					EDW	IFS_SET_FILE_ATTRIBUTE	    ;	13  IFS_SET_FILE_ATTRIBUTE		 ;AN000;
					EDW	IFS_SEQ_SET_FILE_ATTRIBUTE  ;	14  IFS_SEQ_SET_FILE_ATTRIBUTE		 ;AN000;
					EDW	IFS_GET_FILE_INFO	    ;	15  IFS_GET_FILE_INFO			 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-4
INT 2F handler                                              

					EDW	IFS_SEQ_GET_FILE_INFO	    ;	16  IFS_SEQ_GET_FILE_INFO		 ;AN000;
					EDW	IFS_RENAME		    ;	17  IFS_RENAME				 ;AN000;
					EDW	IFS_SEQ_RENAME		    ;	18  IFS_SEQ_RENAME			 ;AN000;
					EDW	IFS_DELETE		    ;	19  IFS_DELETE				 ;AN000;
					EDW	IFS_SEQ_DELETE		    ;	20  IFS_SEQ_DELETE			 ;AN000;
					EDW	IFS_OPEN		    ;	21  IFS_OPEN				 ;AN000;
					EDW	IFS_SEQ_OPEN		    ;	22  IFS_SEQ_OPEN			 ;AN000;
					EDW	IFS_CREATE		    ;	23  IFS_CREATE				 ;AN000;
					EDW	IFS_SEQ_CREATE		    ;	24  IFS_SEQ_CREATE			 ;AN000;
					EDW	IFS_SEQ_SEARCH_FIRST	    ;	25  IFS_SEQ_SEARCH_FIRST		 ;AN000;
					EDW	IFS_SEQ_SEARCH_NEXT	    ;	26  IFS_SEQ_SEARCH_NEXT 		 ;AN000;
					EDW	IFS_SEARCH_FIRST	    ;	27  IFS_SEARCH_FIRST			 ;AN000;
					EDW	IFS_SEARCH_NEXT 	    ;	28  IFS_SEARCH_NEXT			 ;AN000;
					EDW	IFS_ABORT		    ;	29  IFS_ABORT				 ;AN000;
					EDW	IFS_ASSOPER		    ;	30  IFS_ASSOPER 			 ;AN000;
					EDW	Printer_GETSET_STRING	    ;	31  Printer_GETSET_STRING		 ;AN000;
					EDW	IFSFlushBuf		    ;	32  IFS_Flush_Buf			 ;AN000;
					EDW	IFS_LSEEK		    ;	33  IFS_LSEEK				 ;AN000;
					EDW	IFS_RESET_ENVIRONMENT	    ;	34  IFS_RESET_ENVIRONMENT	       ;AN000;
					EDW	IFS_DEVICE_CHECK	    ;	35  IFSDeviceCheck			 ;AN000;
					EDW	IFS_DEVICE_CLOSE	    ;	36  IFSDeviceClose			 ;AN000;
					EDW	IFS_DEVICE_OPER 	    ;	37  IFSDeviceOper			 ;AN000;
					EDW	IFS_SPOOL_ECHO_CHECK	    ;	38  IFSSpoolEchoCheck			 ;AN000;
 00B5  0012 R				DW	UnusedFunc		    ;	39					 ;AN000;
 00B7  0012 R				DW	UnusedFunc		    ;	40					 ;AN000;
 00B9  0012 R				DW	UnusedFunc		    ;	41					 ;AN000;
					EDW	SERVER_DOSCALL_CLOSEFILES_FOR_UID ; 42			    util	 ;AN000;
					EDW	DEVICE_IOCTL		    ;	43			    dev 	 ;AN001;
					EDW	IFS_UPDATE_CB		    ;	44  UPDATECB		    util	 ;AN000;
					EDW	IFS_FILE_XATTRIBUTES	    ;	45			    hand	 ;AN000;
					EDW	IFS_XOPEN		    ;	46  XOPEN		    file	 ;AN000;
					EDW	IFS_DEPENDENT_IOCTL	    ;	47			    util	 ;AN000;
															 ;AN000;
															 ;AN000;
					IF	PATHGEN 								 ;AN000;
 00C7  000F R				DW	GetIFSFCSinES		    ;	49 (if debug) GetRedirCSinES		 ;AN000;
									    ;	47 (if NOT debug) GetRedirCSinES	 ;AN000;
					ENDIF										 ;AN000;
															 ;AN000;
 00C9				IFSInstall:										 ;AN000;
 00C9  B0 FF				MOV	AL,0FFh 								 ;AN000;
 00CB  2E: 8B 1E 0000 E			MOV	BX,IFS_ATTRS
					return										 ;AN000;
				EndProc IDispatch									 ;AN000;
															 ;AN000;
				Procedure   EcritNet,NEAR								 ;AN000;
					ASSUME	SS:NOTHING								 ;AN000;
 00D1  9C				PUSHF										 ;AN000;
 00D2  FA				CLI										 ;AN000;
 00D3  50				PUSH	AX									 ;AN000;
 00D4  B8 8005				MOV	AX,8000h+CritNet							 ;AN000;
 00D7  CD 2A				INT	int_ibm 								 ;AN000;
 00D9  58				POP	AX									 ;AN000;
 00DA  FB				STI										 ;AN000;
 00DB  9D				POPF										 ;AN000;
					return										 ;AN000;
				EndProc EcritNet									 ;AN000;
															 ;AN000;
				;											 ;AN000;
				; Leave critical section for network.  Note that the first instruction (PUSH		 ;AN000;
				; AX) here is used as the patch byte to enable the DOS critical section 		 ;AN000;
				; routines...										 ;AN000;
				;											 ;AN000;
				;   NOTE!!! On a 286, this instruction issues POPF!!!					 ;AN000;
				;											 ;AN000;
				Procedure   LcritNet,NEAR								 ;AN000;
 00DD  50				PUSH	AX									 ;AN000;
 00DE  9C				PUSHF										 ;AN000;
 00DF  FA				CLI										 ;AN000;
															 ;AN000;
 00E0  B8 8105				MOV	AX,8100h+critNet							 ;AN000;
 00E3  CD 2A				INT	int_ibm 								 ;AN000;
 00E5  FB				STI										 ;AN000;
 00E6  9D				POPF				; NOTE that this restores entry 		 ;AN000;
 00E7  58				POP	AX									 ;AN000;
					return										 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-5
INT 2F handler                                              

				EndProc LcritNet									 ;AN000;
															 ;AN000;
															 ;AN000;
				Procedure   EcritIFS,NEAR								 ;AN000;
					ASSUME	SS:NOTHING								 ;AN000;
 00E9  9C				PUSHF										 ;AN000;
 00EA  FA				CLI										 ;AN000;
 00EB  50				PUSH	AX									 ;AN000;
 00EC  B8 8006				MOV	AX,8000h+CritIFS							 ;AN000;
 00EF  CD 2A				INT	int_ibm 								 ;AN000;
 00F1  58				POP	AX									 ;AN000;
 00F2  FB				STI										 ;AN000;
 00F3  9D				POPF										 ;AN000;
					return										 ;AN000;
				EndProc EcritIFS									 ;AN000;
															 ;AN000;
				Procedure   LcritIFS,NEAR								 ;AN000;
 00F5  50				PUSH	AX									 ;AN000;
 00F6  9C				PUSHF										 ;AN000;
 00F7  FA				CLI										 ;AN000;
 00F8  B8 8106				MOV	AX,8100h+critIFS							 ;AN000;
 00FB  CD 2A				INT	int_ibm 								 ;AN000;
 00FD  FB				STI										 ;AN000;
 00FE  9D				POPF				; NOTE that this restores entry 		 ;AN000;
 00FF  58				POP	AX									 ;AN000;
					return										 ;AN000;
				EndProc LcritIFS									 ;AN000;
															 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING,ES:NOTHING,SS:DOSGroup				 ;AN000;
															 ;AN000;
 0101				INTERR: 										 ;AN000;
 0101  EB FE			INTERRL:jmp	INTERRL 		; hang here - we're sick                         ;AN000;
															 ;AN000;
															 ;AN000;
					PUBLIC	TEMPBUF 								 ;AN000;
 0103				TEMPBUF LABEL	BYTE									 ;AN000;
				; THE SPACE FROM HERE TO NETEND CONSTITUTES THE TEMP AREA OF IFSFUNC.			 ;AN000;
				; WARNING DANGER!!!!!!!!!								 ;AN000;
				;	DO NOT reduce the size of this area without first checking			 ;AN000;
				;	all users of it. It is OK to make it BIGGER without checking.			 ;AN000;
				; Current size: ??									 ;AN000;
															 ;AN000;
				Break	<General IFSFUNC INIT>								 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-6
General IFSFUNC INIT                                        

				;************************************************************************************	 ;AN000;
				;											 ;AN000;
				; map:	Resident:									 ;AN000;
				;	IF_40 - (contifsinit) 2nd half of ifsfinit procedure  =  tempbuf area		 ;AN000;
				;		allocate: DFL_LIST, altcds, sftfcb,					 ;AN000;
				;		set TOTALSIZE								 ;AN000;
				;	IFSFUNCINIT start								 ;AN000;
				;	I_700 - INIT:	2nd half of IFSFUNCINIT 					 ;AN000;
				;			INT 23,24 stuff 						 ;AN000;
				;			call IFSFINIT							 ;AN000;
				;			close std handles						 ;AN000;
				;			enable critical section 					 ;AN000;
				;			terms & stays							 ;AN000;
				;	tempbuf ends									 ;AN000;
				;	Transient:									 ;AN000;
				;	IFSFINIT procedure								 ;AN000;
				;	Set interrupt vectors - 2F							 ;AN000;
				;	Call AUTO_ATTACH								 ;AN000;
				;	allocate stuff (write over code)						 ;AN000;
				;	jumps up to 2nd half								 ;AN000;
				;	IFSFUNCINIT init code								 ;AN000;
				;	version checks									 ;AN000;
				;	error msg processing								 ;AN000;
				;	free environment								 ;AN000;
				;	parsing 									 ;AN000;
				;	move stack									 ;AN000;
				;	check size for everything							 ;AN000;
				;	ifsfunc code size calculation							 ;AN000;
				;	ifsfunc total size calculation							 ;AN000;
				;	jmps to I_700									 ;AN000;
				;	AutoAttach									 ;AN000;
				;	CheckUNCpresence								 ;AN000;
				;											 ;AN000;
				;************************************************************************************	 ;AN000;
															 ;AN000;
				; This Code must be protected from overwrite when the structures are			 ;AN000;
				;  initialized										 ;AN000;
															 ;AN000;
															 ;AN000;
 0103				IF_40:						; CONTIFSINIT				 ;AN000;
				ASSUME	DS:IFSSEG,ES:NOTHING,SS:NOTHING 						 ;AN000;
															 ;AN000;
				;											 ;AN000;
				; Allocate and init DFL_LIST								 ;AN000;
				;											 ;AN000;
 0103  89 3E 0000 E			MOV	WORD PTR DFLAddr,DI							 ;AN000;
 0107  8C 06 0002 E			MOV	WORD PTR DFLAddr+2,ES							 ;AN000;
 010B  A0 0000 E			MOV	AL,DFLCount								 ;AN000;
 010E  32 E4				XOR	AH,AH									 ;AN000;
 0110  BB 001E				MOV	BX,SIZE DFLL_LIST							 ;AN000;
 0113  F7 E3				MUL	BX									 ;AN000;
 0115  8B C8				MOV	CX,AX									 ;AN000;
 0117  33 C0				XOR	AX,AX									 ;AN000;
 0119  F3/ AA				REP	STOSB									 ;AN000;
															 ;AN000;
				;;;aliasMOV	WORD PTR NLAddr,DI							 ;AN000;
				;;;	MOV	WORD PTR NLAddr+2,ES							 ;AN000;
				;;;	MOV	AX,NLSIZE								 ;AN000;
				;;;	STOSW										 ;AN000;
				;;;	XOR	AX,AX									 ;AN000;
				;;;	STOSW										 ;AN000;
				;;;aliasADD	DI,NLSIZE-4								 ;AN000;
				;											 ;AN000;
				; Allocate alt CDSs area								 ;AN000;
				;											 ;AN000;
 011B  F7 06 0000 E 0080		TEST	IFSFUNC_FLAGS,UNC_INSTALLED						 ;AN000;
 0121  74 1D				JZ	IF_50									 ;AN000;
 0123  89 3E 0000 E			MOV	WORD PTR CDSAlt,DI							 ;AN000;
 0127  8C 06 0002 E			MOV	WORD PTR CDSAlt+2,ES							 ;AN000;
 012B  1E				PUSH	DS									 ;AN000;
 012C  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 						 ;AN000;
 012F  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
 0131  A0 0000 E			MOV	AL,CDSCount		;	Alt = Alloc ((sizeof(CDS)+1)*CDSCount);  ;AN000;
 0134  32 E4				XOR	AH,AH									 ;AN000;
 0136  40				INC	AX									 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-7
General IFSFUNC INIT                                        

 0137  BB 0058				MOV	BX,SIZE curdir_list							 ;AN000;
 013A  F7 E3				MUL	BX									 ;AN000;
 013C  03 F8				ADD	DI,AX									 ;AN000;
 013E  EB 06				JMP	SHORT IF_55								 ;AN000;
 0140				IF_50:											 ;AN000;
 0140  1E				PUSH	DS									 ;AN000;
 0141  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 						 ;AN000;
 0144  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
				;											 ;AN000;
				; Allocate new FCB cache if appropriate 						 ;AN000;
				;											 ;AN000;
 0146				IF_55:											 ;AN000;
 0146  2E: 80 3E 03C1 R 00		CMP	BYTE PTR CS:NEWFCBCACHE,0  ; Damn forward reference			 ;AN000;
 014C  74 3B				JZ	IF_80			   ; JZ NO_FCB_CACHE				 ;AN000;
				;											 ;AN000;
				; We need to allocate (NewNumFCB * size of SF_entry) + size of sfTable. 		 ;AN000;
				;											 ;AN000;
 014E  FA				CLI				; Diddling a DOS table, make sure		 ;AN000;
				;											 ;AN000;
				; Make dos point to new table								 ;AN000;
				;											 ;AN000;
 014F  89 3E 0000 E			MOV	WORD PTR SFTFCB,DI							 ;AN000;
 0153  8C 06 0002 E			MOV	WORD PTR SFTFCB+2,ES							 ;AN000;
				;											 ;AN000;
				; Initialize table parts, next link and size						 ;AN000;
				;											 ;AN000;
 0157  26: C7 05 FFFF			MOV	WORD PTR ES:[DI.sfLink],-1						 ;AN000;
 015C  26: C7 45 02 FFFF		MOV	WORD PTR ES:[DI.sfLink+2],-1						 ;AN000;
 0162  B9 0010				MOV	CX,NewNumFCB								 ;AN000;
 0165  26: 89 4D 04			MOV	ES:[DI.sfcount],CX							 ;AN000;
				;											 ;AN000;
				; Set up keepcount									 ;AN000;
				;											 ;AN000;
 0169  C7 06 0000 E 0008		MOV	KeepCount,NewKeepVal							 ;AN000;
				;											 ;AN000;
				; Clean out the new FCB Cache								 ;AN000;
				;											 ;AN000;
 016F  8D 7D 06				LEA	DI,[DI].SFTable 		; Point to the FCB SFTs 		 ;AN000;
 0172				IF_60:						; CleanScan:				 ;AN000;
 0172  26: C7 05 0000			MOV	ES:[DI.sf_ref_count],0							 ;AN000;
 0177  26: C7 45 15 0000		MOV	WORD PTR ES:[DI.sf_position],0						 ;AN000;
 017D  26: C7 45 17 0000		MOV	WORD PTR ES:[DI.sf_position+2],0					 ;AN000;
 0183  83 C7 3B				ADD	DI,SIZE sf_entry							 ;AN000;
 0186  E2 EA				LOOP	IF_60									 ;AN000;
 0188  FB				STI										 ;AN000;
 0189				IF_80:						; NO_FCB_CACHE: 			 ;AN000;
 0189  1F				POP	DS									 ;AN000;
				ASSUME	DS:IFSSEG									 ;AN000;
															 ;AN000;
 018A  89 3E 03BF R			MOV	[TOTALSIZE],DI		; Offset of 1st free byte			 ;AN000;
 018E  58				POP	AX									 ;AN000;
 018F  5B				POP	BX									 ;AN000;
 0190  59				POP	CX									 ;AN000;
 0191  5A				POP	DX									 ;AN000;
 0192  5F				POP	DI									 ;AN000;
 0193  5E				POP	SI									 ;AN000;
 0194  07				POP	ES									 ;AN000;
 0195  1F				POP	DS									 ;AN000;
					return										 ;AN000;
															 ;AN000;
															 ;AN000;
															 ;AN000;
					ASSUME	CS:IFSSEG,DS:IFSSEG,ES:NOTHING,SS:STACK 				 ;AN000;
															 ;AN000;
				.list											 ;AN000;
															 ;AN000;
				Break	<Installable Network INIT>							 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-8
Installable Network INIT                                    

															 ;AN000;
 03BF  0000			Totalsize   DW	    ?									 ;AN000;
															 ;AN000;
 03C1  00			NEWFCBCACHE DB	    0									 ;AN000;
															 ;AN000;
 03C2				INT_24: 				; INT 24 handler used during INIT.		 ;AN000;
 03C2  B0 03				MOV	AL,3			;    FAIL any INT 24s				 ;AN000;
 03C4				INT_23: 				; ^C handler used during INIT.			 ;AN000;
 03C4  CF				IRET				;    ignores any ^C.				 ;AN000;
															 ;AN000;
 03C5				I_700:					; Init						 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING,ES:NOTHING,SS:NOTHING				 ;AN000;
				;											 ;AN000;
				; We are now going to set lots of INT vectors and other stuff. We need			 ;AN000;
				; to make ourselves immune to INT 24 and ^C						 ;AN000;
				;											 ;AN000;
 03C5  0E				PUSH	CS									 ;AN000;
 03C6  1F				POP	DS									 ;AN000;
 03C7  BA 03C4 R			MOV	DX,OFFSET INT_23							 ;AN000;
 03CA  B8 2523				MOV	AX,(Set_Interrupt_Vector SHL 8) + 23H					 ;AN000;
 03CD  CD 21				INT	21H									 ;AN000;
 03CF  BA 03C2 R			MOV	DX,OFFSET INT_24							 ;AN000;
 03D2  B8 2524				MOV	AX,(Set_Interrupt_Vector SHL 8) + 24H					 ;AN000;
 03D5  CD 21				INT	21H									 ;AN000;
					invoke	IFSFINIT			; Do general INIT			 ;AN000;
															 ;AN000;
 03DA  33 DB				XOR	BX,BX									 ;AN000;
 03DC  B9 0005				MOV	CX,5				; StdIN,StdOUT,StdERR,StdAUX,StdPRN	 ;AN000;
 03DF				I_720:						; Close STD handles before		 ;AN000;
										; keep process				 ;AN000;
 03DF  B4 3E				MOV	AH,CLOSE								 ;AN000;
 03E1  CD 21				INT	21H									 ;AN000;
 03E3  43				INC	BX									 ;AN000;
 03E4  E2 F9				LOOP	I_720									 ;AN000;
															 ;AN000;
				;											 ;AN000;
				; Enable the critical section code.  This consists of replacing the RETs at		 ;AN000;
				; the beginning of each critical section routine with a PUSH AX 			 ;AN000;
				;											 ;AN000;
 03E6  0E				PUSH	CS									 ;AN000;
 03E7  1F				POP	DS				; ds - ifsseg				 ;AN000;
															 ;AN000;
 03E8  2E: F7 06 0000 E 0080		TEST	IFSFUNC_FLAGS,UNC_INSTALLED	; 1st check if unc fs loaded		 ;AN000;
 03EF  74 1B				JZ	I_800				;   only do this for unc		 ;AN000;
 03F1  B4 52				MOV	AH,Get_In_Vars			; do crit patch 			 ;AN000;
 03F3  CD 21				INT	21h									 ;AN000;
 03F5  FC				cld										 ;AN000;
					ASSUME	ES:DOSGroup								 ;AN000;
 03F6  2E: A0 00DD R			MOV	AL,BYTE PTR LCritNet							 ;AN000;
 03FA  BB 0000 E			MOV	BX,OFFSET DOSGROUP:CritPatch						 ;AN000;
 03FD  FA				CLI										 ;AN000;
 03FE				I_760:						; Scan					 ;AN000;
 03FE  26: 8B 3F			MOV	DI,ES:[BX]								 ;AN000;
 0401  83 C3 02				ADD	BX,2									 ;AN000;
 0404  0B FF				OR	DI,DI									 ;AN000;
 0406  74 03				JZ	I_780									 ;AN000;
 0408  AA				stosb										 ;AN000;
 0409  EB F3				JMP	I_760									 ;AN000;
 040B				I_780:											 ;AN000;
 040B  FB				STI										 ;AN000;
 040C				I_800:											 ;AC012;move
				d
 040C  2E: C6 06 0000 E 00		MOV	CS:IFSSEM,0			; initialize ifs semaphores		 ;AN012;
				;											 ;AN000;
				; Compute total size for residency.							 ;AN000;
				;											 ;AN000;
 0412  2E: 8B 16 03BF R			MOV	DX,TotalSize			; size of code and structs		 ;AN000;
 0417  81 C2 010F			ADD	DX,100H+0Fh			; Add size of header			 ;AN000;
 041B  D1 DA				RCR	DX,1									 ;AN000;
 041D  B1 03				MOV	CL,3									 ;AN000;
 041F  D3 EA				SHR	DX,CL									 ;AN000;
 0421  B8 3100				MOV	AX,(Keep_Process SHL 8) + 0						 ;AN000;
 0424  CD 21				INT	21h									 ;AN000;
 0426  B8 4C01				MOV	AX,(EXIT SHL 8) + 1							 ;AN000;
 0429  CD 21				INT	21h									 ;AN000;
															 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-9
Installable Network INIT                                    

															 ;AN000;
				; %%%% CODE/DATA BELOW IS OVERLAYED WHEN STRUCTURES ARE SET UP				 ;AN000;
															 ;AN000;
 042B				NETEND	LABEL	BYTE									 ;AN000;
															 ;AN000;
					procedure IFSFINIT,NEAR 							 ;AN000;
				ASSUME	DS:NOTHING,ES:NOTHING,SS:NOTHING						 ;AN000;
															 ;AN000;
				; Perform initialization at DOSINIT time						 ;AN000;
															 ;AN000;
 042B  1E				PUSH	DS									 ;AN000;
 042C  06				PUSH	ES									 ;AN000;
 042D  56				PUSH	SI									 ;AN000;
 042E  57				PUSH	DI									 ;AN000;
 042F  52				PUSH	DX									 ;AN000;
 0430  51				PUSH	CX									 ;AN000;
 0431  53				PUSH	BX									 ;AN000;
 0432  50				PUSH	AX									 ;AN000;
 0433  0E				PUSH	CS									 ;AN000;
 0434  1F				POP	DS									 ;AN000;
															 ;AN000;
				ASSUME	DS:IFSSEG									 ;AN000;
															 ;AN000;
				; SET INTERRUPT VECTORS 								 ;AN000;
															 ;AN000;
 0435  B0 2F				MOV	AL,2FH									 ;AN000;
 0437  50				PUSH	AX									 ;AN000;
 0438  B8 1202				MOV	AX,(multDOS SHL 8) OR 2 						 ;AN000;
 043B  CD 2F				INT	2FH									 ;AN000;
 043D  58				POP	AX				; no know contents			 ;AN000;
															 ;AN000;
 043E  06				PUSH	ES									 ;AN000;
 043F  53				PUSH	BX									 ;AN000;
 0440  26: C4 1F			LES	BX,DWORD PTR ES:[BX]		; setting int 2f mult 5 		 ;AN000;
 0443  89 1E 0000 E			MOV	WORD PTR [NEXT_2F_5],BX 						 ;AN000;
 0447  8C 06 0002 E			MOV	WORD PTR [NEXT_2F_5+2],ES						 ;AN000;
 044B  5B				POP	BX									 ;AN000;
 044C  07				POP	ES									 ;AN000;
															 ;AN000;
 044D  BA 0000 E			MOV	DX,OFFSET INT_2F_5							 ;AN000;
 0450  26: 89 17			MOV	ES:[BX],DX								 ;AN000;
 0453  26: 8C 5F 02			MOV	ES:[BX+2],DS								 ;AN000;
															 ;AN000;
 0457  B8 352F				MOV	AX,(Get_Interrupt_Vector SHL 8) + 2Fh					 ;AN000;
 045A  CD 21				INT	21h									 ;AN000;
 045C  89 1E 001D R			MOV	WORD PTR CONT,BX							 ;AN000;
 0460  8C 06 001F R			MOV	WORD PTR CONT+2,ES							 ;AN000;
 0464  B8 252F				MOV	AX,(Set_Interrupt_Vector SHL 8) + 2Fh					 ;AN000;
 0467  BA 0023 R			MOV	DX,OFFSET INT2F 		; multIFS handler			 ;AN000;
 046A  CD 21				INT	21h									 ;AN000;
				;											 ;AN000;
				; auto - attach 									 ;AN000;
				;											 ;AN000;
 046C  E8 15FB R			CALL	AUTO_ATTACH								 ;AN000;
				;											 ;AN000;
				; call swap setup									 ;AN000;
				;											 ;AN000;
 046F  1E				PUSH	DS									 ;AN000;
 0470  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 						 ;AN000;
 0473  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
					invoke	SERVER_IFSFUNC_DATA_AREA						 ;AN000;
 0478  1F				POP	DS									 ;AN000;
					invoke	SET_IFS_DOSCALL@							 ;AN003;
															 ;AN000;
 047C  0E				PUSH	CS									 ;AN000;
 047D  07				POP	ES									 ;AN000;
				;											 ;AN007;
				; Prep error messages									 ;AN007;
				;											 ;AN007;
 047E  8D 3E 0000 E			LEA	DI,Rods_label								 ;AN007;
					SaveReg <CS>									 ;AN007;
					RestoreReg <ES> 								 ;AN007;
 0484  B8 122E				MOV	AX,DOS_GET_EXT_PARSE_ADD						 ;AN007;
 0487  B2 07				MOV	DL,7				; set msg addr				 ;AN007;
 0489  CD 2F				INT	2FH									 ;AN007;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-10
Installable Network INIT                                    

				;											 ;AN000;
				; Now start clobbering code								 ;AN000;
				;											 ;AN000;
 048B  BF 042B R			MOV	DI,OFFSET NETEND		; Start strucs here			 ;AN000;
 048E  F7 C7 0001			TEST	DI,1				; Word aligned? 			 ;AN000;
 0492  74 01				JZ	IF_20				; Yes, ok				 ;AN000;
 0494  47				INC	DI				; Bump to word align			 ;AN000;
 0495				IF_20:						; NOADJ1				 ;AN000;
 0495  E9 0103 R			JMP	IF_40				; jmp CONTIFSINIT			 ;AN000;
															 ;AN000;
				EndProc IFSFINIT									 ;AN000;
															 ;AN000;
				;************* ifsfuncinit transient portion ******************************		 ;AN000;
 0498  0006[			       AA_PARMS_BUF DB 6 DUP(0) 		; temp storage used by auto-attach	 ;AN000;
	   00			
			 ]	
				
 049E  0B			       S_SIZE1	DB 11				; Sublist size(PTR next SUBLIST)	 ;AN000;
 049F  00					DB 0				; Reserved				 ;AN000;
 04A0  04B4 ---- R				DD SUB_IFSFUNC			; Ptr to substituted string		 ;AN000;
 04A4  01					DB  1				; n of %n				 ;AN000;
 04A5  10					DB Left_Align+Char_Field_ASCIIZ ; Data-type flags			 ;AN000;
 04A6  07					DB 7				; Maximum field width			 ;AN000;
 04A7  05					DB 5				; Minimum field width			 ;AN000;
 04A8  20					DB " "                          ; Character for Pad field                ;AN000;
 04A9  0B			       S_SIZE2	DB 11				; Sublist size(PTR next SUBLIST)	 ;AN000;
 04AA  00					DB 0				; Reserved				 ;AN000;
 04AB  04BC ---- R				DD SUB_SHARE			; Ptr to substituted string		 ;AN000;
 04AF  01					DB  1				; n of %n				 ;AN000;
 04B0  10					DB Left_Align+Char_Field_ASCIIZ ; Data-type flags			 ;AN000;
 04B1  07					DB 7				; Maximum field width			 ;AN000;
 04B2  05					DB 5				; Minimum field width			 ;AN000;
 04B3  20					DB " "                          ; Character for Pad field                ;AN000;
															 ;AN000;
 04B4  49 46 53 46 55 4E	SUB_IFSFUNC	DB	"IFSFUNC",0                                                      ;AN000;
       43 00			
 04BC  53 48 41 52 45 00	SUB_SHARE	DB	"SHARE",0                                                        ;AN000;
															 ;AN000;
 04C2  04			DEFAULT_DFLCount DB	4								 ;AN000;
				;;;alias DEFAULT_NLSize   DW	 172			 ; 4 * 43			 ;AN000;
															 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING							 ;AN000;
				.list											 ;AN000;
															 ;AN000;
				;****************************************************************************** 	 ;AN000;
				;		!!!!!!!   IFSFUNC starts here	!!!!!!! 	(see END statement)	 ;AN000;
				;****************************************************************************** 	 ;AN000;
															 ;AN000;
 144D				IFSFUNCINIT:										 ;AN000;
															 ;AN000;
 144D  E8 0DF2 R			CALL	SYSLOADMSG								 ;AN000;
 1450  73 1F				JNC	I_20									 ;AN000;
					SaveReg <CS>									 ;AN006;
					RestoreReg <DS> 								 ;AN006;
 1454  E8 0F52 R			CALL	SYSDISPMSG								 ;AN000;
															 ;AN000;
 1457				Badver_msg proc    far									 ;AN000;
 1457  B0 FF				MOV	AL,0FFh 								 ;AN000;
					SaveReg <CS>									 ;AN000;
					RestoreReg <DS> 								 ;AN000;
 145B  B4 4C				MOV	AH,EXIT 								 ;AN000;
 145D  CD 21				INT	21h									 ;AN000;
 145F  06				PUSH	ES									 ;AN000;
 1460  33 C0				XOR	AX,AX									 ;AN000;
 1462  50				PUSH	AX									 ;AN000;
 1463  CB				RET										 ;AN000;
 1464				badver_msg  ENDP									 ;AN000;
															 ;AN000;
 1464				Badmes	proc	far									 ;AN000;
					ASSUME	CS:IFSSEG,DS:NOTHING,ES:NOTHING,SS:NOTHING				 ;AN000;
 1464  BB 0002				MOV	BX,STDERR								 ;AN000;
 1467  32 D2				XOR	DL,DL									 ;AN000;
 1469  E8 0F52 R			CALL	SYSDISPMSG								 ;AN000;
 146C  B8 4CFF				MOV	AX,(EXIT SHL 8) + 0FFH							 ;AN000;
 146F  CD 21				INT	21h									 ;AN000;
 1471				badmes	ENDP										 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-11
DOS - Message Retriever - DISPMSG.ASM Module                

															 ;AN000;
															 ;AN000;
 1471				I_20:						; Version OK				 ;AN000;
 1471  B8 1100				MOV	AX,(multIFS SHL 8)+0		; Check if IFSFUNC already installed	 ;AN000;
 1474  CD 2F				INT	2Fh									 ;AN000;
 1476  3C 00				CMP	AL,0									 ;AN000;
 1478  74 11				JE	I_40									 ;AN000;
 147A  B8 0002				MOV	AX,COMMON_ERR_2 		; yes - already installed - error 2	 ;AN000;
 147D  0E				PUSH	CS									 ;AN000;
 147E  1F				POP	DS									 ;AN000;
 147F  BE 049E R			MOV	SI,OFFSET S_SIZE1		;	prep for sysdispmsg call	 ;AN000;
 1482  B9 0001				MOV	CX,1									 ;AN000;
 1485  B6 FF				MOV	DH,UTILITY_MSG_CLASS							 ;AN000;
 1487				I_30:											 ;AN005;
 1487  0E				PUSH	CS									 ;AN000;
 1488  1F				POP	DS									 ;AN000;
 1489  EB D9				JMP	BADMES									 ;AN000;
										; no error on install check,		 ;AN000;
 148B				I_40:						; free environment - no longer needed	 ;AN000;
 148B  A1 002C				MOV	AX,DS:[PDB_ENVIRON]							 ;AN000;
 148E  0B C0				OR	AX,AX									 ;AN000;
 1490  74 08				JZ	I_60									 ;AN000;
 1492  06				PUSH	ES									 ;AN000;
 1493  8E C0				MOV	ES,AX									 ;AN000;
 1495  B4 49				MOV	AH,DEALLOC								 ;AN000;
 1497  CD 21				INT	21H									 ;AN000;
 1499  07				POP	ES									 ;AN000;
 149A				I_60:											 ;AN000;
				;************************************************************************************	 ;AN000;
				;	Parse IFSFUNC parameter :							 ;AN000;
				;		   NAMES = n		 ;;;alias[n | (n {m})]				 ;AN000;
				;************************************************************************************	 ;AN000;
										; Set default n and m			 ;AN000;
 149A  2E: A0 04C2 R			MOV	AL,DEFAULT_DFLCount							 ;AN000;
 149E  2E: A2 0000 E			MOV	[DFLCount],AL			; 4	   (n)				 ;AN000;
				;;;aliasMOV	AX,DEFAULT_NLSize							 ;AN000;
				;;;aliasMOV	NLSize,AX			; 4 * 43   (m)				 ;AN000;
															 ;AN000;
 14A2  BE 0081				MOV	SI,81h				; ds:si -> cmd parameter		 ;AN000;
 14A5  33 C9				XOR	CX,CX				; no operands parsed yet		 ;AN000;
 14A7  0E				PUSH	CS									 ;AN000;
 14A8  07				POP	ES									 ;AN000;
				ASSUME	ES:IFSSEG									 ;AN000;
 14A9  BF 04C3 R			MOV	DI,OFFSET IFSF_PARMS		; es:di -> parse control blocks 	 ;AN000;
 14AC  33 D2				XOR	DX,DX				; reserved				 ;AN000;
															 ;AN000;
 14AE  E8 058E R			CALL	SYSPARSE			; call parser				 ;AN000;
															 ;AN000;
 14B1  3D FFFF				CMP	AX,-1				; End of cmd?				 ;AN000;
 14B4  75 03				JNE	I_70									 ;AN000;
 14B6  EB 2A 90				JMP	I_160				;    if so continue w/init		 ;AN000;
 14B9				I_70:											 ;AN000;
 14B9  3D 0000				CMP	AX,0				; Error?				 ;AN000;
 14BC  75 1E				JNE	I_140				;    yes - go display parse error	 ;AN000;
															 ;AN000;
				;;;aliasCMP	IFSF_RESULT,COMPLEX		; complex?				 ;AN000;
				;;;aliasJE	I_80									 ;AN000;
 14BE  26: 80 3E 04E8 R 4E		CMP	IFSF_TAG,"N"                    ;   no - n only                          ;AN000;
 14C4  B8 0006				MOV	AX,PARSE_ERR_6								 ;AN002;
 14C7  75 13				JNE	I_140									 ;AN000;
															 ;AN000;
 14C9  26: A0 04EB R			MOV	AL,IFSF_NM								 ;AN000;
 14CD  26: A2 0000 E			MOV	[DFLCount],AL								 ;AN000;
															 ;AN000;
 14D1  E8 058E R			CALL	SYSPARSE								 ;AN000;
 14D4  3D FFFF				CMP	AX,-1									 ;AN000;
 14D7  74 09				JE	I_160									 ;AN000;
 14D9  B8 0001				MOV	AX,PARSE_ERR_1								 ;AN000;
				;;;aliasJMP	I_140				; go display parse error		 ;AN000;
				;;;											 ;AN000;
				;;;aliasI_80:					; process complex  (n,m)		 ;AN000;
				;;;	XOR	CX,CX				; prep for new parse call		 ;AN000;
				;;;	XOR	DX,DX									 ;AN000;
				;;;	CALL	SYSPARSE								 ;AN000;
				;;;	CMP	AX,-1				; End of cmd?				 ;AN000;
				;;;	JE	I_160				;    if so continue w/init		 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-12
DOS - Message Retriever - DISPMSG.ASM Module                

				;;;	CMP	AX,0				; Error?				 ;AN000;
				;;;	JNE	I_140				;    if so go display error		 ;AN000;
				;;;	CMP	IFSF_TAG,"N"                    ; check if n or m parm                   ;AN000;
				;;;	JNE	I_100									 ;AN000;
				;;;	MOV	AL,IFSF_NM			; n parm				 ;AN000;
				;;;	MOV	DFLCount,AL								 ;AN000;
				;;;	CALL	SYSPARSE			; go back for m 			 ;AN000;
				;;;	CMP	AX,-1				; End of cmd?				 ;AN000;
				;;;	JE	I_160				;    if so continue w/init		 ;AN000;
				;;;	CMP	AX,0				; Error?				 ;AN000;
				;;;	JNE	I_140				;    if so go display error		 ;AN000;
				;;;											 ;AN000;
				;;;00:											 ;AN000;
				;;;	CMP	IFSF_TAG,"M"                    ; check if m parm                        ;AN000;
				;;;	JE	I_120									 ;AN000;
				;;;	MOV	AX,PARSE_ERR_7			; not m - error 			 ;AN002;
				;;;	JMP	I_140									 ;AN000;
				;;;20:											 ;AN000;
				;;;	MOV	AX,WORD PTR IFSF_NM		; m parm				 ;AN000;
				;;;	MOV	NLSize,AX								 ;AN000;
				;;;											 ;AN000;
				;;;	CALL	SYSPARSE			; call parser again to check for	 ;AN000;
				;;;	CMP	AX,-1				; possible garbage			 ;AN000;
				;;;	JE	I_160									 ;AN000;
				;;;	MOV	AX,PARSE_ERR_1								 ;AN000;
				;;;alias										 ;AN000;
 14DC				I_140:						; display parse error			 ;AN000;
 14DC  B6 02				MOV	DH,PARSE_ERR_CLASS		; then continue w/defaults		 ;AN000;
 14DE  33 C9				XOR	CX,CX									 ;AN000;
				;;;	MOV	BX,STDERR								 ;AD005;
				;;;	XOR	DL,DL									 ;AD005;
				;;;	CALL	SYSDISPMSG								 ;AD005;
 14E0  EB A5				JMP	I_30									 ;AN005;
															 ;AN000;
 14E2				I_160:											 ;AN000;
										; doinit				 ;AN000;
 14E2  8C D8				MOV	AX,DS				; Move the stack so it doesn't           ;AN000;
										; get blasted by structure init 	 ;AN000;
 14E4  8E D0				MOV	SS,AX				; Set stack in the PSP overlaying	 ;AN000;
 14E6  BC 0100				MOV	SP,100H 			; parms just processed			 ;AN000;
				;											 ;AN000;
				; We must now do some computation. We have to check if there is enough room		 ;AN000;
				;  for everything. We must do this here BEFORE we start overlaying this 		 ;AN000;
				;  code 										 ;AN000;
				;											 ;AN000;
 14E9  0E				PUSH	CS									 ;AN000;
 14EA  1F				POP	DS									 ;AN000;
				ASSUME	DS:IFSSEG									 ;AN000;
															 ;AN000;
 14EB  BF 042B R			MOV	DI,OFFSET NETEND		; We have this much code		 ;AN000;
 14EE  F7 C7 0001			TEST	DI,1				; Word aligned? 			 ;AN000;
 14F2  74 01				JZ	I_180				; Yes, OK.				 ;AN000;
 14F4  47				INC	DI				; Make word aligned			 ;AN000;
 14F5				I_180:						; no adjust 5 label			 ;AN000;
															 ;AN000;
				; This code is added to make it easy to determine the code size 			 ;AN000;
				; of IFSFUNC for debug purposes. It is overlayed, so does not use extra 		 ;AN000;
				; storage.										 ;AN000;
 14F5  57				PUSH	DI		       ;						 ;AN000;
 14F6  56				PUSH	SI		       ;						 ;AN000;
 14F7  8D 36 0003 R			LEA	SI,CODESIZE+3	       ;						 ;AN000;
 14FB				I_200:				       ; TENT						 ;AN000;
 14FB  81 EF 2710			SUB	DI,10000	       ;						 ;AN000;
 14FF  72 04				JC	I_220		       ;						 ;AN000;
 1501  FE 04				INC	BYTE PTR [SI]	       ;						 ;AN000;
 1503  EB F6				JMP	I_200		       ;						 ;AN000;
 1505				I_220:				       ; NEG1						 ;AN000;
 1505  81 C7 2710			ADD	DI,10000	       ;						 ;AN000;
 1509  46				INC	SI		       ;						 ;AN000;
 150A				I_240:				       ; THOU						 ;AN000;
 150A  81 EF 03E8			SUB	DI,1000 	       ;						 ;AN000;
 150E  72 04				JC	I_260		       ;						 ;AN000;
 1510  FE 04				INC	BYTE PTR [SI]	       ;						 ;AN000;
 1512  EB F6				JMP	I_240		       ;						 ;AN000;
 1514				I_260:				       ; NEG2						 ;AN000;
 1514  81 C7 03E8			ADD	DI,1000 	       ;						 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-13
DOS - Message Retriever - DISPMSG.ASM Module                

 1518  46				INC	SI		       ;						 ;AN000;
 1519				I_280:				       ; HUND						 ;AN000;
 1519  83 EF 64				SUB	DI,100		       ;						 ;AN000;
 151C  72 04				JC	I_300		       ;						 ;AN000;
 151E  FE 04				INC	BYTE PTR [SI]	       ;						 ;AN000;
 1520  EB F7				JMP	I_280		       ;						 ;AN000;
 1522				I_300:				       ; NEG3						 ;AN000;
 1522  83 C7 64				ADD	DI,100		       ;						 ;AN000;
 1525  46				INC	SI		       ;						 ;AN000;
 1526				I_320:				       ; TENS						 ;AN000;
 1526  83 EF 0A				SUB	DI,10		       ;						 ;AN000;
 1529  72 04				JC	I_340		       ;						 ;AN000;
 152B  FE 04				INC	BYTE PTR [SI]	       ;						 ;AN000;
 152D  EB F7				JMP	I_320		       ;						 ;AN000;
 152F				I_340:				       ; NEG4						 ;AN000;
 152F  83 C7 0A				ADD	DI,10		       ;						 ;AN000;
 1532  46				INC	SI		       ;						 ;AN000;
 1533				I_360:				       ; ONES						 ;AN000;
 1533  83 EF 01				SUB	DI,1		       ;						 ;AN000;
 1536  72 04				JC	I_380		       ;						 ;AN000;
 1538  FE 04				INC	BYTE PTR [SI]	       ;						 ;AN000;
 153A  EB F7				JMP	I_360		       ;						 ;AN000;
 153C				I_380:				       ; DONE						 ;AN000;
 153C  5E				POP	SI		       ;						 ;AN000;
 153D  5F				POP	DI		       ;						 ;AN000;
				;											 ;AN000;
				; Allocate the DFL									 ;AN000;
				;											 ;AN000;
 153E  A0 0000 E			MOV	AL,DFLCount								 ;AN000;
 1541  32 E4				XOR	AH,AH									 ;AN000;
 1543  B9 001E				MOV	CX,SIZE DFLL_LIST							 ;AN000;
 1546  F7 E1				MUL	CX									 ;AN000;
 1548  0B D2				OR	DX,DX									 ;AN000;
 154A  74 03				JZ	I_402									 ;AN000;
 154C  E9 15F0 R			JMP	I_640				; out of memp				 ;AN000;
 154F				I_402:											 ;AN000;
 154F  03 F8				ADD	DI,AX									 ;AN000;
 1551  73 03				JNC	I_403									 ;AN000;
 1553  E9 15F0 R			JMP	I_640				; out of memp				 ;AN000;
 1556				I_403:											 ;AN000;
				;;;aliasADD	DI,NLSIZE								 ;AN000;
				;;;aliasJNC	I_404									 ;AN000;
				;;;aliasJMP	I_640				; out of memp				 ;AN000;
 1556				I_404:											 ;AN000;
 1556  E8 179D R			CALL	CHECK_UNC_PRESENCE		; check if unc present, if not, 	 ;AN000;
 1559  F7 06 0000 E 0080		TEST	IFSFUNC_FLAGS,UNC_INSTALLED						 ;AN000;
 155F  74 20				JZ	I_415				; no need to allocate altcds		 ;AN000;
				;											 ;AN000;
				; Allocate the TEMP CDS area								 ;AN000;
				;											 ;AN000;
 1561  1E				PUSH	DS									 ;AN000;
 1562  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 						 ;AN000;
 1565  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
 1567  8A 0E 0000 E			MOV	CL,CDSCount								 ;AN000;
 156B  32 ED				XOR	CH,CH									 ;AN000;
 156D  41				INC	CX									 ;AN000;
 156E  B8 0058				MOV	AX,SIZE curdir_list							 ;AN000;
 1571  F7 E1				MUL	CX									 ;AN000;
 1573  0B D2				OR	DX,DX									 ;AN000;
 1575  74 03				JZ	I_410									 ;AN000;
 1577  EB 77 90				JMP	I_640									 ;AN000;
 157A				I_410:											 ;AN000;
 157A  03 F8				ADD	DI,AX				; Temp CDS area 			 ;AN000;
 157C  73 09				JNC	I_417									 ;AN000;
 157E  EB 70 90				JMP	I_640									 ;AN000;
 1581				I_415:											 ;AN000;
				;											 ;AN000;
				; Determine if need new FCB cache and Allocate it if appropriate			 ;AN000;
				;											 ;AN000;
 1581  1E				PUSH	DS				; get addressability to DOSGROUP	 ;AN000;
 1582  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 						 ;AN000;
 1585  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
 1587				I_417:											 ;AN000;
 1587  83 3E 0000 E 00			CMP	KeepCount,DefKeepVal							 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-14
DOS - Message Retriever - DISPMSG.ASM Module                

 158C  75 15				JNZ	I_420									 ;AN000;
 158E  C5 36 0000 E			LDS	SI,SFTFCB								 ;AN000;
				ASSUME	DS:NOTHING									 ;AN000;
 1592  83 7C 04 04			CMP	[SI].sfCount,DefNumFCB							 ;AN000;
 1596  75 0B				JNZ	I_420									 ;AN000;
 1598  26: FE 06 03C1 R			INC	NEWFCBCACHE			; Flag ourselves			 ;AN000;
 159D  81 C7 03B6			ADD	DI,((SIZE sf_entry) * NewNumFCB)+((SIZE sf)-2) ; New cache		 ;AN000;
 15A1  72 4D				JC	I_640				; out of memp				 ;AN000;
 15A3				I_420:						; no fcb				 ;AN000;
 15A3  1F				POP	DS									 ;AN000;
				ASSUME	DS:IFSSEG									 ;AN000;
															 ;AN000;
				; This code is added to make it easy to determine the total size	   @A1A 	 ;AN000;
				; of IFSFUNC.	      It is overlayed, so does not use extra storage.	   @A1A 	 ;AN000;
									;				   @A1A 	 ;AN000;
 15A4  57				PUSH	DI			;				   @A1A 	 ;AN000;
 15A5  56				PUSH	SI			;				   @A1A 	 ;AN000;
 15A6  8D 36 0009 R			LEA	SI,TOTSIZE		;				   @A1A 	 ;AN000;
 15AA				I_440:					; TENT2 			   @A1A 	 ;AN000;
 15AA  81 EF 2710			SUB	DI,10000		;				   @A1A 	 ;AN000;
 15AE  72 04				JC	I_460			;				   @A1A 	 ;AN000;
 15B0  FE 04				INC	BYTE PTR [SI]		;				   @A1A 	 ;AN000;
 15B2  EB F6				JMP	I_440			;				   @A1A 	 ;AN000;
 15B4				I_460:					; NEG5				   @A1A 	 ;AN000;
 15B4  81 C7 2710			ADD	DI,10000		;				   @A1A 	 ;AN000;
 15B8  46				INC	SI			;				   @A1A 	 ;AN000;
 15B9				I_480:					; THOU2 			   @A1A 	 ;AN000;
 15B9  81 EF 03E8			SUB	DI,1000 		;				   @A1A 	 ;AN000;
 15BD  72 04				JC	I_500			;				   @A1A 	 ;AN000;
 15BF  FE 04				INC	BYTE PTR [SI]		;				   @A1A 	 ;AN000;
 15C1  EB F6				JMP	I_480			;				   @A1A 	 ;AN000;
 15C3				I_500:					; NEG6				   @A1A 	 ;AN000;
 15C3  81 C7 03E8			ADD	DI,1000 		;				   @A1A 	 ;AN000;
 15C7  46				INC	SI			;				   @A1A 	 ;AN000;
 15C8				I_520:					; HUND2 			   @A1A 	 ;AN000;
 15C8  83 EF 64				SUB	DI,100			;				   @A1A 	 ;AN000;
 15CB  72 04				JC	I_540			;				   @A1A 	 ;AN000;
 15CD  FE 04				INC	BYTE PTR [SI]		;				   @A1A 	 ;AN000;
 15CF  EB F7				JMP	I_520			;				   @A1A 	 ;AN000;
 15D1				I_540:					; NEG7				   @A1A 	 ;AN000;
 15D1  83 C7 64				ADD	DI,100			;				   @A1A 	 ;AN000;
 15D4  46				INC	SI			;				   @A1A 	 ;AN000;
 15D5				I_560:					; TENS2 			   @A1A 	 ;AN000;
 15D5  83 EF 0A				SUB	DI,10			;				   @A1A 	 ;AN000;
 15D8  72 04				JC	I_580			;				   @A1A 	 ;AN000;
 15DA  FE 04				INC	BYTE PTR [SI]		;				   @A1A 	 ;AN000;
 15DC  EB F7				JMP	I_560			;				   @A1A 	 ;AN000;
 15DE				I_580:					; NEG8				   @A1A 	 ;AN000;
 15DE  83 C7 0A				ADD	DI,10			;				   @A1A 	 ;AN000;
 15E1  46				INC	SI			;				   @A1A 	 ;AN000;
 15E2				I_600:					; ONES2 			   @A1A 	 ;AN000;
 15E2  83 EF 01				SUB	DI,1			;				   @A1A 	 ;AN000;
 15E5  72 04				JC	I_620			;				   @A1A 	 ;AN000;
 15E7  FE 04				INC	BYTE PTR [SI]		;				   @A1A 	 ;AN000;
 15E9  EB F7				JMP	I_600			;				   @A1A 	 ;AN000;
 15EB				I_620:					; DONE2 			   @A1A 	 ;AN000;
 15EB  5E				POP	SI			;				   @A1A 	 ;AN000;
 15EC  5F				POP	DI			;				   @A1A 	 ;AN000;
															 ;AN000;
															 ;AN000;
 15ED  E9 03C5 R			JMP	I_700									 ;AN000;
															 ;AN000;
 15F0				I_640:					; OUT_OF_MEMP					 ;AN000;
 15F0  1F				POP	DS									 ;AN000;
 15F1				I_660:					; OUT_OF_MEM					 ;AN000;
 15F1  B8 000A				MOV	AX,PARSE_ERR_10 							 ;AN000;
 15F4  33 C9				XOR	CX,CX									 ;AN000;
 15F6  EA 1464 ---- R			JMP	BADMES									 ;AN000;
															 ;AN000;
				ASSUME	DS:NOTHING									 ;AN000;
															 ;AN000;
															 ;AN000;
				BREAK <AUTO_ATTACH -- Attempt attaches of non-FAT physical drives>			 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-15
AUTO_ATTACH -- Attempt attaches of non-FAT physical drives  

															 ;AN000;
				;************************************************************************************	 ;AN000;
				;											 ;AN000;
				; AUTO_ATTACH										 ;AN000;
				;											 ;AN000;
				; Called by: init									 ;AN000;
				;											 ;AN000;
				; Routines called:  CALL_IFS								 ;AN000;
				;		    CDS_TO_CD								 ;AN000;
				;		    CD_TO_CDS								 ;AN000;
				;		    FIND_IFS_DRIVER							 ;AN000;
				; Inputs:										 ;AN000;
				;	None										 ;AN000;
				;											 ;AN000;
				; Function:										 ;AN000;
				;	Get addressability to CDS structure  (SYSVARS - IBMDOS/BIO)			 ;AN000;
				;	FOR I = 1 to # CDS								 ;AN000;
				;	   DO										 ;AN000;
				;	   ³   Drive = I - 1  (0-A,1-B,...)						 ;AN000;
				;	   ³   IF (curdir_inuse == 0 & curdir_devptr .NOT. 0) THEN			 ;AN000;
				;	   ³	   DO									 ;AN000;
				;	   ³	   ³   Get pointer to 1st IFS header					 ;AN000;
				;	   ³	   ³   WHILE pointer .NOT. 0FFFFH					 ;AN000;
				;	   ³	   ³	   DO								 ;AN000;
				;	   ³	   ³	       START ATTACH						 ;AN000;
				;	   ³	   ³		   (IFSR_TYPE	=  2					 ;AN000;
				;	   ³	   ³		    IFSR_PARMS@ -> IFS name, 0 parms)			 ;AN000;
				;	   ³	   ³	       IF Attach successful THEN				 ;AN000;
				;	   ³	   ³		  DO							 ;AN000;
				;	   ³	   ³		    IF IFSUSESHARE set THEN				 ;AN000;
				;	   ³	   ³		       Set share flag					 ;AN000;
				;	   ³	   ³		    ENDIF						 ;AN000;
				;	   ³	   ³		    LEAVE While 					 ;AN000;
				;	   ³	   ³		  ENDDO 						 ;AN000;
				;	   ³	   ³	       ELSE							 ;AN000;
				;	   ³	   ³		   Get pointer to next IFS header			 ;AN000;
				;	   ³	   ³	       ENDIF							 ;AN000;
				;	   ³	   ³	   ENDDO							 ;AN000;
				;	   ³	   ³   ENDWHILE 							 ;AN000;
				;	   ³	   ENDDO								 ;AN000;
				;	   ³   ENDIF									 ;AN000;
				;	   ENDDO									 ;AN000;
				;	IF Share flag set THEN								 ;AN000;
				;	   DO										 ;AN000;
				;	     IF SHARE .NOT. loaded  THEN						 ;AN000;
				;		issue warning msg:  "SHARE not loaded"  using msg retriever              ;AN000;
				;	   END										 ;AN000;
				;	ENDIF										 ;AN000;
				;											 ;AN000;
				; Outputs: Successful auto-attachments in effect					 ;AN000;
				;											 ;AN000;
				;************************************************************************************	 ;AN000;
															 ;AN000;
					Procedure   AUTO_ATTACH,NEAR							 ;AN000;
				ASSUME	DS:NOTHING,ES:NOTHING								 ;AN000;
															 ;AN000;
 15FB  2E: F7 06 0000 E 0040		TEST	IFSFUNC_FLAGS,NO_IFS_DRIVERS						 ;AN000;
 1602  74 03				JZ	AA_05									 ;AN000;
 1604  E9 1795 R			JMP	AA_1000 								 ;AN000;
															 ;AN000;
 1607				AA_05:											 ;AN000;
					SaveReg <DS,ES,DI>			; preserve ds - psp,es di storage	 ;AN000;
					ifsr_fcn_def  ATTSTART								 ;AN000;
 160A  2E: C7 06 0000 E 2002		MOV	CS:IFSPROC_FLAGS,THISIFS_SET+IsInit ; set this so that cds_to_cd doesn't ;AC010;
										; set thisifs				 ;AN000;
															 ;AN000;
 1611  B4 52				MOV	AH,Get_In_Vars			; Get ptr to ifs hdr chain		 ;AN000;
 1613  CD 21				INT	21h				; es:bx -> sysinitvars			 ;AN000;
 1615  26: C4 7F 3B			LES	DI,ES:[BX.SYSI_IFS]		; es:di -> 1st ifs driver		 ;AN000;
															 ;AN000;
 1619  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 	; get addressability to dosgroup	 ;AN000;
 161C  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
															 ;AN000;
 161E  8A 0E 0000 E			MOV	CL,[CDSCount]			; prep cds loop 			 ;AN000;
 1622  32 ED				XOR	CH,CH									 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-16
AUTO_ATTACH -- Attempt attaches of non-FAT physical drives  

 1624  BA 0058				MOV	DX,SIZE CURDIR_LIST							 ;AN000;
 1627  C5 36 0000 E			LDS	SI,[CDSAddr]			; ds:si -> CDS list			 ;AN000;
				ASSUME	DS:NOTHING									 ;AN000;
															 ;AN000;
 162B				AA_10:						; ** Loop here on cds entries		 ;AN000;
				
 162B  F7 44 43 4000			TEST	DS:[SI.CURDIR_FLAGS],CURDIR_INUSE ;  check for ifs-able drive		 ;AN000;
 1630  74 03				JZ	AA_13									 ;AN000;
 1632  E9 178A R			JMP	AA_120				;    cds already inuse, try next cds	 ;AN000;
 1635				AA_13:											 ;AN000;
 1635  83 7C 45 00			CMP	WORD PTR DS:[SI.CURDIR_DEVPTR],0					 ;AN000;
 1639  75 09				JNZ	AA_16									 ;AN000;
 163B  83 7C 47 00			CMP	WORD PTR DS:[SI.CURDIR_DEVPTR+2],0					 ;AN000;
 163F  75 03				JNZ	AA_16									 ;AN000;
 1641  E9 178A R			JMP	AA_120				;    cds not real, try next cds 	 ;AN000;
 1644				AA_16:											 ;AN000;
 1644  8B C6				MOV	AX,SI				;    attempt				 ;AN000;
					SaveReg <DS,AX> 			; cds seg, offset			 ;AN000;
 1648  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 	; get dosgroup in ds to access cdsaddr	 ;AN000;
 164B  CD 2F				INT	2FH									 ;AN000;
				ASSUME	DS:DOSGROUP									 ;AN000;
					RestoreReg <AX> 			; cds offset				 ;AN000;
 164E  2B 06 0000 E			SUB	AX,WORD PTR [CDSADDR]		; get  drive # (0-based) in al		 ;AN000;
 1652  B3 58				MOV	BL,SIZE CurDir_list							 ;AN000;
 1654  F6 F3				DIV	BL									 ;AN000;
					RestoreReg <DS> 			; cds segment				 ;AN000;
					SaveReg <AX>				; drive # (0-based 0=A) 		 ;AN000;
 1658  8A D8				MOV	BL,AL									 ;AN000;
 165A  FE C3				INC	BL				; change to 1-based (1=A)		 ;AN000;
 165C  B8 4408				MOV	AX,CHECK_REMOVABLE		; 4408H (device ioctl)			 ;AN000;
 165F  CD 21				INT	21H									 ;AN000;
 1661  0B C0				OR	AX,AX				; ax 0 - drive removable		 ;AN000;
					RestoreReg <AX> 			; drive # (0-based)			 ;AN000;
 1664  75 03				JNZ	AA_19									 ;AN000;
 1666  E9 178A R			JMP	AA_120				; drive removable, don't auto-attach     ;AN000;
															 ;AN000;
 1669				AA_19:						;    cds ok, proceed with autoattach	 ;AN000;
 1669  98				CBW					; convert al to word (ax)		 ;AN000;
 166A  B3 0A				MOV	BL,10									 ;AN000;
 166C  F6 F3				DIV	BL				; convert number (ex.14) to char	 ;AN000;
 166E  05 3030				ADD	AX,3030H			; (3134) (ah-remain,al-quot)		 ;AN000;
															 ;AN000;
					SaveReg <ES,DI> 			; Save 1st ifs driver			 ;AN000;
 1673  2E: 89 3E 0000 E			MOV	CS:WORD PTR [THISIFS],DI	; Send attach start request		 ;AN000;
 1678  2E: 8C 06 0002 E			MOV	CS:WORD PTR [THISIFS+2],ES	; to all fs drivers.  Stop when 	 ;AN000;
										; one clicks.				 ;AN000;
 167D				AA_20:											 ;AN000;
					SaveReg <ES,DI,CX,DX,DS,SI>		; ifs ptr, cds count-size-ptr		 ;AN000;
															 ;AN000;
					SaveReg <AX,DS> 			; get ES -> dosgroup (save char drv#)	 ;AN000;
 1685  B8 1203				MOV	AX,(multDOS SHL 8) OR 3 						 ;AN000;
 1688  CD 2F				INT	2FH									 ;AN000;
					SaveReg <DS>									 ;AN000;
					RestoreReg <ES> 								 ;AN000;
				ASSUME	DS:DOSGROUP,ES:DOSGROUP 							 ;AN000;
										; do attach w/dummy cds so as not	 ;AN000;
 168C  BF 0000 E			MOV	DI,OFFSET DOSGROUP:DummyCDS		 ; to ruin valid cds		 ;AN000;
					RestoreReg <DS> 								 ;AN000;
				ASSUME	DS:NOTHING									 ;AN000;
 1690  57				PUSH	DI									 ;AN000;
 1691  B9 0058				MOV	CX,SIZE curdir_list							 ;AN000;
 1694  F3/ A4				REP	MOVSB									 ;AN000;
 1696  06				PUSH	ES									 ;AN000;
 1697  1F				POP	DS									 ;AN000;
 1698  5E				POP	SI		; DS:SI -> dummy CDS					 ;AN000;
 1699  C7 44 43 C000			MOV	[SI.curdir_flags],curdir_isifs + curdir_inuse				 ;AN000;
 169E  C6 44 51 02			MOV	[SI.curdir_type],type_drive						 ;AN000;
 16A2  2E: A1 0000 E			MOV	AX,WORD PTR CS:[THISIFS]						 ;AN000;
 16A6  89 44 52				MOV	WORD PTR [SI.CURDIR_IFS_HDR],AX 					 ;AN000;
 16A9  2E: A1 0002 E			MOV	AX,WORD PTR CS:[THISIFS+2]						 ;AN000;
 16AD  89 44 54				MOV	WORD PTR [SI.CURDIR_IFS_HDR+2],AX					 ;AN000;
					RestoreReg <AX> 			; char drive #				 ;AN000;
					SaveReg <DS,SI> 			; dummy cds ptr 			 ;AN000;
															 ;AN000;
					invoke	PREP_IFSR			; sets es:bx -> ifsr, 0s fields,	 ;AN000;
										; ds - ifsseg				 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-17
AUTO_ATTACH -- Attempt attaches of non-FAT physical drives  

 16B6  2E: C7 06 0000 E 001C		MOV	DEVICE_CB@_OFFSET,IFSR_DEVICE_CB@					 ;AN000;
					invoke	CDS_TO_CD			; sets ifsr_device_cb@			 ;AN000;
 16C0  26: C7 07 0022			MOV	ES:[BX.IFSR_LENGTH],LENGTH_ATTSTART					 ;AN000;
 16C5  26: C6 47 02 02			MOV	ES:[BX.IFSR_FUNCTION],IFSATTSTART					 ;AN000;
 16CA  26: C6 47 16 02			MOV	ES:[BX.IFSR_TYPE],TYPE_DRIVE						 ;AN000;
															 ;AN000;
 16CF  BE 0498 R			MOV	SI,OFFSET AA_PARMS_BUF		; set up attach parameter buffer	 ;AN000;
 16D2  C7 04 0001			MOV	WORD PTR DS:[SI],1		; in tempbuf = dw 1			 ;AN000;
 16D6  89 44 02				MOV	WORD PTR DS:[SI+2],AX		;	       db 3134,0		 ;AN000;
 16D9  32 C0				XOR	AL,AL									 ;AN000;
 16DB  88 44 04				MOV	BYTE PTR DS:[SI+4],AL		; asciiz				 ;AN000;
 16DE  26: 89 77 18			MOV	WORD PTR ES:[BX.IFSR_PARMS@],SI 					 ;AN000;
 16E2  26: 8C 5F 1A			MOV	WORD PTR ES:[BX.IFSR_PARMS@+2],DS					 ;AN000;
															 ;AN000;
 16E6				AA_40:						; ** Loop here on ifs drivers		 ;AN000;
					invoke	CALL_IFS			; call ifs driver w/attach start req	 ;AN000;
															 ;AN000;
 16E9  72 5E				JC	AA_60				; jmp on no click			 ;AN000;
										; click:				 ;AN000;
					RestoreReg <DI,ES>			; restore cds ptr to es:di		 ;AN000;
					invoke	CD_TO_CDS			; update cds entry			 ;AN000;
					SaveReg <ES>				; move dummy cds ptr back to ds:si	 ;AN000;
					RestoreReg <DS> 								 ;AN000;
 16F2  8B F7				MOV	SI,DI				; ds:si -> dummy cds			 ;AN000;
					RestoreReg <DI,ES>			; es:di -> real cds			 ;AN000;
 16F6  B9 0058				MOV	CX,SIZE CURDIR_LIST		; copy dummy into real - ok to		 ;AN000;
					SaveReg <DI>									 ;AN000;
 16FA  81 4C 43 8000			OR	DS:[SI.CURDIR_FLAGS],CURDIR_ISIFS  ; set this cds as ifs		 ;AN009;
 16FF  F3/ A4				REP	MOVSB				; clobber now				 ;AN000;
					RestoreReg <SI> 			; move real cds ptr back to ds:si	 ;AN000;
					SaveReg <ES>									 ;AN000;
					RestoreReg <DS> 								 ;AN000;
					RestoreReg <DX,CX,DI,ES>		; restore cds size, count,		 ;AN000;
										;	  ifs ptr			 ;AN000;
 1708  2E: F7 06 0000 E 0080		TEST	CS:IFSPROC_FLAGS,ISSHARE	; check if share checked		 ;AN000;
 170F  75 77				JNZ	AA_100				; go process next cds			 ;AN000;
 1711  26: F7 45 0C 0001		TEST	ES:[DI.IFS_ATTRIBUTE],IFSUSESHARE					 ;AN000;
 1717  74 6F				JZ	AA_100				; ifs driver needs share		 ;AN000;
				;; D526   CallInstall SHAREInstall,multSHARE,0	  ;   check that share loaded		   ;AN000;
					CallInstall SHAREInstall,multSHARE,40H	;   check that share loaded		 ;AN013;
 171E  3C FF				CMP	AL,INSTALLED			;   if not generate warning		 ;AN000;
 1720  74 1D				JE	AA_50									 ;AN000;
					SaveReg <DS,SI,CX,DX>								 ;AN000;
 1726  B8 0003				MOV	AX,COMMON_ERR_3 		; "SHARE not installed"                  ;AN000;
 1729  0E				PUSH	CS									 ;AN000;
 172A  1F				POP	DS									 ;AN000;
 172B  BE 04A9 R			MOV	SI,OFFSET S_SIZE2							 ;AN000;
 172E  B9 0001				MOV	CX,1									 ;AN000;
 1731  B6 FF				MOV	DH,UTILITY_MSG_CLASS							 ;AN000;
 1733  BB 0002				MOV	BX,STDERR								 ;AN000;
 1736  32 D2				XOR	DL,DL									 ;AN000;
 1738  E8 0F52 R			CALL	SYSDISPMSG								 ;AN000;
					RestoreReg <DX,CX,SI,DS>							 ;AN000;
															 ;AN000;
 173F				AA_50:											 ;AN000;
 173F  2E: 81 0E 0000 E 0080		OR	CS:IFSPROC_FLAGS,ISSHARE	; set this so won't check share again    ;AN000;
 1746  EB 40 90				JMP	AA_100									 ;AN000;
															 ;AN000;
 1749				AA_60:						; ** Next driver			 ;AN000;
					RestoreReg <AX,BX>			; dummy cds ptr 			 ;AN000;
					RestoreReg <SI,DS,DX,CX,DI,ES>		; restore: ifs and cds ptrs,		 ;AN000;
										;	   cds count and size		 ;AN000;
 1751  26: C4 3D			LES	DI,ES:[DI.IFS_NEXT]		; check next fs driver			 ;AN000;
 1754  83 FF FF				CMP	DI,NULL_PTR			; if ptr null, end of ifs drivers	 ;AN000;
 1757  75 09				JNE	AA_80									 ;AN000;
 1759  50				PUSH	AX				; dummy cds offset			 ;AN000;
 175A  8C C0				MOV	AX,ES									 ;AN000;
 175C  3D FFFF				CMP	AX,NULL_PTR								 ;AN000;
 175F  58				POP	AX				; dummy cds offset			 ;AN000;
 1760  74 26				JE	AA_100				; go process next cds if no more ifs	 ;AN000;
 1762				AA_80:											 ;AN000;
 1762  2E: 89 3E 0000 E			MOV	CS:WORD PTR [THISIFS],DI	; prep next ifs driver			 ;AN000;
 1767  2E: 8C 06 0002 E			MOV	CS:WORD PTR [THISIFS+2],ES						 ;AN000;
					SaveReg <ES,DI,CX,DX,DS,SI>		; Save regs				 ;AN000;
					SaveReg <AX,BX> 			; dummy cds ptr 			 ;AN000;
					SaveReg <CS,CS> 			; get esdi back to ifsrh		 ;AN008;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-18
AUTO_ATTACH -- Attempt attaches of non-FAT physical drives  

					RestoreReg <ES,DS>			; and ds-ifsseg 			 ;AN008;
 1778  BB 0000 E			MOV	BX,OFFSET IFSR								 ;AN008;
 177B  33 C0				XOR	AX,AX									 ;AN008;
 177D  26: 89 47 03			MOV	ES:[BX.IFSR_RETCODE],AX 	; restore error fields			 ;AN008;
 1781  26: 88 47 05			MOV	ES:[BX.IFSR_RETCLASS],AL						 ;AN008;
 1785  E9 16E6 R			JMP	AA_40				; go process next ifs driver		 ;AN000;
															 ;AN000;
 1788				AA_100: 										 ;AN000;
					RestoreReg <DI,ES>			; restore 1st ifs driver		 ;AN000;
 178A				AA_120: 										 ;AN000;
 178A  03 F2				ADD	SI,DX				; ** Next CDS				 ;AN000;
 178C  49				DEC	CX									 ;AN000;
 178D  74 03				JZ	AA_990									 ;AC004;
 178F  E9 162B R			JMP	AA_10									 ;AN000;
															 ;AN000;
															 ;AN000;
 1792				AA_990: 										 ;AC004;
					RestoreReg <DI,ES,DS>			; restore ds - psp,esdi - storage	 ;AN000;
 1795				AA_1000:										 ;AN004;
 1795  2E: 81 26 0000 E DFFF		AND	CS:IFSPROC_FLAGS,NOT IsInit	; reset isinit				 ;AN010;
					return										 ;AN000;
															 ;AN000;
				EndProc AUTO_ATTACH									 ;AN000;
															 ;AN000;
															 ;AN000;
				BREAK <CHECK_UNC_PRESENCE -- check if UNC file system driver ifs'ed>                     ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-19
CHECK_UNC_PRESENCE -- check if UNC file system driver ifs'ed

															 ;AN000;
				;************************************************************************************	 ;AN000;
				;											 ;AN000;
				; CHECK_UNC_PRESENCE									 ;AN000;
				;											 ;AN000;
				; Called by: init - general								 ;AN000;
				;											 ;AN000;
				; Routines called:  SYSDISPMSG								 ;AN000;
				;											 ;AN000;
				; Inputs:										 ;AN000;
				;	None										 ;AN000;
				;											 ;AN000;
				; Function:										 ;AN000;
				;	Get pointer to 1st IFS header							 ;AN000;
				;	IF no file systems THEN 							 ;AN000;
				;	   Display warning								 ;AN000;
				;	ELSE DO 									 ;AN000;
				;	       BX=0
				;	       WHILE pointer .NOT. 0FFFFH						 ;AN000;
				;		  DO									 ;AN000;
				;		    OR BX,IFS_ATTRIBUTES
				;		    IF file system driver has unc bit set THEN				 ;AN000;
				;		       DO								 ;AN000;
				;			 Set unc_installed flag in IFSFUNC_FLAGS			 ;AN000;
				;			 Set UNC_FS_HDR = unc file system driver header 		 ;AN000;
				;			 Set unc_found							 ;AN000;
				;		       ENDDO								 ;AN000;
				;		  ENDDO 								 ;AN000;
				;	       ENDWHILE 								 ;AN000;
				;	       IF unc not found THEN							 ;AN000;
				;		  Set UNC_FS_HDR = null ptr						 ;AN000;
				;	       ENDIF									 ;AN000;
				;	       IFS_ATTRS=BX
				;	     ENDDO									 ;AN000;
				;	ENDIF										 ;AN000;
				;											 ;AN000;
				; Outputs: unc_installed flag set in ifsfunc_flags in unc present			 ;AN000;
				;	   IFS_ATTRS set
				;											 ;AN000;
				;************************************************************************************	 ;AN000;
															 ;AN000;
					Procedure   CHECK_UNC_PRESENCE,NEAR						 ;AN000;
				ASSUME	DS:NOTHING,ES:NOTHING								 ;AN000;
															 ;AN000;
					SaveReg <DS,ES,DI,BX>			; preserve ds - psp,es di storage	 ;AN000;
 17A1  B4 52				MOV	AH,Get_In_Vars			; Get ptr to ifs hdr chain		 ;AN000;
 17A3  CD 21				INT	21h				; es:bx -> sysinitvars			 ;AN000;
 17A5  26: C4 7F 3B			LES	DI,ES:[BX.SYSI_IFS]		; es:di -> 1st ifs driver		 ;AN000;
 17A9  33 DB				XOR	BX,BX									 ;AN000;
 17AB  83 FF FF				CMP	DI,NULL_PTR			; if 1st null, then no drivers		 ;AN000;
 17AE  75 21				JNE	CUP_20				; must display no driver msg		 ;AN000;
 17B0  8C C0				MOV	AX,ES									 ;AN000;
 17B2  3D FFFF				CMP	AX,NULL_PTR								 ;AN000;
 17B5  75 1A				JNE	CUP_20									 ;AN000;
															 ;AN000;
 17B7  B8 0004				MOV	AX,UTIL_ERR_4			; def 4  "No IFS drivers found",CR,LF    ;AN000;
 17BA  BB 0002				MOV	BX,STDERR								 ;AN000;
 17BD  33 C9				XOR	CX,CX									 ;AN000;
 17BF  B2 00				MOV	DL,NO_INPUT								 ;AN000;
 17C1  B6 FF				MOV	DH,UTILITY_MSG_CLASS							 ;AN000;
 17C3  0E				PUSH	CS									 ;AN000;
 17C4  1F				POP	DS									 ;AN000;
 17C5  E8 0F52 R			CALL	SYSDISPMSG								 ;AN000;
 17C8  2E: C7 06 0000 E 0040		MOV	CS:IFSFUNC_FLAGS,NO_IFS_DRIVERS 					 ;AN000;
															 ;AN000;
 17CF  EB 47				JMP	SHORT CUP_1000								 ;AN000;
															 ;AN000;
 17D1				CUP_20: 										 ;AN000;
 17D1  26: 0B 5D 0C			OR	BX,ES:[DI.IFS_ATTRIBUTE]
 17D5  26: F7 45 0C 2000		TEST	ES:[DI.IFS_ATTRIBUTE],IFSUNC	; now set UNC_FS_HDR			 ;AN000;
 17DB  75 28				JNZ	CUP_40									 ;AN000;
 17DD				CUP_30:
 17DD  26: C4 3D			LES	DI,ES:[DI.IFS_NEXT]							 ;AN000;
 17E0  83 FF FF				CMP	DI,NULL_PTR								 ;AN000;
 17E3  75 EC				JNE	CUP_20									 ;AN000;
 17E5  8C C0				MOV	AX,ES									 ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-20
CHECK_UNC_PRESENCE -- check if UNC file system driver ifs'ed

 17E7  3D FFFF				CMP	AX,NULL_PTR								 ;AN000;
 17EA  75 E5				JNE	CUP_20									 ;AN000;
 17EC  2E: F7 06 0000 E 0080		TEST	IFSFUNC_FLAGS,UNC_INSTALLED
 17F3  75 23				JNZ	CUP_1000
 17F5  2E: C7 06 0000 E FFFF		MOV	WORD PTR [UNC_FS_HDR],NULL_PTR	; no unc - set unc ptr null		 ;AN000;
 17FC  2E: C7 06 0002 E FFFF		MOV	WORD PTR [UNC_FS_HDR+2],NULL_PTR					 ;AN000;
 1803  EB 13				JMP	SHORT CUP_1000								 ;AN000;
															 ;AN000;
 1805				CUP_40: 					; found unc - set unc ptr		 ;AN000;
 1805  2E: 89 3E 0000 E			MOV	WORD PTR [UNC_FS_HDR],DI	; and unc flag				 ;AN000;
 180A  2E: 8C 06 0002 E			MOV	WORD PTR [UNC_FS_HDR+2],ES						 ;AN000;
 180F  2E: 81 0E 0000 E 0080		OR	IFSFUNC_FLAGS,UNC_INSTALLED						 ;AN000;
 1816  EB C5				JMP	SHORT CUP_30								 ;AN000;
															 ;AN000;
															 ;AN000;
 1818				CUP_1000:										 ;AN000;
					RestoreReg <BX,DI,ES,DS>		; restore ds - psp,esdi - storage	 ;AN000;
					return										 ;AN000;
				
				include msgdcl.inc
			     C	; This Macro was removed from sysmsg.inc. We had to remove this
			     C	; macro and put it into it's own include file in order to clear up
			     C	; some assembly errors. MS MASM will not allow a public declaration
			     C	; during the second pass of the assembler. IBM MASM will allow this.
			     C	;
			     C	;
			     C	;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C	;;	$M_DECLARE	     Macro
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C					       ;
			     C	$M_DECLARE    macro	numcls	       ;
			     C	   $M_DCOUNT = 0		       ;
			     C	   REPT  numcls 		       ;
			     C	     $M_DCOUNT =  $M_DCOUNT + 1        ;
			     C	     $M_DECLARE2  %$M_DCOUNT	       ;
			     C	   ENDM 			       ;
			     C	
			     C	  IF COMR
			     C	    IFNDEF $M_RT2			;  If Resident table is not in this assembly,
			     C		EXTRN	$M_RT2:BYTE		;     Must be external
			     C	    ELSE
			     C		PUBLIC	$M_RT2
			     C	    ENDIF				;
			     C	  ELSE
			     C	    IFNDEF $M_RT			;  If Resident table is not in this assembly,
			     C		EXTRN	$M_RT:BYTE		;     Must be external
			     C	    ELSE
			     C		PUBLIC	$M_RT
			     C	    ENDIF				;
			     C	  ENDIF
			     C	
			     C	  $M_CHECK $M_GET_MSG_ADDRESS	      ;  If this subroutine is not in this assembly,
			     C	  $M_CHECK $M_MSGSERV_1 	      ;  If this subroutine is not in this assembly,
			     C	  $M_CHECK $M_MSGSERV_2 	      ;  If this subroutine is not in this assembly,
			     C	
			     C	ENDM				       ;
			     C					       ;
			     C	$M_DECLARE2   macro   innum	       ;
			     C	  IF NOT COMR			       ; IF Not resident COMMAND.COM
			     C	    IF NOT COMT 			 ; IF Not transient COMMAND.COM
			     C	      IFNDEF  $M_CLS_&innum		 ; IF class is not in this assembly,
			     C		IF	FARmsg			 ;
			     C		  EXTRN   $M_CLS_&innum:FAR	 ;    Must be external
			     C		ELSE				 ;
			     C		  EXTRN   $M_CLS_&innum:NEAR	 ;    Must be external
			     C		ENDIF				 ;
			     C	      ELSE				 ; ELSE
			     C		PUBLIC	$M_CLS_&innum		 ;    Label PUBLIC
			     C	      ENDIF				 ;
			     C	    ELSE				 ; ELSE
			     C	      IFDIF  <$M_CLS_&innum>,<$M_CLS_1>  ; IF NOT $M_CLS_1 or
			     C		IFDIF <$M_CLS_&innum>,<$M_CLS_2> ;   IF NOT $M_CLS_2 then
			     C		  IFNDEF  $M_CLS_&innum 	 ;     IF class is not in this assembly,
			     C		    IF	    FARmsg		 ;
			     C		      EXTRN   $M_CLS_&innum:FAR  ;	 Must be external
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Page     1-21
CHECK_UNC_PRESENCE -- check if UNC file system driver ifs'ed

			     C		    ELSE			 ;
			     C		      EXTRN   $M_CLS_&innum:NEAR ;	 Must be external
			     C		    ENDIF			 ;
			     C		  ELSE				 ;     ELSE
			     C		    PUBLIC  $M_CLS_&innum	 ;	 Label PUBLIC
			     C		  ENDIF 			 ;
			     C		ENDIF				 ;
			     C	      ENDIF				 ;
			     C	    ENDIF				 ;
			     C	  ELSE					 ; ELSE
			     C	    IFDIF  <$M_CLS_&innum>,<$M_CLS_1>	 ; IF NOT $M_CLS_1 or
			     C	      IFDIF <$M_CLS_&innum>,<$M_CLS_2>	 ;   IF NOT $M_CLS_2 then
			     C		IFNDEF	$M_CLS_&innum		 ;     IF class is not in this assembly,
			     C		  IF	  FARmsg		 ;
			     C		    EXTRN   $M_CLS_&innum:FAR	 ;	 Must be external
			     C		  ELSE				 ;
			     C		    EXTRN   $M_CLS_&innum:NEAR	 ;	 Must be external
			     C		  ENDIF 			 ;
			     C		ELSE				 ;     ELSE
			     C		  PUBLIC  $M_CLS_&innum 	 ;	 Label PUBLIC
			     C		ENDIF				 ;
			     C	      ENDIF				 ;
			     C	    ENDIF				 ;
			     C	  ENDIF 			       ;
			     C	ENDM				       ;
			     C					       ;
			     C	$M_CHECK      macro   parm	       ;
			     C	  IFNDEF  parm			       ; IF class is not in this assembly,
			     C	    IF	    FARmsg		       ;
			     C	      EXTRN   parm:FAR		       ;    Must be external
			     C	    ELSE			       ;
			     C	      EXTRN   parm:NEAR 	       ;    Must be external
			     C	    ENDIF			       ;
			     C	  ELSE
			     C	    IF COMR
			     C	    ELSE
			     C	      PUBLIC parm
			     C	    ENDIF
			     C	  ENDIF 			       ;
			     C	ENDM				       ;
			     C					       ;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C	;;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C					       ;
			     C					       ;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C	
			     C	
															 ;AN000;
				EndProc CHECK_UNC_PRESENCE								 ;AN000;
															 ;AN000;
															 ;AN000;
 181D				IFSSEG	ENDS										 ;AN000;
															 ;AN000;
 0000				STACK	SEGMENT STACK									 ;AN000;
 0000  0196[			DB  278 + 128 DUP (?)		; 278 == IBM's ROM requirements                          ;AN000;
	   ??			
			 ]	
				
 0196				STACK	ENDS										 ;AN000;
															 ;AN000;
				END IFSFUNCinit 									 ;AN000;

Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-1


Macros:

		N a m e			Lines

$M_BUILD_PTRS  . . . . . . . . .  	  18
$M_CHECK . . . . . . . . . . . .  	  12
$M_DECLARE . . . . . . . . . . .  	  21
$M_DECLARE2  . . . . . . . . . .  	  41
$M_INC . . . . . . . . . . . . .  	   3
$M_MAKE  . . . . . . . . . . . .  	  10
$M_MAKE_COMR . . . . . . . . . .  	  21
$M_MAKE_COMT . . . . . . . . . .  	   5
$M_POPF  . . . . . . . . . . . .  	   5
ARGVAR . . . . . . . . . . . . .  	  23
ASMVAR . . . . . . . . . . . . .  	   3
ASMVARS  . . . . . . . . . . . .  	   3
ASSERT . . . . . . . . . . . . .  	   0
CALLINSTALL  . . . . . . . . . .  	  12
DOSASSUME  . . . . . . . . . . .  	   3
EDW  . . . . . . . . . . . . . .  	   2
ENTER  . . . . . . . . . . . . .  	   3
ENTERCRIT  . . . . . . . . . . .  	   1
ERRNZ  . . . . . . . . . . . . .  	   4
FMT  . . . . . . . . . . . . . .  	   0
IFSR_API_DEF . . . . . . . . . .  	 192
IFSR_FCN_DEF . . . . . . . . . .  	  75
LEAVE  . . . . . . . . . . . . .  	   2
LEAVECRIT  . . . . . . . . . . .  	   1
LOCALVAR . . . . . . . . . . . .  	  23
MSG_SERVICES . . . . . . . . . .  	  34
MSG_SERVICES2  . . . . . . . . .  	  14
MSG_UTILNAME . . . . . . . . . .  	   5

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

$M_CLASS_ID  . . . . . . . . . .  	0004	0003
  $M_CLS_ID  . . . . . . . . . .  	0000
  $M_COMMAND_VER . . . . . . . .  	0001
  $M_NUM_CLS_MSG . . . . . . . .  	0003
$M_COUNTRY_INFO  . . . . . . . .  	0056	000A
  $M_HEADER  . . . . . . . . . .  	0000
  $M_DATE_FORMAT . . . . . . . .  	0044
  $M_CURR_SEPARA . . . . . . . .  	0046
  $M_THOU_SEPARA . . . . . . . .  	004B
  $M_DECI_SEPARA . . . . . . . .  	004D
  $M_DATE_SEPARA . . . . . . . .  	004F
  $M_TIME_SEPARA . . . . . . . .  	0051
  $M_CURR_FORMAT . . . . . . . .  	0053
  $M_SIG_DIGS_CU . . . . . . . .  	0054
  $M_TIME_FORMAT . . . . . . . .  	0055
$M_ID  . . . . . . . . . . . . .  	0004	0002
  $M_NUM . . . . . . . . . . . .  	0000
  $M_TXT_PTR . . . . . . . . . .  	0002
$M_RES_ADDRS . . . . . . . . . .  	0085	0017
  $M_EXT_ERR_ADDRS . . . . . . .  	0000
  $M_EXT_FILE  . . . . . . . . .  	0004
  $M_EXT_COMMAND . . . . . . . .  	0008
  $M_EXT_TERM  . . . . . . . . .  	000C
  $M_PARSE_COMMAND . . . . . . .  	0010
  $M_PARSE_ADDRS . . . . . . . .  	0014
  $M_PARSE_TERM  . . . . . . . .  	0018
  $M_CRIT_ADDRS  . . . . . . . .  	001C
  $M_CRIT_COMMAND  . . . . . . .  	0020
  $M_CRIT_TERM . . . . . . . . .  	0024
  $M_DISK_PROC_ADDR  . . . . . .  	0028
  $M_CLASS_ADDRS . . . . . . . .  	002C
  $M_CLS_TERM  . . . . . . . . .  	0030
  $M_DBCS_VEC  . . . . . . . . .  	0034
  $M_HANDLE  . . . . . . . . . .  	0038
  $M_SIZE  . . . . . . . . . . .  	003A
  $M_CRLF  . . . . . . . . . . .  	003B
  $M_CLASS . . . . . . . . . . .  	003D
  $M_RETURN_ADDR . . . . . . . .  	003E
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-2


  $M_MSG_NUM . . . . . . . . . .  	0040
  $M_DIVISOR . . . . . . . . . .  	0042
  $M_TEMP_BUF  . . . . . . . . .  	0044
  $M_BUF_TERM  . . . . . . . . .  	0084
$M_SUBLIST_STRUC . . . . . . . .  	000B	0008
  $M_S_SIZE  . . . . . . . . . .  	0000
  $M_S_RESV  . . . . . . . . . .  	0001
  $M_S_VALUE . . . . . . . . . .  	0002
  $M_S_ID  . . . . . . . . . . .  	0006
  $M_S_FLAG  . . . . . . . . . .  	0007
  $M_S_MAXW  . . . . . . . . . .  	0008
  $M_S_MINW  . . . . . . . . . .  	0009
  $M_S_PAD . . . . . . . . . . .  	000A
$P_CDI . . . . . . . . . . . . .  	0022	000C
  $P_CDI_DATEF . . . . . . . . .  	0000
  $P_CDI_MONEY . . . . . . . . .  	0002
  $P_CDI_1000  . . . . . . . . .  	0007
  $P_CDI_DEC . . . . . . . . . .  	0009
  $P_CDI_DATES . . . . . . . . .  	000B
  $P_CDI_TIMES . . . . . . . . .  	000D
  $P_CDI_TIMEF . . . . . . . . .  	0011
$P_CONTROL_BLK . . . . . . . . .  	000A	0006
  $P_MATCH_FLAG  . . . . . . . .  	0000
  $P_FUNCTION_FLAG . . . . . . .  	0002
  $P_RESULT_BUF  . . . . . . . .  	0004
  $P_VALUE_LIST  . . . . . . . .  	0006
  $P_NID . . . . . . . . . . . .  	0008
  $P_KEYORSW . . . . . . . . . .  	0009
$P_DOS_TBL . . . . . . . . . . .  	0005	0003
  $P_DOS_INFOID  . . . . . . . .  	0000
  $P_DOS_TBL_OFF . . . . . . . .  	0001
  $P_DOS_TBL_SEG . . . . . . . .  	0003
$P_PARMSX_BLK  . . . . . . . . .  	0004	0003
  $P_MINP  . . . . . . . . . . .  	0000
  $P_MAXP  . . . . . . . . . . .  	0001
  $P_1ST_CONTROL . . . . . . . .  	0002
$P_PARMS_BLK . . . . . . . . . .  	0004	0003
  $P_PARMSX_ADDRESS  . . . . . .  	0000
  $P_NUM_EXTRA . . . . . . . . .  	0002
  $P_LEN_EXTRA_DELIM . . . . . .  	0003
$P_RESULT_BLK  . . . . . . . . .  	0008	0004
  $P_TYPE  . . . . . . . . . . .  	0000
  $P_ITEM_TAG  . . . . . . . . .  	0001
  $P_SYNONYM_PTR . . . . . . . .  	0002
  $P_PICKED_VAL  . . . . . . . .  	0004
$P_VAL_LIST  . . . . . . . . . .  	0009	0005
  $P_NUMOFLIST . . . . . . . . .  	0000
  $P_VAL_XL  . . . . . . . . . .  	0001
  $P_VAL_XH  . . . . . . . . . .  	0003
  $P_VAL_YL  . . . . . . . . . .  	0005
  $P_VAL_YH  . . . . . . . . . .  	0007
ABS_32RW . . . . . . . . . . . .  	000A	0003
  SECTOR_RBA . . . . . . . . . .  	0000
  ABS_RW_COUNT . . . . . . . . .  	0004
  BUFFER_ADDR  . . . . . . . . .  	0006
ARENA  . . . . . . . . . . . . .  	0010	0005
  ARENA_SIGNATURE  . . . . . . .  	0000
  ARENA_OWNER  . . . . . . . . .  	0001
  ARENA_SIZE . . . . . . . . . .  	0003
  ARENA_RESERVED . . . . . . . .  	0005
  ARENA_NAME . . . . . . . . . .  	0008
ATTACH_PARMS . . . . . . . . . .  	0003	0002
  AP_COUNT . . . . . . . . . . .  	0000
  AP_STRING  . . . . . . . . . .  	0002
A_BPB  . . . . . . . . . . . . .  	001F	000F
  BPB_BYTESPERSECTOR . . . . . .  	0000
  BPB_SECTORSPERCLUSTER  . . . .  	0002
  BPB_RESERVEDSECTORS  . . . . .  	0003
  BPB_NUMBEROFFATS . . . . . . .  	0005
  BPB_ROOTENTRIES  . . . . . . .  	0006
  BPB_TOTALSECTORS . . . . . . .  	0008
  BPB_MEDIADESCRIPTOR  . . . . .  	000A
  BPB_SECTORSPERFAT  . . . . . .  	000B
  BPB_SECTORSPERTRACK  . . . . .  	000D
  BPB_HEADS  . . . . . . . . . .  	000F
  BPB_HIDDENSECTORS  . . . . . .  	0011
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-3


  BPB_BIGTOTALSECTORS  . . . . .  	0015
BPBLOCK  . . . . . . . . . . . .  	000D	0008
  BPSECSZ  . . . . . . . . . . .  	0000
  BPCLUS . . . . . . . . . . . .  	0002
  BPRES  . . . . . . . . . . . .  	0003
  BPFTCNT  . . . . . . . . . . .  	0005
  BPDRCNT  . . . . . . . . . . .  	0006
  BPSCCNT  . . . . . . . . . . .  	0008
  BPMEDIA  . . . . . . . . . . .  	000A
  BPFTSEC  . . . . . . . . . . .  	000B
BUFFER_HASH_ENTRY  . . . . . . .  	0008	0004
  EMS_PAGE_NUM . . . . . . . . .  	0000
  BUFFER_BUCKET  . . . . . . . .  	0002
  DIRTY_COUNT  . . . . . . . . .  	0006
  BUFFER_RESERVED  . . . . . . .  	0007
BUFFINFO . . . . . . . . . . . .  	0023	000F
  HASH_PTR . . . . . . . . . . .  	0000
  HASH_COUNT . . . . . . . . . .  	0004
  CACHE_PTR  . . . . . . . . . .  	0006
  CACHE_COUNT  . . . . . . . . .  	000A
  EMS_SAFE_FLAG  . . . . . . . .  	000C
  EMS_LAST_PAGE  . . . . . . . .  	000D
  EMS_FIRST_PAGE . . . . . . . .  	0011
  EMS_NPA640 . . . . . . . . . .  	0015
  EMS_MODE . . . . . . . . . . .  	0017
  EMS_HANDLE . . . . . . . . . .  	0018
  EMS_PAGEFRAME_NUMBER . . . . .  	001A
  EMS_SEG_CNT  . . . . . . . . .  	001C
  EMS_PAGE_FRAME . . . . . . . .  	001E
  EMS_RESERVED . . . . . . . . .  	0020
  EMS_MAP_BUFF . . . . . . . . .  	0022
CD . . . . . . . . . . . . . . .  	0054	0005
  CD_TYPE  . . . . . . . . . . .  	0000
  CD_END . . . . . . . . . . . .  	0002
  CD_TEXT  . . . . . . . . . . .  	0004
  CD_RESV  . . . . . . . . . . .  	0047
  CD_FSDA  . . . . . . . . . . .  	004C
CONTINFO . . . . . . . . . . . .  	0034	000F
  CI_SEARCH_FN . . . . . . . . .  	0000
  CI_SEARCH_FN_EXT . . . . . . .  	0008
  CI_SEARCH_ATTR . . . . . . . .  	000B
  CI_FSDA  . . . . . . . . . . .  	000C
  CI_FOUND_FN  . . . . . . . . .  	0014
  CI_FOUND_FN_EXT  . . . . . . .  	001C
  CI_FOUND_ATTRL . . . . . . . .  	001F
  CI_CP  . . . . . . . . . . . .  	0020
  CI_RESV1 . . . . . . . . . . .  	0022
  CI_FOUND_ATTRH . . . . . . . .  	0024
  CI_RESV2 . . . . . . . . . . .  	0025
  CI_FILE_TIME . . . . . . . . .  	002A
  CI_FILE_DATE . . . . . . . . .  	002C
  CI_FSWORD  . . . . . . . . . .  	002E
  CI_FILE_SIZE . . . . . . . . .  	0030
CURDIR_LIST  . . . . . . . . . .  	0058	000A
  CURDIR_TEXT  . . . . . . . . .  	0000
  CURDIR_FLAGS . . . . . . . . .  	0043
  CURDIR_DEVPTR  . . . . . . . .  	0045
  CURDIR_ID  . . . . . . . . . .  	0049
  CURDIR_USER_WORD . . . . . . .  	004D
  CURDIR_END . . . . . . . . . .  	004F
  CURDIR_TYPE  . . . . . . . . .  	0051
  CURDIR_IFS_HDR . . . . . . . .  	0052
  CURDIR_FSDA  . . . . . . . . .  	0056
DEV_OPER_BUFFER  . . . . . . . .  	0002	0002
  OPER_FUNC  . . . . . . . . . .  	0000
  TRUNC_FLAG . . . . . . . . . .  	0001
DFL  . . . . . . . . . . . . . .  	0012	0003
  DFL_TYPE . . . . . . . . . . .  	0000
  DFL_DEV_NAME . . . . . . . . .  	0002
  DFL_FSDA . . . . . . . . . . .  	000A
DFLL_LIST  . . . . . . . . . . .  	001E	0008
  DFLL_FLAGS . . . . . . . . . .  	0000
  DFLL_TYPE  . . . . . . . . . .  	0001
  DFLL_DEV_NAME  . . . . . . . .  	0002
  DFLL_USER_WORD . . . . . . . .  	000A
  DFLL_ALIAS_INDEX . . . . . . .  	000C
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-4


  DFLL_IFS_HDR . . . . . . . . .  	000E
  DFLL_FSDA  . . . . . . . . . .  	0012
  DFLL_DEVPTR  . . . . . . . . .  	001A
DIR_ENTRY  . . . . . . . . . . .  	0020	000B
  DIR_NAME . . . . . . . . . . .  	0000
  DIR_ATTR . . . . . . . . . . .  	000B
  DIR_CODEPG . . . . . . . . . .  	000C
  DIR_EXTCLUSTER . . . . . . . .  	000E
  DIR_ATTR2  . . . . . . . . . .  	0010
  DIR_PAD  . . . . . . . . . . .  	0011
  DIR_TIME . . . . . . . . . . .  	0016
  DIR_DATE . . . . . . . . . . .  	0018
  DIR_FIRST  . . . . . . . . . .  	001A
  DIR_SIZE_L . . . . . . . . . .  	001C
  DIR_SIZE_H . . . . . . . . . .  	001E
DOS_VALUE_BUFFER . . . . . . . .  	0010	0008
  VAL_BUF_SIZE . . . . . . . . .  	0000
  VAL_BUF_FILES  . . . . . . . .  	0002
  VAL_BUF_FCBS . . . . . . . . .  	0004
  VAL_BUF_BUFS . . . . . . . . .  	0008
  VAL_BUF_LDRV . . . . . . . . .  	000C
  VAL_BUF_SSZ  . . . . . . . . .  	000E
DPB  . . . . . . . . . . . . . .  	0021	0012
  DPB_DRIVE  . . . . . . . . . .  	0000
  DPB_UNIT . . . . . . . . . . .  	0001
  DPB_SECTOR_SIZE  . . . . . . .  	0002
  DPB_CLUSTER_MASK . . . . . . .  	0004
  DPB_CLUSTER_SHIFT  . . . . . .  	0005
  DPB_FIRST_FAT  . . . . . . . .  	0006
  DPB_FAT_COUNT  . . . . . . . .  	0008
  DPB_ROOT_ENTRIES . . . . . . .  	0009
  DPB_FIRST_SECTOR . . . . . . .  	000B
  DPB_MAX_CLUSTER  . . . . . . .  	000D
  DPB_FAT_SIZE . . . . . . . . .  	000F
  DPB_DIR_SECTOR . . . . . . . .  	0011
  DPB_DRIVER_ADDR  . . . . . . .  	0013
  DPB_MEDIA  . . . . . . . . . .  	0017
  DPB_FIRST_ACCESS . . . . . . .  	0018
  DPB_NEXT_DPB . . . . . . . . .  	0019
  DPB_NEXT_FREE  . . . . . . . .  	001D
  DPB_FREE_CNT . . . . . . . . .  	001F
EXEC0  . . . . . . . . . . . . .  	000E	0004
  EXEC0_ENVIRON  . . . . . . . .  	0000
  EXEC0_COM_LINE . . . . . . . .  	0002
  EXEC0_5C_FCB . . . . . . . . .  	0006
  EXEC0_6C_FCB . . . . . . . . .  	000A
EXEC1  . . . . . . . . . . . . .  	0016	0008
  EXEC1_ENVIRON  . . . . . . . .  	0000
  EXEC1_COM_LINE . . . . . . . .  	0002
  EXEC1_5C_FCB . . . . . . . . .  	0006
  EXEC1_6C_FCB . . . . . . . . .  	000A
  EXEC1_SP . . . . . . . . . . .  	000E
  EXEC1_SS . . . . . . . . . . .  	0010
  EXEC1_IP . . . . . . . . . . .  	0012
  EXEC1_CS . . . . . . . . . . .  	0014
EXEC3  . . . . . . . . . . . . .  	0004	0002
  EXEC3_LOAD_ADDR  . . . . . . .  	0000
  EXEC3_RELOC_FAC  . . . . . . .  	0002
EXE_FILE . . . . . . . . . . . .  	0020	000F
  EXE_SIGNATURE  . . . . . . . .  	0000
  EXE_LEN_MOD_512  . . . . . . .  	0002
  EXE_PAGES  . . . . . . . . . .  	0004
  EXE_RLE_COUNT  . . . . . . . .  	0006
  EXE_PAR_DIR  . . . . . . . . .  	0008
  EXE_MIN_BSS  . . . . . . . . .  	000A
  EXE_MAX_BSS  . . . . . . . . .  	000C
  EXE_SS . . . . . . . . . . . .  	000E
  EXE_SP . . . . . . . . . . . .  	0010
  EXE_CHKSUM . . . . . . . . . .  	0012
  EXE_IP . . . . . . . . . . . .  	0014
  EXE_CS . . . . . . . . . . . .  	0016
  EXE_RLE_TABLE  . . . . . . . .  	0018
  EXE_IOV  . . . . . . . . . . .  	001A
  EXE_SYM_TAB  . . . . . . . . .  	001C
EXT_OPEN_PARM  . . . . . . . . .  	0006	0002
  EXT_SET_LIST . . . . . . . . .  	0000
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-5


  EXT_NUM_OF_PARM  . . . . . . .  	0004
FIND_BUF . . . . . . . . . . . .  	002B	000C
  FIND_BUF_DRIVE . . . . . . . .  	0000
  FIND_BUF_NAME  . . . . . . . .  	0001
  FIND_BUF_SATTR . . . . . . . .  	000C
  FIND_BUF_LASTENT . . . . . . .  	000D
  FIND_BUF_DIRSTART  . . . . . .  	000F
  FIND_BUF_NETID . . . . . . . .  	0011
  FIND_BUF_ATTR  . . . . . . . .  	0015
  FIND_BUF_TIME  . . . . . . . .  	0016
  FIND_BUF_DATE  . . . . . . . .  	0018
  FIND_BUF_SIZE_L  . . . . . . .  	001A
  FIND_BUF_SIZE_H  . . . . . . .  	001C
  FIND_BUF_PNAME . . . . . . . .  	001E
IFSHEADER  . . . . . . . . . . .  	0016	0006
  IFS_NEXT . . . . . . . . . . .  	0000
  IFS_NAME . . . . . . . . . . .  	0004
  IFS_ATTRIBUTE  . . . . . . . .  	000C
  IFS_VERSION  . . . . . . . . .  	000E
  IFS_DOSCALL@ . . . . . . . . .  	0010
  IFS_CALL@  . . . . . . . . . .  	0014
IFSRH  . . . . . . . . . . . . .  	0048	0006
  IFSR_LENGTH  . . . . . . . . .  	0000
  IFSR_FUNCTION  . . . . . . . .  	0002
  IFSR_RETCODE . . . . . . . . .  	0003
  IFSR_RETCLASS  . . . . . . . .  	0005
  IFSR_RESV1 . . . . . . . . . .  	0006
  IFSR_FCN_PARMS . . . . . . . .  	0016
INTERNAT_BLOCK . . . . . . . . .  	0018	0015
  DATE_TIM_FORMAT  . . . . . . .  	0000
  CURRENCY_SYM . . . . . . . . .  	0002
  THOUS_SEP  . . . . . . . . . .  	0007
  DECIMAL_SEP  . . . . . . . . .  	0009
  DATE_SEP . . . . . . . . . . .  	000B
  TIME_SEP . . . . . . . . . . .  	000D
  BIT_FIELD  . . . . . . . . . .  	000F
  CURRENCY_CENTS . . . . . . . .  	0010
  TIME_24  . . . . . . . . . . .  	0011
  MAP_CALL . . . . . . . . . . .  	0012
  DATA_SEP . . . . . . . . . . .  	0016
IOCTL_REQ  . . . . . . . . . . .  	0017	0006
  MAJORFUNCTION  . . . . . . . .  	000D
  MINORFUNCTION  . . . . . . . .  	000E
  REG_SI . . . . . . . . . . . .  	000F
  REG_DI . . . . . . . . . . . .  	0011
  GENERICIOCTL_PACKET  . . . . .  	0013
MEDIA_ID_INFO  . . . . . . . . .  	0019	0004
  MEDIA_LEVEL  . . . . . . . . .  	0000
  MEDIA_SERIAL . . . . . . . . .  	0002
  MEDIA_LABEL  . . . . . . . . .  	0006
  MEDIA_SYSTEM . . . . . . . . .  	0011
PACKET . . . . . . . . . . . . .  	0004	0002
  PACKLEN  . . . . . . . . . . .  	0000
  PACKCPID . . . . . . . . . . .  	0002
PROCESS_DATA_BLOCK . . . . . . .  	005C	0011
  PDB_EXIT_CALL  . . . . . . . .  	0000
  PDB_BLOCK_LEN  . . . . . . . .  	0002
  PDB_CPM_CALL . . . . . . . . .  	0005
  PDB_EXIT . . . . . . . . . . .  	000A
  PDB_CTRL_C . . . . . . . . . .  	000E
  PDB_FATAL_ABORT  . . . . . . .  	0012
  PDB_PARENT_PID . . . . . . . .  	0016
  PDB_JFN_TABLE  . . . . . . . .  	0018
  PDB_ENVIRON  . . . . . . . . .  	002C
  PDB_USER_STACK . . . . . . . .  	002E
  PDB_JFN_LENGTH . . . . . . . .  	0032
  PDB_JFN_POINTER  . . . . . . .  	0034
  PDB_NEXT_PDB . . . . . . . . .  	0038
  PDB_PAD1 . . . . . . . . . . .  	003C
  PDB_CALL_SYSTEM  . . . . . . .  	0050
  PDB_PAD2 . . . . . . . . . . .  	0055
SF . . . . . . . . . . . . . . .  	0008	0003
  SFLINK . . . . . . . . . . . .  	0000
  SFCOUNT  . . . . . . . . . . .  	0004
  SFTABLE  . . . . . . . . . . .  	0006
SFF  . . . . . . . . . . . . . .  	003D	0011
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-6


  SFF_TYPE . . . . . . . . . . .  	0000
  SFF_FLAGS  . . . . . . . . . .  	0002
  SFF_MODE . . . . . . . . . . .  	0004
  SFF_RESV1  . . . . . . . . . .  	0006
  SFF_ATTR . . . . . . . . . . .  	0008
  SFF_UID  . . . . . . . . . . .  	000A
  SFF_PID  . . . . . . . . . . .  	000C
  SFF_SIZE . . . . . . . . . . .  	000E
  SFF_POSITION . . . . . . . . .  	0012
  SFF_TIME . . . . . . . . . . .  	0016
  SFF_DATE . . . . . . . . . . .  	0018
  SFF_NAME . . . . . . . . . . .  	001A
  SFF_EXT  . . . . . . . . . . .  	0022
  SFF_RESV2  . . . . . . . . . .  	0025
  SFF_SF_ID  . . . . . . . . . .  	0027
  SFF_RESV . . . . . . . . . . .  	0029
  SFF_FSDA . . . . . . . . . . .  	0035
SF_ENTRY . . . . . . . . . . . .  	003B	0014
  SF_REF_COUNT . . . . . . . . .  	0000
  SF_MODE  . . . . . . . . . . .  	0002
  SF_ATTR  . . . . . . . . . . .  	0004
  SF_FLAGS . . . . . . . . . . .  	0005
  SF_DEVPTR  . . . . . . . . . .  	0007
  SF_FIRCLUS . . . . . . . . . .  	000B
  SF_TIME  . . . . . . . . . . .  	000D
  SF_DATE  . . . . . . . . . . .  	000F
  SF_SIZE  . . . . . . . . . . .  	0011
  SF_POSITION  . . . . . . . . .  	0015
  SF_CLUSPOS . . . . . . . . . .  	0019
  SF_DIRSEC  . . . . . . . . . .  	001B
  SF_DIRPOS  . . . . . . . . . .  	001F
  SF_NAME  . . . . . . . . . . .  	0020
  SF_CHAIN . . . . . . . . . . .  	002B
  SF_UID . . . . . . . . . . . .  	002F
  SF_PID . . . . . . . . . . . .  	0031
  SF_MFT . . . . . . . . . . . .  	0033
  SF_LSTCLUS . . . . . . . . . .  	0035
  SF_IFS_HDR . . . . . . . . . .  	0037
SRHEAD . . . . . . . . . . . . .  	000D	0005
  REQLEN . . . . . . . . . . . .  	0000
  REQUNIT  . . . . . . . . . . .  	0001
  REQFUNC  . . . . . . . . . . .  	0002
  REQSTAT  . . . . . . . . . . .  	0003
SYMBOL_ENTRY . . . . . . . . . .  	0106	0004
  SYM_VALUE  . . . . . . . . . .  	0000
  SYM_TYPE . . . . . . . . . . .  	0004
  SYM_LEN  . . . . . . . . . . .  	0006
  SYM_NAME . . . . . . . . . . .  	0007
SYSDEV . . . . . . . . . . . . .  	0012	0005
  SDEVNEXT . . . . . . . . . . .  	0000
  SDEVATT  . . . . . . . . . . .  	0004
  SDEVSTRAT  . . . . . . . . . .  	0006
  SDEVINT  . . . . . . . . . . .  	0008
  SDEVNAME . . . . . . . . . . .  	000A
SYSINITVARS  . . . . . . . . . .  	0047	0018
  SYSI_DPB . . . . . . . . . . .  	0000
  SYSI_SFT . . . . . . . . . . .  	0004
  SYSI_CLOCK . . . . . . . . . .  	0008
  SYSI_CON . . . . . . . . . . .  	000C
  SYSI_MAXSEC  . . . . . . . . .  	0010
  SYSI_BUF . . . . . . . . . . .  	0012
  SYSI_CDS . . . . . . . . . . .  	0016
  SYSI_FCB . . . . . . . . . . .  	001A
  SYSI_KEEP  . . . . . . . . . .  	001E
  SYSI_NUMIO . . . . . . . . . .  	0020
  SYSI_NCDS  . . . . . . . . . .  	0021
  SYSI_DEV . . . . . . . . . . .  	0022
  SYSI_ATTR  . . . . . . . . . .  	0026
  SYSI_STRAT . . . . . . . . . .  	0028
  SYSI_INTER . . . . . . . . . .  	002A
  SYSI_NAME  . . . . . . . . . .  	002C
  SYSI_SPLICE  . . . . . . . . .  	0034
  SYSI_IBMDOS_SIZE . . . . . . .  	0035
  SYSI_IFS_DOSCALL@  . . . . . .  	0037
  SYSI_IFS . . . . . . . . . . .  	003B
  SYSI_BUFFERS . . . . . . . . .  	003F
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-7


  SYSI_BOOT_DRIVE  . . . . . . .  	0043
  SYSI_DWMOVE  . . . . . . . . .  	0044
  SYSI_EXT_MEM . . . . . . . . .  	0045
SYSINITVARS_EXT  . . . . . . . .  	0008	0002
  SYSI_INITVARS  . . . . . . . .  	0000
  SYSI_COUNTRY_TAB . . . . . . .  	0004
SYS_FCB  . . . . . . . . . . . .  	0025	000C
  FCB_DRIVE  . . . . . . . . . .  	0000
  FCB_NAME . . . . . . . . . . .  	0001
  FCB_EXT  . . . . . . . . . . .  	0009
  FCB_EXTENT . . . . . . . . . .  	000C
  FCB_RECSIZ . . . . . . . . . .  	000E
  FCB_FILSIZ . . . . . . . . . .  	0010
  FCB_DRVBP  . . . . . . . . . .  	0012
  FCB_FDATE  . . . . . . . . . .  	0014
  FCB_FTIME  . . . . . . . . . .  	0016
  FCB_RESERVED . . . . . . . . .  	0018
  FCB_NR . . . . . . . . . . . .  	0020
  FCB_RR . . . . . . . . . . . .  	0021
USER_ENVIRON . . . . . . . . . .  	0018	000C
  USER_AX  . . . . . . . . . . .  	0000
  USER_BX  . . . . . . . . . . .  	0002
  USER_CX  . . . . . . . . . . .  	0004
  USER_DX  . . . . . . . . . . .  	0006
  USER_SI  . . . . . . . . . . .  	0008
  USER_DI  . . . . . . . . . . .  	000A
  USER_BP  . . . . . . . . . . .  	000C
  USER_DS  . . . . . . . . . . .  	000E
  USER_ES  . . . . . . . . . . .  	0010
  USER_IP  . . . . . . . . . . .  	0012
  USER_CS  . . . . . . . . . . .  	0014
  USER_F . . . . . . . . . . . .  	0016

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

DOSGROUP . . . . . . . . . . . .  	GROUP
  START  . . . . . . . . . . . .  	0000	BYTE	PUBLIC	'START'
  CONSTANTS  . . . . . . . . . .  	0000	WORD	PUBLIC	'CONST'
  DATA . . . . . . . . . . . . .  	0000	WORD	PUBLIC	'DATA'
  TABLE  . . . . . . . . . . . .  	0000	BYTE	PUBLIC	'TABLE'
  CODE . . . . . . . . . . . . .  	0000	BYTE	PUBLIC	'CODE'
  LAST . . . . . . . . . . . . .  	0000	PARA	PUBLIC	'LAST'
IFSSEG . . . . . . . . . . . . .  	181D	WORD	PUBLIC	'IFSSEG'
STACK  . . . . . . . . . . . . .  	0196	PARA	STACK	

Symbols:            

                N a m e         	Type	 Value	 Attr

AA_05  . . . . . . . . . . . . .  	L NEAR	1607	IFSSEG
AA_10  . . . . . . . . . . . . .  	L NEAR	162B	IFSSEG
AA_100 . . . . . . . . . . . . .  	L NEAR	1788	IFSSEG
AA_1000  . . . . . . . . . . . .  	L NEAR	1795	IFSSEG
AA_120 . . . . . . . . . . . . .  	L NEAR	178A	IFSSEG
AA_13  . . . . . . . . . . . . .  	L NEAR	1635	IFSSEG
AA_16  . . . . . . . . . . . . .  	L NEAR	1644	IFSSEG
AA_19  . . . . . . . . . . . . .  	L NEAR	1669	IFSSEG
AA_20  . . . . . . . . . . . . .  	L NEAR	167D	IFSSEG
AA_40  . . . . . . . . . . . . .  	L NEAR	16E6	IFSSEG
AA_50  . . . . . . . . . . . . .  	L NEAR	173F	IFSSEG
AA_60  . . . . . . . . . . . . .  	L NEAR	1749	IFSSEG
AA_80  . . . . . . . . . . . . .  	L NEAR	1762	IFSSEG
AA_990 . . . . . . . . . . . . .  	L NEAR	1792	IFSSEG
AA_PARMS_BUF . . . . . . . . . .  	L BYTE	0498	IFSSEG	Length = 0006
ABORT  . . . . . . . . . . . . .  	NUMBER	0000	
ACCESS_MASK  . . . . . . . . . .  	NUMBER	000F	
ACTION_39  . . . . . . . . . . .  	NUMBER	0004	
ACTION_CREATED_OPENED  . . . . .  	NUMBER	0002	
ACTION_OPENED  . . . . . . . . .  	NUMBER	0001	
ACTION_REPLACED_OPENED . . . . .  	NUMBER	0003	
ACTIVE_PROCESS_INFO  . . . . . .  	NUMBER	0001	
ADDR_INT_ABORT . . . . . . . . .  	NUMBER	0080	
ADDR_INT_COMMAND . . . . . . . .  	NUMBER	0084	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-8


ADDR_INT_CTRL_C  . . . . . . . .  	NUMBER	008C	
ADDR_INT_DISK_READ . . . . . . .  	NUMBER	0094	
ADDR_INT_DISK_WRITE  . . . . . .  	NUMBER	0098	
ADDR_INT_FASTCON . . . . . . . .  	NUMBER	00A4	
ADDR_INT_FATAL_ABORT . . . . . .  	NUMBER	0090	
ADDR_INT_IBM . . . . . . . . . .  	NUMBER	00A8	
ADDR_INT_KEEP_PROCESS  . . . . .  	NUMBER	009C	
ADDR_INT_SPOOLER . . . . . . . .  	NUMBER	00A0	
ADDR_INT_TERMINATE . . . . . . .  	NUMBER	0088	
ALLOC  . . . . . . . . . . . . .  	NUMBER	0048	
ALLOCOPER  . . . . . . . . . . .  	NUMBER	0058	
ALLOWED_FAIL . . . . . . . . . .  	NUMBER	0008	
ALLOWED_IGNORE . . . . . . . . .  	NUMBER	0020	
ALLOWED_RETRY  . . . . . . . . .  	NUMBER	0010	
ALTVECT  . . . . . . . . . . . .  	ALIAS	 FALSE		
ALT_EXPECTED_VERSION . . . . . .  	NUMBER	1A05	
ALT_GOOD_DOS . . . . . . . . . .  	L NEAR	0F36	IFSSEG
ALT_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
ALT_MINOR_VERSION  . . . . . . .  	NUMBER	001A	
AMIS_ID  . . . . . . . . . . . .  	L NEAR	0DE6	IFSSEG
AMIS_ID_MSG  . . . . . . . . . .  	L NEAR	0DEB	IFSSEG
AMIS_ID_MSG_END  . . . . . . . .  	L NEAR	0DF2	IFSSEG
amis_sign  . . . . . . . . . . .  	L NEAR	0DD6	IFSSEG	Global
AMIS_SIGN_SEGMENT  . . . . . . .  	ALIAS	 IFSSEG		
ARENA_OWNER_SYSTEM . . . . . . .  	NUMBER	0000	
ARENA_SIGNATURE_END  . . . . . .  	NUMBER	005A	
ARENA_SIGNATURE_NORMAL . . . . .  	NUMBER	004D	
ASSIGNOPER . . . . . . . . . . .  	NUMBER	005F	
ATTR_ALL . . . . . . . . . . . .  	NUMBER	0016	
ATTR_ARCHIVE . . . . . . . . . .  	NUMBER	0020	
ATTR_CHANGEABLE  . . . . . . . .  	NUMBER	0027	
ATTR_DEVICE  . . . . . . . . . .  	NUMBER	0040	
ATTR_DIRECTORY . . . . . . . . .  	NUMBER	0010	
ATTR_HIDDEN  . . . . . . . . . .  	NUMBER	0002	
ATTR_IGNORE  . . . . . . . . . .  	NUMBER	0061	
ATTR_READ_ONLY . . . . . . . . .  	NUMBER	0001	
ATTR_SYSTEM  . . . . . . . . . .  	NUMBER	0004	
ATTR_VOLUME_ID . . . . . . . . .  	NUMBER	0008	
AUTO_ATTACH  . . . . . . . . . .  	N PROC	15FB	IFSSEG	Global	Length = 01A2
AUTO_COMMIT_WRITE  . . . . . . .  	NUMBER	4000	

BADMES . . . . . . . . . . . . .  	F PROC	1464	IFSSEG	Length = 000D
BADVER_MSG . . . . . . . . . . .  	F PROC	1457	IFSSEG	Length = 000D
BELL . . . . . . . . . . . . . .  	NUMBER	0007	
BIN_HEX_BYTE . . . . . . . . . .  	NUMBER	0013	
BIN_HEX_DWORD  . . . . . . . . .  	NUMBER	0033	
BIN_HEX_TYPE . . . . . . . . . .  	NUMBER	0003	
BIN_HEX_WORD . . . . . . . . . .  	NUMBER	0023	
BLOCK_GENERIC  . . . . . . . . .  	NUMBER	000D	
BREAK_INFORMATION  . . . . . . .  	NUMBER	0003	
BUFFERFLAG . . . . . . . . . . .  	NUMBER	FFFF	
BUFINSIZ . . . . . . . . . . . .  	NUMBER	0014	
BUF_DIRTY  . . . . . . . . . . .  	NUMBER	0040	
BUF_DPB  . . . . . . . . . . . .  		000D	
BUF_FILL . . . . . . . . . . . .  		0011	
BUF_FLAGS  . . . . . . . . . . .  		0005	
BUF_FREE . . . . . . . . . . . .  	NUMBER	00FF	
BUF_ID . . . . . . . . . . . . .  		0004	
BUF_ISDATA . . . . . . . . . . .  	NUMBER	0008	
BUF_ISDIR  . . . . . . . . . . .  	NUMBER	0004	
BUF_ISFAT  . . . . . . . . . . .  	NUMBER	0002	
BUF_ISNET  . . . . . . . . . . .  	NUMBER	0080	
BUF_NETID  . . . . . . . . . . .  	ALIAS	 BUFINSIZ		
BUF_NEXT . . . . . . . . . . . .  		0000	
BUF_OFFSET . . . . . . . . . . .  	DWORD	0006	
BUF_PREV . . . . . . . . . . . .  		0002	
BUF_RESERVED . . . . . . . . . .  		0013	
BUF_SECTOR . . . . . . . . . . .  		0006	
BUF_SNBUF  . . . . . . . . . . .  	NUMBER	0010	
BUF_TYPE_0 . . . . . . . . . . .  	NUMBER	00F1	
BUF_VISIT  . . . . . . . . . . .  	NUMBER	0020	
BUF_WRTCNT . . . . . . . . . . .  		000A	
BUF_WRTCNTINC  . . . . . . . . .  		000B	

CALL_IFS . . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
CALL_INTERRUPT_ROUTINE . . . . .  	NUMBER	0001	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-9


CANCEL_ATTACH  . . . . . . . . .  	NUMBER	0004	
CAPSW  . . . . . . . . . . . . .  	NUMBER	0000	
CARGS  . . . . . . . . . . . . .  	NUMBER	0000	
CATEGORY_FS  . . . . . . . . . .  	NUMBER	0000	
CATEGORY_PRINTER . . . . . . . .  	NUMBER	0005	
CATEGORY_REDIR . . . . . . . . .  	NUMBER	0001	
CBTYPE_CD  . . . . . . . . . . .  	NUMBER	0001	
CBTYPE_DF  . . . . . . . . . . .  	NUMBER	0002	
CBTYPE_DUMMYCD . . . . . . . . .  	NUMBER	0003	
CBTYPE_SFF . . . . . . . . . . .  	NUMBER	0000	
CD1  . . . . . . . . . . . . . .  	V WORD	0000	IFSSEG	External
CDSAddr  . . . . . . . . . . . .  	V DWORD	0000	DATA	External
CDSAlt . . . . . . . . . . . . .  	V DWORD	0000	IFSSEG	External
CDSCount . . . . . . . . . . . .  	V BYTE	0000	DATA	External
CDS_TO_CD  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
CD_TO_CDS  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
CHARDEV  . . . . . . . . . . . .  	NUMBER	8000	
CHARMSG  . . . . . . . . . . . .  	NUMBER	FFFF	
CHAR_FIELD_ASCIIZ  . . . . . . .  	NUMBER	0010	
CHAR_FIELD_CHAR  . . . . . . . .  	NUMBER	0000	
CHAR_GENERIC . . . . . . . . . .  	NUMBER	000C	
CHAR_OPER  . . . . . . . . . . .  	NUMBER	0037	
CHAR_TYPE  . . . . . . . . . . .  	NUMBER	0000	
CHDIR  . . . . . . . . . . . . .  	NUMBER	003B	
CHECK_AMIS . . . . . . . . . . .  	L NEAR	0EDA	IFSSEG
CHECK_AMIS_DONE  . . . . . . . .  	L NEAR	0F11	IFSSEG
CHECK_AMIS_LOOP  . . . . . . . .  	L NEAR	0EE3	IFSSEG
CHECK_AMIS_NEXT  . . . . . . . .  	L NEAR	0F0C	IFSSEG
CHECK_AMIS_UNSUP . . . . . . . .  	L NEAR	0F10	IFSSEG
CHECK_REMOVABLE  . . . . . . . .  	NUMBER	4408	
CHECK_UNC_PRESENCE . . . . . . .  	N PROC	179D	IFSSEG	Global	Length = 0080
CHMOD  . . . . . . . . . . . . .  	NUMBER	0043	
CLASS_2_MESSAGECOUNT . . . . . .  	NUMBER	0007	
CLASS_A_MESSAGECOUNT . . . . . .  	NUMBER	0004	
CLOSE  . . . . . . . . . . . . .  	NUMBER	003E	
CLOSE_SPOOL_FILES  . . . . . . .  	NUMBER	0009	
CMPXSW . . . . . . . . . . . . .  	NUMBER	0001	
CODESIZE . . . . . . . . . . . .  	L BYTE	0000	IFSSEG	Global
COLON  . . . . . . . . . . . . .  	NUMBER	003A	
COMMIT . . . . . . . . . . . . .  	NUMBER	0068	
COMMON_ERR_2 . . . . . . . . . .  	NUMBER	0002	
COMMON_ERR_3 . . . . . . . . . .  	NUMBER	0003	
COMR . . . . . . . . . . . . . .  	NUMBER	0000	
COMT . . . . . . . . . . . . . .  	NUMBER	0000	
CONFIG_SYS_VALUES  . . . . . . .  	NUMBER	0005	
CONT . . . . . . . . . . . . . .  	L DWORD	001D	IFSSEG
COUNTRY_INFO . . . . . . . . . .  	NUMBER	0007	
CPSW_INFORMATION . . . . . . . .  	NUMBER	0002	
CR . . . . . . . . . . . . . . .  	NUMBER	000D	
CREAT  . . . . . . . . . . . . .  	NUMBER	003C	
CREATENEWFILE  . . . . . . . . .  	NUMBER	005B	
CREATETEMPFILE . . . . . . . . .  	NUMBER	005A	
CREATE_PROCESS_DATA_BLOCK  . . .  	NUMBER	0026	
CRITASSIGN . . . . . . . . . . .  	NUMBER	0008	
CRITDEVICE . . . . . . . . . . .  	NUMBER	0002	
CRITDISK . . . . . . . . . . . .  	NUMBER	0001	
CRITIFS  . . . . . . . . . . . .  	NUMBER	0006	
CRITMEM  . . . . . . . . . . . .  	NUMBER	0001	
CRITNET  . . . . . . . . . . . .  	NUMBER	0005	
CritPatch  . . . . . . . . . . .  	V WORD	0000	DATA	External
CRITSFT  . . . . . . . . . . . .  	NUMBER	0001	
CRITSHARE  . . . . . . . . . . .  	NUMBER	0001	
CRIT_MSG_TYPE_1  . . . . . . . .  	NUMBER	0001	
CTLFUNC_DEVCLOSE . . . . . . . .  	NUMBER	0005	
CTLFUNC_DEVECHOCHECK . . . . . .  	NUMBER	0003	
CTLFUNC_DEVOPER  . . . . . . . .  	NUMBER	0006	
CTLFUNC_GET_UNC_ITEM . . . . . .  	NUMBER	0004	
CTLFUNC_PRINTER_GET_FLAGS  . . .  	NUMBER	0002	
CTLFUNC_PRINTER_GET_STRING . . .  	NUMBER	0001	
CTLFUNC_PRINTER_SET_FLAGS  . . .  	NUMBER	0022	
CTLFUNC_PRINTER_SET_STRING . . .  	NUMBER	0021	
CTLFUNC_PRINT_OFF  . . . . . . .  	NUMBER	0007	
CTLFUNC_PRINT_ON . . . . . . . .  	NUMBER	0027	
CTLFUNC_QUERY_PREPLIST . . . . .  	NUMBER	006B	
CTLFUNC_QUERY_SELECTED . . . . .  	NUMBER	006A	
CTLFUNC_SELECT . . . . . . . . .  	NUMBER	004A	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-10


CTRL_BREAK_FLAG  . . . . . . . .  	NUMBER	0200	
CUP_1000 . . . . . . . . . . . .  	L NEAR	1818	IFSSEG
CUP_20 . . . . . . . . . . . . .  	L NEAR	17D1	IFSSEG
CUP_30 . . . . . . . . . . . . .  	L NEAR	17DD	IFSSEG
CUP_40 . . . . . . . . . . . . .  	L NEAR	1805	IFSSEG
CURDIRLEN  . . . . . . . . . . .  	NUMBER	0058	
CURDIR_INUSE . . . . . . . . . .  	NUMBER	4000	
CURDIR_ISIFS . . . . . . . . . .  	NUMBER	8000	
CURDIR_ISNET . . . . . . . . . .  	NUMBER	8000	
CURDIR_LOCAL . . . . . . . . . .  	NUMBER	1000	
CURDIR_NETID . . . . . . . . . .  	DWORD	0049	
CURDIR_SPLICE  . . . . . . . . .  	NUMBER	2000	
CURRENT_DIR  . . . . . . . . . .  	NUMBER	0047	
C_BS . . . . . . . . . . . . . .  	NUMBER	0008	
C_CR . . . . . . . . . . . . . .  	NUMBER	000D	
C_DEL  . . . . . . . . . . . . .  	NUMBER	007F	
C_ETB  . . . . . . . . . . . . .  	NUMBER	0017	
C_ETX  . . . . . . . . . . . . .  	NUMBER	0003	
C_HT . . . . . . . . . . . . . .  	NUMBER	0009	
C_LF . . . . . . . . . . . . . .  	NUMBER	000A	
C_NAK  . . . . . . . . . . . . .  	NUMBER	0015	

DataVersion  . . . . . . . . . .  	V WORD	0000	DATA	External
DATEMSG  . . . . . . . . . . . .  	NUMBER	0000	
DATESW . . . . . . . . . . . . .  	NUMBER	0000	
DATE_MD  . . . . . . . . . . . .  	NUMBER	0014	
DATE_MDY_2 . . . . . . . . . . .  	NUMBER	0024	
DATE_MDY_4 . . . . . . . . . . .  	NUMBER	0034	
DATE_TYPE  . . . . . . . . . . .  	NUMBER	0004	
DBCS . . . . . . . . . . . . . .  	NUMBER	0000	
DBCS_VOLID . . . . . . . . . . .  	NUMBER	0080	
DBCS_VOLID2  . . . . . . . . . .  	NUMBER	0100	
DBPBHL . . . . . . . . . . . . .  	NUMBER	0016	
DDKEY  . . . . . . . . . . . . .  	NUMBER	0400	
DEALLOC  . . . . . . . . . . . .  	NUMBER	0049	
DEBUG  . . . . . . . . . . . . .  	NUMBER	0000	
DEFAULT_DFLCOUNT . . . . . . . .  	L BYTE	04C2	IFSSEG
DEFINE_MACRO . . . . . . . . . .  	NUMBER	0003	
DEFKEEPVAL . . . . . . . . . . .  	NUMBER	0000	
DEFNUMFCB  . . . . . . . . . . .  	NUMBER	0004	
DEV320 . . . . . . . . . . . . .  	NUMBER	0040	
DEVBPB . . . . . . . . . . . . .  	NUMBER	0002	
DEVCLS . . . . . . . . . . . . .  	NUMBER	000E	
DEVGETOWN  . . . . . . . . . . .  	NUMBER	0017	
DEVICE_CB@_OFFSET  . . . . . . .  	V WORD	0000	IFSSEG	External
DEVICE_IOCTL . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
DEVICE_MACRO . . . . . . . . . .  	NUMBER	0003	
DEVICE_NOT_ATTACHED  . . . . . .  	NUMBER	000F	
DEVID_BLOCK_DEV  . . . . . . . .  	NUMBER	001F	
DEVID_DEVICE . . . . . . . . . .  	NUMBER	0080	
DEVID_DEVICE_CLOCK . . . . . . .  	NUMBER	0008	
DEVID_DEVICE_CON_IN  . . . . . .  	NUMBER	0001	
DEVID_DEVICE_CON_OUT . . . . . .  	NUMBER	0002	
DEVID_DEVICE_EOF . . . . . . . .  	NUMBER	0040	
DEVID_DEVICE_NULL  . . . . . . .  	NUMBER	0004	
DEVID_DEVICE_RAW . . . . . . . .  	NUMBER	0020	
DEVID_DEVICE_SPECIAL . . . . . .  	NUMBER	0010	
DEVID_EOF  . . . . . . . . . . .  	NUMBER	0040	
DEVID_FILE_CLEAN . . . . . . . .  	NUMBER	0040	
DEVID_FILE_MASK_DRIVE  . . . . .  	NUMBER	003F	
DEVID_ISCIN  . . . . . . . . . .  	NUMBER	0001	
DEVID_ISCLK  . . . . . . . . . .  	NUMBER	0008	
DEVID_ISCOT  . . . . . . . . . .  	NUMBER	0002	
DEVID_ISDEV  . . . . . . . . . .  	NUMBER	0080	
DEVID_ISNUL  . . . . . . . . . .  	NUMBER	0004	
DEVID_RAW  . . . . . . . . . . .  	NUMBER	0020	
DEVID_SPECIAL  . . . . . . . . .  	NUMBER	0010	
DEVIFL . . . . . . . . . . . . .  	NUMBER	0007	
DEVINIT  . . . . . . . . . . . .  	NUMBER	0000	
DEVIOCTL . . . . . . . . . . . .  	NUMBER	4000	
DEVIST . . . . . . . . . . . . .  	NUMBER	0006	
DEVMDCH  . . . . . . . . . . . .  	NUMBER	0001	
DEVOFL . . . . . . . . . . . . .  	NUMBER	000B	
DEVOPCL  . . . . . . . . . . . .  	NUMBER	0800	
DEVOPN . . . . . . . . . . . . .  	NUMBER	000D	
DEVOST . . . . . . . . . . . . .  	NUMBER	000A	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-11


DEVOUT . . . . . . . . . . . . .  	NUMBER	0010	
DEVOUTL  . . . . . . . . . . . .  	ALIAS	 DEVWRT		
DEVRD  . . . . . . . . . . . . .  	NUMBER	0004	
DEVRDIOCTL . . . . . . . . . . .  	NUMBER	0003	
DEVRDND  . . . . . . . . . . . .  	NUMBER	0005	
DEVRMD . . . . . . . . . . . . .  	NUMBER	000F	
DEVSETOWN  . . . . . . . . . . .  	NUMBER	0018	
DEVTYP . . . . . . . . . . . . .  	NUMBER	8000	
DEVWRIOCTL . . . . . . . . . . .  	NUMBER	000C	
DEVWRT . . . . . . . . . . . . .  	NUMBER	0008	
DEVWRTV  . . . . . . . . . . . .  	NUMBER	0009	
DF1  . . . . . . . . . . . . . .  	V WORD	0000	IFSSEG	External
DFLAddr  . . . . . . . . . . . .  	V DWORD	0000	IFSSEG	External
DFLCount . . . . . . . . . . . .  	V BYTE	0000	IFSSEG	External
DFLSHL . . . . . . . . . . . . .  	NUMBER	000F	
DFL_DEV_REAL . . . . . . . . . .  	NUMBER	0010	
DFL_INPROG . . . . . . . . . . .  	NUMBER	0080	
DFL_INUSE  . . . . . . . . . . .  	NUMBER	0040	
DFL_PAUSED . . . . . . . . . . .  	NUMBER	0020	
DINITHL  . . . . . . . . . . . .  	NUMBER	001A	
DIRSTRLEN  . . . . . . . . . . .  	NUMBER	0043	
DIR_SEARCH_FIRST . . . . . . . .  	NUMBER	0011	
DIR_SEARCH_NEXT  . . . . . . . .  	NUMBER	0012	
DISABLE_EOF_I24  . . . . . . . .  	NUMBER	0040	
DISK_PROC  . . . . . . . . . . .  	NUMBER	0000	
DISK_RESET . . . . . . . . . . .  	NUMBER	000D	
DISPLAYMSG . . . . . . . . . . .  	NUMBER	0000	
DMEDHL . . . . . . . . . . . . .  	NUMBER	000F	
DMY  . . . . . . . . . . . . . .  	L WORD	001B	IFSSEG
DOPCLHL  . . . . . . . . . . . .  	NUMBER	000D	
DOS2NET_DATE . . . . . . . . . .  	NUMBER	0022	
DOS_BUF_KEYB_INP . . . . . . . .  	NUMBER	000A	
DOS_CLOSE_FILE . . . . . . . . .  	NUMBER	003E	
DOS_CLR_KEYB_BUF . . . . . . . .  	NUMBER	000C	
DOS_CLR_KEYB_BUF_MASK  . . . . .  	NUMBER	00C0	
DOS_CON_INP  . . . . . . . . . .  	NUMBER	0008	
DOS_DIR_CON_INP  . . . . . . . .  	NUMBER	0007	
DOS_DISP_CHAR  . . . . . . . . .  	NUMBER	0002	
DOS_DISP_STRING  . . . . . . . .  	NUMBER	0009	
DOS_EXTENDED_OPEN  . . . . . . .  	NUMBER	6C00	
DOS_GET_ADDR . . . . . . . . . .  	NUMBER	0008	
DOS_GET_COUNTRY  . . . . . . . .  	NUMBER	0038	
DOS_GET_CRITICAL . . . . . . . .  	NUMBER	0004	
DOS_GET_DBCS_INFO  . . . . . . .  	NUMBER	6300	
DOS_GET_EXTENDED . . . . . . . .  	NUMBER	0000	
DOS_GET_EXT_ERROR  . . . . . . .  	NUMBER	0059	
DOS_GET_EXT_ERROR_BX . . . . . .  	NUMBER	0000	
DOS_GET_EXT_PARSE_ADD  . . . . .  	NUMBER	122E	
DOS_GET_FILE . . . . . . . . . .  	NUMBER	0006	
DOS_GET_PARSE  . . . . . . . . .  	NUMBER	0002	
DOS_GET_VERSION  . . . . . . . .  	NUMBER	0030	
DOS_IOCTL_GET_INFO . . . . . . .  	NUMBER	4400	
DOS_IOCTL_SET_INFO . . . . . . .  	NUMBER	4401	
DOS_KEYB_INP . . . . . . . . . .  	NUMBER	0001	
DOS_LSEEK_FILE . . . . . . . . .  	NUMBER	4200	
DOS_READ_BYTE  . . . . . . . . .  	NUMBER	003F	
DOS_SET_ADDR . . . . . . . . . .  	NUMBER	0009	
DOS_STRCMP . . . . . . . . . . .  	NUMBER	0024	
DOS_STRCPY . . . . . . . . . . .  	NUMBER	0025	
DOS_WRITE_HANDLE . . . . . . . .  	NUMBER	0040	
DPBSIZ . . . . . . . . . . . . .  	NUMBER	0021	
DRDNDHL  . . . . . . . . . . . .  	NUMBER	000E	
DRDWRHL  . . . . . . . . . . . .  	NUMBER	0016	
DRIVE_MACRO  . . . . . . . . . .  	NUMBER	0004	
DRVSW  . . . . . . . . . . . . .  	NUMBER	0000	
DSKSIZ . . . . . . . . . . . . .  	NUMBER	000D	
DSTATHL  . . . . . . . . . . . .  	NUMBER	000D	
DummyCDS . . . . . . . . . . . .  	V BYTE	0000	DATA	External
DUP_PDB  . . . . . . . . . . . .  	NUMBER	0055	

EcritIFS . . . . . . . . . . . .  	N PROC	00E9	IFSSEG	Global	Length = 000C
EcritNet . . . . . . . . . . . .  	N PROC	00D1	IFSSEG	Global	Length = 000C
ECS_CALL . . . . . . . . . . . .  	NUMBER	0063	
EMS_MAP_BUFF_SIZE  . . . . . . .  	NUMBER	000C	
ENTRYPOINT . . . . . . . . . . .  	NUMBER	00C0	
EOP_ABORT  . . . . . . . . . . .  	NUMBER	0001	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-12


EOP_NORMAL . . . . . . . . . . .  	NUMBER	0000	
ERRACT_ABORT . . . . . . . . . .  	NUMBER	0004	
ERRACT_DLYRET  . . . . . . . . .  	NUMBER	0002	
ERRACT_IGNORE  . . . . . . . . .  	NUMBER	0006	
ERRACT_INTRET  . . . . . . . . .  	NUMBER	0007	
ERRACT_PANIC . . . . . . . . . .  	NUMBER	0005	
ERRACT_RETRY . . . . . . . . . .  	NUMBER	0001	
ERRACT_USER  . . . . . . . . . .  	NUMBER	0003	
ERRCLASS_ALREADY . . . . . . . .  	NUMBER	000C	
ERRCLASS_APPERR  . . . . . . . .  	NUMBER	0007	
ERRCLASS_AUTH  . . . . . . . . .  	NUMBER	0003	
ERRCLASS_BADFMT  . . . . . . . .  	NUMBER	0009	
ERRCLASS_HRDFAIL . . . . . . . .  	NUMBER	0005	
ERRCLASS_INTRN . . . . . . . . .  	NUMBER	0004	
ERRCLASS_LOCKED  . . . . . . . .  	NUMBER	000A	
ERRCLASS_MEDIA . . . . . . . . .  	NUMBER	000B	
ERRCLASS_NOTFND  . . . . . . . .  	NUMBER	0008	
ERRCLASS_OUTRES  . . . . . . . .  	NUMBER	0001	
ERRCLASS_SYSFAIL . . . . . . . .  	NUMBER	0006	
ERRCLASS_TEMPSIT . . . . . . . .  	NUMBER	0002	
ERRCLASS_UNK . . . . . . . . . .  	NUMBER	000D	
ERRLOC_DISK  . . . . . . . . . .  	NUMBER	0002	
ERRLOC_MEM . . . . . . . . . . .  	NUMBER	0005	
ERRLOC_NET . . . . . . . . . . .  	NUMBER	0003	
ERRLOC_SERDEV  . . . . . . . . .  	NUMBER	0004	
ERRLOC_UNK . . . . . . . . . . .  	NUMBER	0001	
ERROR_ACCESS_DENIED  . . . . . .  	NUMBER	0005	
ERROR_ALREADY_ASSIGNED . . . . .  	NUMBER	0055	
ERROR_ARENA_TRASHED  . . . . . .  	NUMBER	0007	
ERROR_BAD_COMMAND  . . . . . . .  	NUMBER	0016	
ERROR_BAD_ENVIRONMENT  . . . . .  	NUMBER	000A	
ERROR_BAD_FORMAT . . . . . . . .  	NUMBER	000B	
ERROR_BAD_LENGTH . . . . . . . .  	NUMBER	0018	
ERROR_BAD_UNIT . . . . . . . . .  	NUMBER	0014	
ERROR_CANNOT_MAKE  . . . . . . .  	NUMBER	0052	
ERROR_CLASS_39 . . . . . . . . .  	NUMBER	0001	
ERROR_CODE_PAGE_MISMATCHED . . .  	NUMBER	0025	
ERROR_CRC  . . . . . . . . . . .  	NUMBER	0017	
ERROR_CURRENT_DIRECTORY  . . . .  	NUMBER	0010	
ERROR_DUP_FCB  . . . . . . . . .  	NUMBER	0051	
ERROR_FAIL_I24 . . . . . . . . .  	NUMBER	0053	
ERROR_FCB_UNAVAILABLE  . . . . .  	NUMBER	0023	
ERROR_FILE_EXISTS  . . . . . . .  	NUMBER	0050	
ERROR_FILE_NOT_FOUND . . . . . .  	NUMBER	0002	
ERROR_GEN_FAILURE  . . . . . . .  	NUMBER	001F	
ERROR_HANDLE_DISK_FULL . . . . .  	NUMBER	0027	
ERROR_HANDLE_EOF . . . . . . . .  	NUMBER	0026	
ERROR_I24_BAD_COMMAND  . . . . .  	NUMBER	0003	
ERROR_I24_BAD_LENGTH . . . . . .  	NUMBER	0005	
ERROR_I24_BAD_UNIT . . . . . . .  	NUMBER	0001	
ERROR_I24_CRC  . . . . . . . . .  	NUMBER	0004	
ERROR_I24_GEN_FAILURE  . . . . .  	NUMBER	000C	
ERROR_I24_NOT_DOS_DISK . . . . .  	NUMBER	0007	
ERROR_I24_NOT_READY  . . . . . .  	NUMBER	0002	
ERROR_I24_OUT_OF_PAPER . . . . .  	NUMBER	0009	
ERROR_I24_READ_FAULT . . . . . .  	NUMBER	000B	
ERROR_I24_SECTOR_NOT_FOUND . . .  	NUMBER	0008	
ERROR_I24_SEEK . . . . . . . . .  	NUMBER	0006	
ERROR_I24_WRITE_FAULT  . . . . .  	NUMBER	000A	
ERROR_I24_WRITE_PROTECT  . . . .  	NUMBER	0000	
ERROR_I24_WRONG_DISK . . . . . .  	NUMBER	000F	
ERROR_INFO_NOT_SET . . . . . . .  	NUMBER	-0001	
ERROR_INVALID_ACCESS . . . . . .  	NUMBER	000C	
ERROR_INVALID_BLOCK  . . . . . .  	NUMBER	0009	
ERROR_INVALID_DATA . . . . . . .  	NUMBER	000D	
ERROR_INVALID_DRIVE  . . . . . .  	NUMBER	000F	
ERROR_INVALID_FUNCTION . . . . .  	NUMBER	0001	
ERROR_INVALID_HANDLE . . . . . .  	NUMBER	0006	
ERROR_INVALID_PARAMETER  . . . .  	NUMBER	0057	
ERROR_INVALID_PASSWORD . . . . .  	NUMBER	0056	
ERROR_LOCK_VIOLATION . . . . . .  	NUMBER	0021	
ERROR_NET_WRITE_FAULT  . . . . .  	NUMBER	0058	
ERROR_NOT_DOS_DISK . . . . . . .  	NUMBER	001A	
ERROR_NOT_ENOUGH_MEMORY  . . . .  	NUMBER	0008	
ERROR_NOT_READY  . . . . . . . .  	NUMBER	0015	
ERROR_NOT_SAME_DEVICE  . . . . .  	NUMBER	0011	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-13


ERROR_NOT_SUPPORTED  . . . . . .  	NUMBER	0032	
ERROR_NO_MORE_FILES  . . . . . .  	NUMBER	0012	
ERROR_OUT_OF_PAPER . . . . . . .  	NUMBER	001C	
ERROR_OUT_OF_STRUCTS . . . . . .  	NUMBER	0038	
ERROR_OUT_OF_STRUCTURES  . . . .  	NUMBER	0054	
ERROR_PATH_NOT_FOUND . . . . . .  	NUMBER	0003	
ERROR_READ_FAULT . . . . . . . .  	NUMBER	001E	
ERROR_SECTOR_NOT_FOUND . . . . .  	NUMBER	001B	
ERROR_SEEK . . . . . . . . . . .  	NUMBER	0019	
ERROR_SHARING_BUFFER_EXCEEDED  .  	NUMBER	0024	
ERROR_SHARING_VIOLATION  . . . .  	NUMBER	0020	
ERROR_SYS_COMP_NOT_LOADED  . . .  	NUMBER	005A	
ERROR_TOO_MANY_OPEN_FILES  . . .  	NUMBER	0004	
ERROR_WRITE_FAULT  . . . . . . .  	NUMBER	001D	
ERROR_WRITE_PROTECT  . . . . . .  	NUMBER	0013	
ERROR_WRONG_DISK . . . . . . . .  	NUMBER	0022	
EXEC . . . . . . . . . . . . . .  	NUMBER	004B	
EXEC_FUNC_NO_EXECUTE . . . . . .  	NUMBER	0001	
EXEC_FUNC_OVERLAY  . . . . . . .  	NUMBER	0002	
EXE_VALID_OLD_SIGNATURE  . . . .  	NUMBER	4D5A	
EXE_VALID_SIGNATURE  . . . . . .  	NUMBER	5A4D	
EXISTS_MASK  . . . . . . . . . .  	NUMBER	000F	
EXIST_ACT_FAIL . . . . . . . . .  	NUMBER	0000	
EXIST_ACT_OPEN . . . . . . . . .  	NUMBER	0001	
EXIST_ACT_REP_OPEN . . . . . . .  	NUMBER	0002	
EXIT . . . . . . . . . . . . . .  	NUMBER	004C	
EXIT_ABORT . . . . . . . . . . .  	NUMBER	0000	
EXIT_CTRL_C  . . . . . . . . . .  	NUMBER	0001	
EXIT_HARD_ERROR  . . . . . . . .  	NUMBER	0002	
EXIT_KEEP_PROCESS  . . . . . . .  	NUMBER	0003	
EXIT_TERMINATE . . . . . . . . .  	NUMBER	0000	
EXPECTED_VERSION . . . . . . . .  	NUMBER	0004	
EXTDRVR  . . . . . . . . . . . .  	NUMBER	0002	
EXTENTBIT  . . . . . . . . . . .  	NUMBER	0400	
EXTHANDLE  . . . . . . . . . . .  	NUMBER	0067	
EXTOPEN  . . . . . . . . . . . .  	NUMBER	006C	
EXT_ERR_39 . . . . . . . . . . .  	NUMBER	0027	
EXT_ERR_CLASS  . . . . . . . . .  	NUMBER	0001	
EXT_EXISTS_FAIL  . . . . . . . .  	NUMBER	0000	
EXT_EXISTS_OPEN  . . . . . . . .  	NUMBER	0001	
EXT_FILE_NOT_EXISTS  . . . . . .  	NUMBER	0004	
EXT_NEXISTS_CREATE . . . . . . .  	NUMBER	0010	
EXT_OPEN_I24_OFF . . . . . . . .  	NUMBER	0002	
EXT_OPEN_ON  . . . . . . . . . .  	NUMBER	0001	

FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
FARMSG . . . . . . . . . . . . .  	NUMBER	0000	
FARSW  . . . . . . . . . . . . .  	NUMBER	0000	
FCBDEVICE  . . . . . . . . . . .  	NUMBER	0040	
FCBMASK  . . . . . . . . . . . .  	NUMBER	00C0	
FCBNETWORK . . . . . . . . . . .  	NUMBER	0080	
FCBSHARE . . . . . . . . . . . .  	NUMBER	00C0	
FCBSPECIAL . . . . . . . . . . .  	NUMBER	0080	
FCB_CLOSE  . . . . . . . . . . .  	NUMBER	0010	
FCB_CREATE . . . . . . . . . . .  	NUMBER	0016	
FCB_DELETE . . . . . . . . . . .  	NUMBER	0013	
FCB_L_ATTR . . . . . . . . . . .  	BYTE	001E	
FCB_L_DRIVE  . . . . . . . . . .  	BYTE	0019	
FCB_L_FIRCLUS  . . . . . . . . .  	WORD	001A	
FCB_L_MFS  . . . . . . . . . . .  	WORD	001C	
FCB_NETID  . . . . . . . . . . .  	DWORD	001C	
FCB_NET_DRIVE  . . . . . . . . .  	BYTE	0019	
FCB_NET_HANDLE . . . . . . . . .  	WORD	001A	
FCB_NSLD_DRIVE . . . . . . . . .  	BYTE	0019	
FCB_NSLD_DRVPTR  . . . . . . . .  	DWORD	001A	
FCB_NSL_BITS . . . . . . . . . .  	BYTE	001A	
FCB_NSL_DIRPOS . . . . . . . . .  	BYTE	001F	
FCB_NSL_DIRSEC . . . . . . . . .  	WORD	001D	
FCB_NSL_DRIVE  . . . . . . . . .  	BYTE	0019	
FCB_NSL_FIRCLUS  . . . . . . . .  	WORD	001B	
FCB_OPEN . . . . . . . . . . . .  	NUMBER	000F	
FCB_RANDOM_READ  . . . . . . . .  	NUMBER	0021	
FCB_RANDOM_READ_BLOCK  . . . . .  	NUMBER	0027	
FCB_RANDOM_WRITE . . . . . . . .  	NUMBER	0022	
FCB_RANDOM_WRITE_BLOCK . . . . .  	NUMBER	0028	
FCB_RENAME . . . . . . . . . . .  	NUMBER	0017	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-14


FCB_SEQ_READ . . . . . . . . . .  	NUMBER	0014	
FCB_SEQ_WRITE  . . . . . . . . .  	NUMBER	0015	
FCB_SFN  . . . . . . . . . . . .  	BYTE	0018	
FCHK . . . . . . . . . . . . . .  	NUMBER	0001	
FDELIM . . . . . . . . . . . . .  	NUMBER	0002	
FFCB . . . . . . . . . . . . . .  	NUMBER	0008	
FILDIRENT  . . . . . . . . . . .  	NUMBER	0010	
FILESW . . . . . . . . . . . . .  	NUMBER	0000	
FILESYS_STATUS . . . . . . . . .  	NUMBER	1000	
FILE_CREATED . . . . . . . . . .  	NUMBER	0002	
FILE_OPENED  . . . . . . . . . .  	NUMBER	0001	
FILE_REPLACED  . . . . . . . . .  	NUMBER	0003	
FILE_TIMES . . . . . . . . . . .  	NUMBER	0057	
FILPERPROC . . . . . . . . . . .  	NUMBER	0014	
FIND_FIRST . . . . . . . . . . .  	NUMBER	004E	
FIND_NEXT  . . . . . . . . . . .  	NUMBER	004F	
FIND_SECTOR  . . . . . . . . . .  	NUMBER	0008	
FLUSH_DOS_BUFFERS  . . . . . . .  	NUMBER	000D	
FOO  . . . . . . . . . . . . . .  	L 0002	0021	IFSSEG
FORCE_I24_FAIL . . . . . . . . .  	NUMBER	0020	
FORMFD . . . . . . . . . . . . .  	NUMBER	000C	
FREE_DOS_BUFFER  . . . . . . . .  	NUMBER	000C	
FROM_DISK_RESET  . . . . . . . .  	NUMBER	0004	
FROM_DOS_WRITE . . . . . . . . .  	NUMBER	0010	
FROM_STRING_OUTPUT . . . . . . .  	NUMBER	0008	
FSPCHK . . . . . . . . . . . . .  	NUMBER	0004	
FS_DRIVER_NOT_FOUND  . . . . . .  	NUMBER	0043	
FUNC_CLOSE . . . . . . . . . . .  	NUMBER	0000	
FUNC_COMMIT  . . . . . . . . . .  	NUMBER	0001	
FUNC_FLUSH . . . . . . . . . . .  	NUMBER	0000	
FUNC_FLUSH_INVALIDATE  . . . . .  	NUMBER	0001	
FUNC_GET_BY_HANDLE . . . . . . .  	NUMBER	0000	
FUNC_GET_BY_NAME . . . . . . . .  	NUMBER	0002	
FUNC_LOCK  . . . . . . . . . . .  	NUMBER	0000	
FUNC_SET_BY_HANDLE . . . . . . .  	NUMBER	0001	
FUNC_SET_BY_NAME . . . . . . . .  	NUMBER	0003	
FUNC_UNLOCK  . . . . . . . . . .  	NUMBER	0001	
F_AUX  . . . . . . . . . . . . .  	NUMBER	0010	
F_CARRY  . . . . . . . . . . . .  	NUMBER	0001	
F_DIRECTION  . . . . . . . . . .  	NUMBER	0400	
F_INTERRUPT  . . . . . . . . . .  	NUMBER	0200	
F_OVERFLOW . . . . . . . . . . .  	NUMBER	0800	
F_PARITY . . . . . . . . . . . .  	NUMBER	0004	
F_SIGN . . . . . . . . . . . . .  	NUMBER	0080	
F_TRACE  . . . . . . . . . . . .  	NUMBER	0100	
F_ZERO . . . . . . . . . . . . .  	NUMBER	0040	

GENIOCTL . . . . . . . . . . . .  	NUMBER	0013	
GEN_IOCTL_BY_DEVNUM  . . . . . .  	NUMBER	0000	
GEN_IOCTL_BY_HANDLE  . . . . . .  	NUMBER	0001	
GEN_IOCTL_FN_TST . . . . . . . .  	NUMBER	0020	
GEN_IOCTL_RD_TRK . . . . . . . .  	NUMBER	0060	
GEN_IOCTL_WRT_TRK  . . . . . . .  	NUMBER	0040	
GETCURRENTPSP  . . . . . . . . .  	NUMBER	0062	
GETEXTCNTRY  . . . . . . . . . .  	NUMBER	0065	
GETEXTENDEDERROR . . . . . . . .  	NUMBER	0059	
GetIFSFCSinES  . . . . . . . . .  	N PROC	000F	IFSSEG	Global	Length = 0003
GETMSG . . . . . . . . . . . . .  	NUMBER	0000	
GETSETCDPG . . . . . . . . . . .  	NUMBER	0066	
GETSETMEDIAID  . . . . . . . . .  	NUMBER	0069	
GET_ASSIGN_LIST  . . . . . . . .  	NUMBER	0002	
GET_ASSIGN_MODE  . . . . . . . .  	NUMBER	0021	
GET_CURRENT_PDB  . . . . . . . .  	NUMBER	0051	
GET_DATE . . . . . . . . . . . .  	NUMBER	002A	
GET_DEFAULT_DPB  . . . . . . . .  	NUMBER	001F	
GET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	0019	
GET_DMA  . . . . . . . . . . . .  	NUMBER	002F	
GET_DOS_VALUE  . . . . . . . . .  	NUMBER	0020	
GET_DPB  . . . . . . . . . . . .  	NUMBER	0032	
GET_DRIVE_FREESPACE  . . . . . .  	NUMBER	0036	
GET_FCB_FILE_LENGTH  . . . . . .  	NUMBER	0023	
GET_FCB_POSITION . . . . . . . .  	NUMBER	0024	
GET_INDOS_FLAG . . . . . . . . .  	NUMBER	0034	
GET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0035	
GET_IN_VAR . . . . . . . . . . .  	NUMBER	0052	
GET_IN_VARS  . . . . . . . . . .  	NUMBER	0052	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-15


GET_MODE . . . . . . . . . . . .  	NUMBER	0000	
GET_TIME . . . . . . . . . . . .  	NUMBER	002C	
GET_TRUNCATE_FLAG  . . . . . . .  	NUMBER	0007	
GET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	0054	
GET_VERSION  . . . . . . . . . .  	NUMBER	0030	

HANDLE_FAIL_I24  . . . . . . . .  	NUMBER	0100	
HOME . . . . . . . . . . . . . .  	NUMBER	000B	
HONGEUL  . . . . . . . . . . . .  	NUMBER	0063	

I24_AREA . . . . . . . . . . . .  	NUMBER	0006	
I24_CLASS  . . . . . . . . . . .  	NUMBER	0080	
I24_OPERATION  . . . . . . . . .  	NUMBER	0001	
I24_RESP_IGNORE  . . . . . . . .  	NUMBER	0000	
I24_RESP_RETRY . . . . . . . . .  	NUMBER	0001	
I2F5_MSGRET  . . . . . . . . . .  	NUMBER	0002	
IBM  . . . . . . . . . . . . . .  	ALIAS	 IBMVER		
IBMCOPYRIGHT . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPAN . . . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPVER  . . . . . . . . . . .  	ALIAS	 FALSE		
IBMVER . . . . . . . . . . . . .  	ALIAS	 TRUE		
ICOLON . . . . . . . . . . . . .  	NUMBER	003A	
IDispatch  . . . . . . . . . . .  	N PROC	002E	IFSSEG	Global	Length = 00A3
IFSATTEND  . . . . . . . . . . .  	NUMBER	0004	
IFSATTSTART  . . . . . . . . . .  	NUMBER	0002	
IFSATTSTAT . . . . . . . . . . .  	NUMBER	0003	
IFSCHDIR . . . . . . . . . . . .  	NUMBER	0005	
IFSCLOSEFILE . . . . . . . . . .  	NUMBER	000E	
IFSCRITMSG . . . . . . . . . . .  	NUMBER	0006	
IFSDELFILE . . . . . . . . . . .  	NUMBER	0006	
IFSDEPIOCTL  . . . . . . . . . .  	NUMBER	0010	
IFSDEVICE  . . . . . . . . . . .  	NUMBER	8000	
IFSDEVIOCTL  . . . . . . . . . .  	NUMBER	0011	
IFSDISK  . . . . . . . . . . . .  	NUMBER	4000	
IFSDISKATTR  . . . . . . . . . .  	NUMBER	0002	
IFSDRIVERESET  . . . . . . . . .  	NUMBER	0001	
IFSEOCID . . . . . . . . . . . .  	NUMBER	0013	
IFSEOP . . . . . . . . . . . . .  	NUMBER	0012	
IFSEXECAPI . . . . . . . . . . .  	NUMBER	0005	
IFSFILEATTR  . . . . . . . . . .  	NUMBER	000F	
IFSFILTER  . . . . . . . . . . .  	NUMBER	0400	
IFSFINIT . . . . . . . . . . . .  	N PROC	042B	IFSSEG	Global	Length = 006D
IFSFINSTALLED  . . . . . . . . .  	NUMBER	00FF	
IFSFlushBuf  . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFSFUNCINIT  . . . . . . . . . .  	L NEAR	144D	IFSSEG
IFSFUNC_FLAGS  . . . . . . . . .  	V WORD	0000	IFSSEG	External
IFSFUNC_INSTALLED  . . . . . . .  	NUMBER	00FF	
IFSFUNC_INSTALL_CHECK  . . . . .  	NUMBER	0500	
IFSF_K1  . . . . . . . . . . . .  	L WORD	04CC	IFSSEG
IFSF_K1_VAL  . . . . . . . . . .  	L BYTE	04DC	IFSSEG
IFSF_NM  . . . . . . . . . . . .  	L BYTE	04EB	IFSSEG
IFSF_PARMS . . . . . . . . . . .  	L WORD	04C3	IFSSEG
IFSF_PARMSX  . . . . . . . . . .  	L BYTE	04C6	IFSSEG
IFSF_RESULT  . . . . . . . . . .  	L BYTE	04E7	IFSSEG
IFSF_TAG . . . . . . . . . . . .  	L BYTE	04E8	IFSSEG
IFSINIT  . . . . . . . . . . . .  	NUMBER	0001	
IFSINSTALL . . . . . . . . . . .  	L NEAR	00C9	IFSSEG
IFSIOCTL . . . . . . . . . . . .  	NUMBER	0002	
IFSLOCKFILE  . . . . . . . . . .  	NUMBER	000D	
IFSLSEEKFILE . . . . . . . . . .  	NUMBER	000A	
IFSMKDIR . . . . . . . . . . . .  	NUMBER	0003	
IFSOPENFILE  . . . . . . . . . .  	NUMBER	0009	
IFSPROC_FLAGS  . . . . . . . . .  	V WORD	0000	IFSSEG	External
IFSR . . . . . . . . . . . . . .  	V WORD	0000	IFSSEG	External
IFSREADFILE  . . . . . . . . . .  	NUMBER	000B	
IFSREMOTE  . . . . . . . . . . .  	NUMBER	0800	
IFSRENFILE . . . . . . . . . . .  	NUMBER	0007	
IFSRMDIR . . . . . . . . . . . .  	NUMBER	0004	
IFSR_ACCESS_DENIED . . . . . . .  	NUMBER	0003	
IFSR_BAD_FORMAT  . . . . . . . .  	NUMBER	-0001	
IFSR_DEVICE_CB@  . . . . . . . .  	DWORD	001C	
IFSR_DEVICE_ERROR  . . . . . . .  	NUMBER	0004	
IFSR_DEVICE_TYPE_MISMATCH  . . .  	NUMBER	0004	
IFSR_DRIVER_ERROR  . . . . . . .  	NUMBER	0002	
IFSR_INT21H_CRITER . . . . . . .  	NUMBER	0003	
IFSR_INT21H_ERROR  . . . . . . .  	NUMBER	0001	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-16


IFSR_NONSPEC_ERROR . . . . . . .  	NUMBER	0001	
IFSR_NOT_FOUND_ERROR . . . . . .  	NUMBER	0002	
IFSR_NO_ERROR  . . . . . . . . .  	NUMBER	0000	
IFSR_NO_FCN_SUPPORT  . . . . . .  	NUMBER	-0001	
IFSR_NO_SUBFCN_SUPPORT . . . . .  	NUMBER	-0002	
IFSR_PARMS@  . . . . . . . . . .  	DWORD	0018	
IFSR_TYPE  . . . . . . . . . . .  	BYTE	0016	
IFSR_USER_WORD . . . . . . . . .  	WORD	0020	
IFSSEARCHFILE  . . . . . . . . .  	NUMBER	0008	
IFSSEARCH_FIRST  . . . . . . . .  	NUMBER	0001	
IFSSEARCH_NEXT . . . . . . . . .  	NUMBER	0002	
IFSSEM . . . . . . . . . . . . .  	V BYTE	0000	IFSSEG	External
IFSTABLE . . . . . . . . . . . .  	L WORD	0067	IFSSEG
IFSUNC . . . . . . . . . . . . .  	NUMBER	2000	
IFSUPDATECB  . . . . . . . . . .  	NUMBER	0007	
IFSUSESHARE  . . . . . . . . . .  	NUMBER	0001	
IFSWRITEFILE . . . . . . . . . .  	NUMBER	000C	
IFS_ABORT  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_ABSRW  . . . . . . . . . . .  	NUMBER	0001	
IFS_ASSOPER  . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_ATTRS  . . . . . . . . . . .  	V WORD	0000	IFSSEG	External
IFS_CHDIR  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_CLOSE  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_COMMIT . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_CREATE . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DELETE . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DEPENDENT_IOCTL  . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DEVICE_CHECK . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DEVICE_CLOSE . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DEVICE_OPER  . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DISK_INFO  . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_DRIVE_RESET  . . . . . . . .  	NUMBER	0002	
IFS_FILE_XATTRIBUTES . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_GET_ERR_TEXT . . . . . . . .  	NUMBER	0502	
IFS_GET_FILE_INFO  . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_IOCTL  . . . . . . . . . . .  	NUMBER	006B	
IFS_LSEEK  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_MKDIR  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_OPEN . . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_READ . . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_RENAME . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_RESET_ENVIRONMENT  . . . . .  	L NEAR	0000	IFSSEG	External
IFS_RMDIR  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEARCH_FIRST . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEARCH_NEXT  . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_CREATE . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_DELETE . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_GET_FILE_INFO  . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_MKDIR  . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_OPEN . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_RENAME . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_RMDIR  . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_SEARCH_FIRST . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_SEARCH_NEXT  . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SEQ_SET_FILE_ATTRIBUTE . . .  	L NEAR	0000	IFSSEG	External
IFS_SET_FILE_ATTRIBUTE . . . . .  	L NEAR	0000	IFSSEG	External
IFS_SPOOL_ECHO_CHECK . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_UPDATE_CB  . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_WRITE  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_XLOCK  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IFS_XOPEN  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
IF_20  . . . . . . . . . . . . .  	L NEAR	0495	IFSSEG
IF_40  . . . . . . . . . . . . .  	L NEAR	0103	IFSSEG
IF_50  . . . . . . . . . . . . .  	L NEAR	0140	IFSSEG
IF_55  . . . . . . . . . . . . .  	L NEAR	0146	IFSSEG
IF_60  . . . . . . . . . . . . .  	L NEAR	0172	IFSSEG
IF_80  . . . . . . . . . . . . .  	L NEAR	0189	IFSSEG
INCSW  . . . . . . . . . . . . .  	NUMBER	0001	
INPUTMSG . . . . . . . . . . . .  	NUMBER	0000	
INSTALLED  . . . . . . . . . . .  	NUMBER	FFFF	
INSTALLEDDATA  . . . . . . . . .  	NUMBER	0000	
INT2F  . . . . . . . . . . . . .  	F PROC	0023	IFSSEG	Length = 000B
INTBASE  . . . . . . . . . . . .  	NUMBER	0080	
INTERNAT . . . . . . . . . . . .  	ALIAS	 FALSE		
INTERNATIONAL  . . . . . . . . .  	NUMBER	0038	
INTERNAT_BLOCK_MAX . . . . . . .  	NUMBER	0020	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-17


INTERR . . . . . . . . . . . . .  	L NEAR	0101	IFSSEG
INTERRL  . . . . . . . . . . . .  	L NEAR	0101	IFSSEG
INTTAB . . . . . . . . . . . . .  	NUMBER	0020	
INT_23 . . . . . . . . . . . . .  	L NEAR	03C4	IFSSEG
INT_24 . . . . . . . . . . . . .  	L NEAR	03C2	IFSSEG
INT_24_ERROR . . . . . . . . . .  	NUMBER	2000	
INT_2F_5 . . . . . . . . . . . .  	V BYTE	0000	IFSSEG	External
INT_ABORT  . . . . . . . . . . .  	ALIAS	 INTTAB		
INT_COMMAND  . . . . . . . . . .  	NUMBER	0021	
INT_CTRL_C . . . . . . . . . . .  	NUMBER	0023	
INT_DISK_READ  . . . . . . . . .  	NUMBER	0025	
INT_DISK_WRITE . . . . . . . . .  	NUMBER	0026	
INT_FASTCON  . . . . . . . . . .  	NUMBER	0029	
INT_FATAL_ABORT  . . . . . . . .  	NUMBER	0024	
INT_IBM  . . . . . . . . . . . .  	NUMBER	002A	
INT_KEEP_PROCESS . . . . . . . .  	NUMBER	0027	
INT_SPOOLER  . . . . . . . . . .  	NUMBER	0028	
INT_TERMINATE  . . . . . . . . .  	NUMBER	0022	
IOCTL  . . . . . . . . . . . . .  	NUMBER	0044	
IO_MODE_ID . . . . . . . . . . .  	NUMBER	0002	
ISCDS  . . . . . . . . . . . . .  	NUMBER	0080	
ISCIN  . . . . . . . . . . . . .  	NUMBER	0001	
ISCLOCK  . . . . . . . . . . . .  	NUMBER	0008	
ISCLOSE  . . . . . . . . . . . .  	NUMBER	0010	
ISCOUT . . . . . . . . . . . . .  	NUMBER	0002	
ISCREATE . . . . . . . . . . . .  	NUMBER	8000	
ISCRITIFS  . . . . . . . . . . .  	NUMBER	0002	
ISCTLFCN . . . . . . . . . . . .  	NUMBER	0001	
ISDUMMYCDS . . . . . . . . . . .  	NUMBER	0200	
ISFATBYDEV . . . . . . . . . . .  	NUMBER	2000	
ISGET  . . . . . . . . . . . . .  	NUMBER	0010	
ISINIT . . . . . . . . . . . . .  	NUMBER	2000	
ISMSGRET . . . . . . . . . . . .  	NUMBER	8000	
ISNET  . . . . . . . . . . . . .  	NUMBER	1000	
ISNETWORK  . . . . . . . . . . .  	NUMBER	0400	
ISNULL . . . . . . . . . . . . .  	NUMBER	0004	
ISOLDCREATE  . . . . . . . . . .  	NUMBER	0008	
ISOLDOPEN  . . . . . . . . . . .  	NUMBER	0010	
ISREN  . . . . . . . . . . . . .  	NUMBER	0010	
ISRESETENVIRN  . . . . . . . . .  	NUMBER	4000	
ISSEQ  . . . . . . . . . . . . .  	NUMBER	0020	
ISSFT  . . . . . . . . . . . . .  	NUMBER	0040	
ISSHARE  . . . . . . . . . . . .  	NUMBER	0080	
ISSPEC . . . . . . . . . . . . .  	NUMBER	0010	
I_140  . . . . . . . . . . . . .  	L NEAR	14DC	IFSSEG
I_160  . . . . . . . . . . . . .  	L NEAR	14E2	IFSSEG
I_180  . . . . . . . . . . . . .  	L NEAR	14F5	IFSSEG
I_20 . . . . . . . . . . . . . .  	L NEAR	1471	IFSSEG
I_200  . . . . . . . . . . . . .  	L NEAR	14FB	IFSSEG
I_220  . . . . . . . . . . . . .  	L NEAR	1505	IFSSEG
I_240  . . . . . . . . . . . . .  	L NEAR	150A	IFSSEG
I_260  . . . . . . . . . . . . .  	L NEAR	1514	IFSSEG
I_280  . . . . . . . . . . . . .  	L NEAR	1519	IFSSEG
I_30 . . . . . . . . . . . . . .  	L NEAR	1487	IFSSEG
I_300  . . . . . . . . . . . . .  	L NEAR	1522	IFSSEG
I_320  . . . . . . . . . . . . .  	L NEAR	1526	IFSSEG
I_340  . . . . . . . . . . . . .  	L NEAR	152F	IFSSEG
I_360  . . . . . . . . . . . . .  	L NEAR	1533	IFSSEG
I_380  . . . . . . . . . . . . .  	L NEAR	153C	IFSSEG
I_40 . . . . . . . . . . . . . .  	L NEAR	148B	IFSSEG
I_402  . . . . . . . . . . . . .  	L NEAR	154F	IFSSEG
I_403  . . . . . . . . . . . . .  	L NEAR	1556	IFSSEG
I_404  . . . . . . . . . . . . .  	L NEAR	1556	IFSSEG
I_410  . . . . . . . . . . . . .  	L NEAR	157A	IFSSEG
I_415  . . . . . . . . . . . . .  	L NEAR	1581	IFSSEG
I_417  . . . . . . . . . . . . .  	L NEAR	1587	IFSSEG
I_420  . . . . . . . . . . . . .  	L NEAR	15A3	IFSSEG
I_440  . . . . . . . . . . . . .  	L NEAR	15AA	IFSSEG
I_460  . . . . . . . . . . . . .  	L NEAR	15B4	IFSSEG
I_480  . . . . . . . . . . . . .  	L NEAR	15B9	IFSSEG
I_500  . . . . . . . . . . . . .  	L NEAR	15C3	IFSSEG
I_520  . . . . . . . . . . . . .  	L NEAR	15C8	IFSSEG
I_540  . . . . . . . . . . . . .  	L NEAR	15D1	IFSSEG
I_560  . . . . . . . . . . . . .  	L NEAR	15D5	IFSSEG
I_580  . . . . . . . . . . . . .  	L NEAR	15DE	IFSSEG
I_60 . . . . . . . . . . . . . .  	L NEAR	149A	IFSSEG
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-18


I_600  . . . . . . . . . . . . .  	L NEAR	15E2	IFSSEG
I_620  . . . . . . . . . . . . .  	L NEAR	15EB	IFSSEG
I_640  . . . . . . . . . . . . .  	L NEAR	15F0	IFSSEG
I_660  . . . . . . . . . . . . .  	L NEAR	15F1	IFSSEG
I_70 . . . . . . . . . . . . . .  	L NEAR	14B9	IFSSEG
I_700  . . . . . . . . . . . . .  	L NEAR	03C5	IFSSEG
I_720  . . . . . . . . . . . . .  	L NEAR	03DF	IFSSEG
I_760  . . . . . . . . . . . . .  	L NEAR	03FE	IFSSEG
I_780  . . . . . . . . . . . . .  	L NEAR	040B	IFSSEG
I_800  . . . . . . . . . . . . .  	L NEAR	040C	IFSSEG

JAPAN  . . . . . . . . . . . . .  	ALIAS	 FALSE		

KANJI  . . . . . . . . . . . . .  	ALIAS	 FALSE		
KeepCount  . . . . . . . . . . .  	V WORD	0000	DATA	External
KEEP_PROCESS . . . . . . . . . .  	NUMBER	0031	
KEYSW  . . . . . . . . . . . . .  	NUMBER	0001	
KOREA  . . . . . . . . . . . . .  	ALIAS	 FALSE		

LcritIFS . . . . . . . . . . . .  	N PROC	00F5	IFSSEG	Global	Length = 000C
LcritNet . . . . . . . . . . . .  	N PROC	00DD	IFSSEG	Global	Length = 000C
LEAVE2F  . . . . . . . . . . . .  	L NEAR	002D	IFSSEG
LEFT_ALIGN . . . . . . . . . . .  	NUMBER	0000	
LENGTH_ATTSTART  . . . . . . . .  	NUMBER	0022	
LENGTH_DEVECHOCHECK_BUFFER . . .  	NUMBER	0001	
LF . . . . . . . . . . . . . . .  	NUMBER	000A	
LFEOLSW  . . . . . . . . . . . .  	NUMBER	0001	
LOADMSG  . . . . . . . . . . . .  	NUMBER	0000	
LOCKOPER . . . . . . . . . . . .  	NUMBER	005C	
LOCUS_39 . . . . . . . . . . . .  	NUMBER	0001	
LOWEST_4CH_VERSION . . . . . . .  	NUMBER	0002	
LOW_NIB_MASK . . . . . . . . . .  	NUMBER	000F	
LSEEK  . . . . . . . . . . . . .  	NUMBER	0042	

MACHINE_NAME . . . . . . . . . .  	NUMBER	0006	
MAJOR_VERSION  . . . . . . . . .  	NUMBER	0004	
MARK_SECTOR_CHANGED  . . . . . .  	NUMBER	0009	
MAXBUCKETINPAGE  . . . . . . . .  	NUMBER	0002	
MAXBUFFINBUCKET  . . . . . . . .  	NUMBER	000F	
MAX_PRE_STRING . . . . . . . . .  	NUMBER	0040	
MEMS . . . . . . . . . . . . . .  	NUMBER	0001	
MINOR_VERSION  . . . . . . . . .  	NUMBER	0000	
MINUS_ONE  . . . . . . . . . . .  	NUMBER	-0001	
MI_INT . . . . . . . . . . . . .  	NUMBER	00CD	
MI_LONG_CALL . . . . . . . . . .  	NUMBER	009A	
MI_LONG_JMP  . . . . . . . . . .  	NUMBER	00EA	
MI_LONG_RET  . . . . . . . . . .  	NUMBER	00CB	
MI_NEAR_RET  . . . . . . . . . .  	NUMBER	00C3	
MKDIR  . . . . . . . . . . . . .  	NUMBER	0039	
MODE2  . . . . . . . . . . . . .  	NUMBER	0002	
MR_ERRMSG_SEM  . . . . . . . . .  	NUMBER	0080	
MSGDATA  . . . . . . . . . . . .  	NUMBER	0000	
MSG_SER_CLASS  . . . . . . . . .  	NUMBER	0000	
MSNET_TIMING . . . . . . . . . .  	NUMBER	0000	
MSVER  . . . . . . . . . . . . .  	NUMBER	0000	
MULTDOS  . . . . . . . . . . . .  	NUMBER	0012	
MULTIFS  . . . . . . . . . . . .  	NUMBER	0011	
MULTNET  . . . . . . . . . . . .  	NUMBER	0011	
MULTSHARE  . . . . . . . . . . .  	NUMBER	0010	

NEARMSG  . . . . . . . . . . . .  	NUMBER	FFFF	
NET2DOS_DATE . . . . . . . . . .  	NUMBER	0023	
NETEND . . . . . . . . . . . . .  	L BYTE	042B	IFSSEG
NET_CALL_INT . . . . . . . . . .  	NUMBER	002A	
NEWFCBCACHE  . . . . . . . . . .  	L BYTE	03C1	IFSSEG
NEWKEEPVAL . . . . . . . . . . .  	NUMBER	0008	
NEWNUMFCB  . . . . . . . . . . .  	NUMBER	0010	
NEW_EXPECTED_VERSION . . . . . .  	NUMBER	2605	
NEW_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
NEW_MINOR_VERSION  . . . . . . .  	NUMBER	0026	
NEXT_2F_5  . . . . . . . . . . .  	V DWORD	0000	IFSSEG	External
NLSFUNC  . . . . . . . . . . . .  	NUMBER	0014	
NOCHECKSTDIN . . . . . . . . . .  	NUMBER	0000	
NOCHECKSTDOUT  . . . . . . . . .  	NUMBER	0000	
NOTEXIST_ACT_CREATE  . . . . . .  	NUMBER	0001	
NOTEXIST_ACT_FAIL  . . . . . . .  	NUMBER	0000	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-19


NOT_EXISTS_MASK  . . . . . . . .  	NUMBER	00F0	
NOT_EX_FAIL_EX_OPEN  . . . . . .  	NUMBER	0101	
NOVERCHECKMSG  . . . . . . . . .  	NUMBER	0000	
NO_CODE_PAGE_CHECK . . . . . . .  	NUMBER	0100	
NO_CRIT_OPEN . . . . . . . . . .  	NUMBER	2000	
NO_CTRL_BREAK_FLAG . . . . . . .  	NUMBER	FDFF	
NO_DISABLE_EOF_I24 . . . . . . .  	NUMBER	FFBF	
NO_FORCE_I24_FAIL  . . . . . . .  	NUMBER	FFDF	
NO_FROM_DISK_RESET . . . . . . .  	NUMBER	FFFB	
NO_FROM_DOS_WRITE  . . . . . . .  	NUMBER	FFEF	
NO_FROM_STRING_OUTPUT  . . . . .  	NUMBER	FFF7	
NO_HANDLE  . . . . . . . . . . .  	NUMBER	FFFF	
NO_IFS_ABSRW . . . . . . . . . .  	NUMBER	FFFE	
NO_IFS_DRIVERS . . . . . . . . .  	NUMBER	0040	
NO_IFS_DRIVE_RESET . . . . . . .  	NUMBER	FFFD	
NO_INPUT . . . . . . . . . . . .  	NUMBER	0000	
NO_REPLACE . . . . . . . . . . .  	NUMBER	0000	
NO_RETRY . . . . . . . . . . . .  	NUMBER	0000	
NULL . . . . . . . . . . . . . .  	NUMBER	0000	
NULL_PTR . . . . . . . . . . . .  	NUMBER	-0001	
NUMMSG . . . . . . . . . . . . .  	NUMBER	0000	
NUMSW  . . . . . . . . . . . . .  	NUMBER	0001	

OEM_C1 . . . . . . . . . . . . .  	NUMBER	00F9	
OEM_C2 . . . . . . . . . . . . .  	NUMBER	00FA	
OEM_C3 . . . . . . . . . . . . .  	NUMBER	00FB	
OEM_C4 . . . . . . . . . . . . .  	NUMBER	00FC	
OEM_C5 . . . . . . . . . . . . .  	NUMBER	00FD	
OEM_C6 . . . . . . . . . . . . .  	NUMBER	00FE	
OEM_C7 . . . . . . . . . . . . .  	NUMBER	00FF	
OLDCREATENEW_FLAG  . . . . . . .  	NUMBER	0010	
OLDCREATE_FLAG . . . . . . . . .  	NUMBER	0112	
OLDCREATE_MODE . . . . . . . . .  	NUMBER	0002	
OLDOPEN_FLAG . . . . . . . . . .  	NUMBER	0101	
OLDOPEN_MODE . . . . . . . . . .  	NUMBER	2180	
OPEN . . . . . . . . . . . . . .  	NUMBER	003D	
OPEN_FOR_BOTH  . . . . . . . . .  	NUMBER	0002	
OPEN_FOR_READ  . . . . . . . . .  	NUMBER	0000	
OPEN_FOR_WRITE . . . . . . . . .  	NUMBER	0001	
OUTTILBUSY . . . . . . . . . . .  	NUMBER	2000	
OWNHL  . . . . . . . . . . . . .  	NUMBER	000D	

PARSE_ERR_1  . . . . . . . . . .  	NUMBER	0001	
PARSE_ERR_10 . . . . . . . . . .  	NUMBER	000A	
PARSE_ERR_5  . . . . . . . . . .  	NUMBER	0005	
PARSE_ERR_6  . . . . . . . . . .  	NUMBER	0006	
PARSE_ERR_CLASS  . . . . . . . .  	NUMBER	0002	
PARSE_FILE_DESCRIPTOR  . . . . .  	NUMBER	0029	
PATHGEN  . . . . . . . . . . . .  	NUMBER	FFFF	
PATHPARSE  . . . . . . . . . . .  	NUMBER	0061	
PAUSE_MODE_OFF . . . . . . . . .  	NUMBER	0000	
PAUSE_MODE_ON  . . . . . . . . .  	NUMBER	0001	
PDB_APPEND . . . . . . . . . . .  	BYTE	003D	
PDB_INTERCON . . . . . . . . . .  	BYTE	003C	
PREP_IFSR  . . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
Printer_GETSET_STRING  . . . . .  	L NEAR	0000	IFSSEG	External
PRINTER_GET_FLAGS  . . . . . . .  	NUMBER	0005	
PRINTER_GET_STRING . . . . . . .  	NUMBER	0003	
PRINTER_SET_FLAGS  . . . . . . .  	NUMBER	0004	
PRINTER_SET_STRING . . . . . . .  	NUMBER	0002	
PRINT_ON . . . . . . . . . . . .  	NUMBER	0080	
PSDATA_SEG . . . . . . . . . . .  	ALIAS	 CS		

QUERY_OS_TYPE  . . . . . . . . .  	NUMBER	0002	
QUSSW  . . . . . . . . . . . . .  	NUMBER	0000	

RAW_CON_INPUT  . . . . . . . . .  	NUMBER	0007	
RAW_CON_IO . . . . . . . . . . .  	NUMBER	0006	
READ . . . . . . . . . . . . . .  	NUMBER	003F	
READ_DEVICE  . . . . . . . . . .  	NUMBER	0002	
READ_DOS_BUFFER  . . . . . . . .  	NUMBER	000B	
READ_SECTORS . . . . . . . . . .  	NUMBER	0002	
REDIRECTOR . . . . . . . . . . .  	NUMBER	FFFF	
REMHL  . . . . . . . . . . . . .  	NUMBER	000D	
RENAME . . . . . . . . . . . . .  	NUMBER	0056	
RESERVED . . . . . . . . . . . .  	NUMBER	0000	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-20


RESERVED_BITS_MASK . . . . . . .  	NUMBER	FE00	
RESET_ENVIRONMENT  . . . . . . .  	NUMBER	0002	
RETN1  . . . . . . . . . . . . .  	L DWORD	0017	IFSSEG
RETRY  . . . . . . . . . . . . .  	NUMBER	0001	
RET_L  . . . . . . . . . . . . .  	NEAR	181C	IFSSEG
RIGHT_ALIGN  . . . . . . . . . .  	NUMBER	0080	
RMDIR  . . . . . . . . . . . . .  	NUMBER	003A	
RODS_LABEL . . . . . . . . . . .  	V BYTE	0000	IFSSEG	External

SEARCH_FASTOPEN  . . . . . . . .  	NUMBER	0400	
SERVERCALL . . . . . . . . . . .  	NUMBER	005D	
SERVER_DOSCALL_CLOSEFILES_FOR_U   	L NEAR	0000	IFSSEG	External
SERVER_IFSFUNC_DATA_AREA . . . .  	L NEAR	0000	IFSSEG	External
SETBLOCK . . . . . . . . . . . .  	NUMBER	004A	
SETBP  . . . . . . . . . . . . .  	NUMBER	0800	
SETDEVICECB  . . . . . . . . . .  	NUMBER	0100	
SETDPB . . . . . . . . . . . . .  	NUMBER	0053	
SETSTDIO . . . . . . . . . . . .  	NUMBER	0000	
SET_CTRL_C_TRAPPING  . . . . . .  	NUMBER	0033	
SET_CURRENT_PDB  . . . . . . . .  	NUMBER	0050	
SET_DATE . . . . . . . . . . . .  	NUMBER	002B	
SET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	000E	
SET_DMA  . . . . . . . . . . . .  	NUMBER	001A	
SET_IFS_DOSCALL@ . . . . . . . .  	L NEAR	0000	IFSSEG	External
SET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0025	
SET_MODE . . . . . . . . . . . .  	NUMBER	0001	
SET_OEM_HANDLER  . . . . . . . .  	NUMBER	00F8	
SET_PRINTER_FLAG . . . . . . . .  	NUMBER	0064	
SET_TIME . . . . . . . . . . . .  	NUMBER	002D	
SET_TRUNCATE_FLAG  . . . . . . .  	NUMBER	0008	
SET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	002E	
SFF1 . . . . . . . . . . . . . .  	V WORD	0000	IFSSEG	External
SFF_CLOSE_NODATE . . . . . . . .  	NUMBER	4000	
SFF_DEVICE_RAW . . . . . . . . .  	NUMBER	0020	
SFF_FILECLEAN  . . . . . . . . .  	NUMBER	0040	
SFF_ISDEVICE . . . . . . . . . .  	NUMBER	0080	
SFF_ISFCB  . . . . . . . . . . .  	NUMBER	8000	
SFF_NET_SPOOL  . . . . . . . . .  	NUMBER	0800	
SFTFCB . . . . . . . . . . . . .  	V DWORD	0000	DATA	External
SF_BUSY  . . . . . . . . . . . .  	NUMBER	-0001	
SF_CLOSE_NODATE  . . . . . . . .  	NUMBER	4000	
SF_DEFAULT_NUMBER  . . . . . . .  	NUMBER	0005	
SF_FSDA  . . . . . . . . . . . .  	BYTE	0019	
SF_ISFCB . . . . . . . . . . . .  	NUMBER	8000	
SF_ISNET . . . . . . . . . . . .  	NUMBER	8000	
SF_LRU . . . . . . . . . . . . .  	WORD	0015	
SF_NETID . . . . . . . . . . . .  	BYTE	0019	
SF_NET_SPOOL . . . . . . . . . .  	NUMBER	0800	
SF_NO_INHERIT  . . . . . . . . .  	NUMBER	1000	
SF_OPENAGE . . . . . . . . . . .  	WORD	0017	
SF_PIPE  . . . . . . . . . . . .  	NUMBER	2000	
SF_SERIAL_ID . . . . . . . . . .  	WORD	000B	
SGN_BIN_BYTE . . . . . . . . . .  	NUMBER	0012	
SGN_BIN_DWORD  . . . . . . . . .  	NUMBER	0032	
SGN_BIN_TYPE . . . . . . . . . .  	NUMBER	0002	
SGN_BIN_WORD . . . . . . . . . .  	NUMBER	0022	
SHAREF . . . . . . . . . . . . .  	NUMBER	0000	
SHARE_RETRY_COUNT  . . . . . . .  	NUMBER	0008	
SHARING_COMPAT . . . . . . . . .  	NUMBER	0000	
SHARING_DENY_BOTH  . . . . . . .  	NUMBER	0010	
SHARING_DENY_NONE  . . . . . . .  	NUMBER	0040	
SHARING_DENY_READ  . . . . . . .  	NUMBER	0030	
SHARING_DENY_WRITE . . . . . . .  	NUMBER	0020	
SHARING_MASK . . . . . . . . . .  	NUMBER	00F0	
SHARING_NET_FCB  . . . . . . . .  	NUMBER	0070	
SHARING_NO_INHERIT . . . . . . .  	NUMBER	0080	
SHORTRETURN  . . . . . . . . . .  	L NEAR	0066	IFSSEG
STBUI  . . . . . . . . . . . . .  	NUMBER	0200	
STDAUX . . . . . . . . . . . . .  	NUMBER	0003	
STDERR . . . . . . . . . . . . .  	NUMBER	0002	
STDIN  . . . . . . . . . . . . .  	NUMBER	0000	
STDON  . . . . . . . . . . . . .  	NUMBER	0100	
STDOUT . . . . . . . . . . . . .  	NUMBER	0001	
STDPRN . . . . . . . . . . . . .  	NUMBER	0004	
STD_AUX_INPUT  . . . . . . . . .  	NUMBER	0003	
STD_AUX_OUTPUT . . . . . . . . .  	NUMBER	0004	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-21


STD_CON_INPUT  . . . . . . . . .  	NUMBER	0001	
STD_CON_INPUT_FLUSH  . . . . . .  	NUMBER	000C	
STD_CON_INPUT_NO_ECHO  . . . . .  	NUMBER	0008	
STD_CON_INPUT_STATUS . . . . . .  	NUMBER	000B	
STD_CON_OUTPUT . . . . . . . . .  	NUMBER	0002	
STD_CON_STRING_INPUT . . . . . .  	NUMBER	000A	
STD_CON_STRING_OUTPUT  . . . . .  	NUMBER	0009	
STD_PRINTER_OUTPUT . . . . . . .  	NUMBER	0005	
STECODE  . . . . . . . . . . . .  	NUMBER	00FF	
STERR  . . . . . . . . . . . . .  	NUMBER	8000	
SUBFUNC_EA . . . . . . . . . . .  	NUMBER	0002	
SUBFUNC_EA_NAMES . . . . . . . .  	NUMBER	0003	
SUBFUNC_INLINE . . . . . . . . .  	NUMBER	0000	
SUBLIST_LENGTH . . . . . . . . .  	NUMBER	000B	
SUB_IFSFUNC  . . . . . . . . . .  	L BYTE	04B4	IFSSEG
SUB_SHARE  . . . . . . . . . . .  	L BYTE	04BC	IFSSEG
SWSW . . . . . . . . . . . . . .  	NUMBER	0000	
SYSDISPMSG . . . . . . . . . . .  	N PROC	0F52	IFSSEG	Length = 0047
SYSGETMSG  . . . . . . . . . . .  	N PROC	027B	IFSSEG	Global	Length = 001C
SYSLOADMSG . . . . . . . . . . .  	N PROC	0DF2	IFSSEG	Length = 00A8
SYSPARSE . . . . . . . . . . . .  	N PROC	058E	IFSSEG	Length = 01BC
S_SIZE1  . . . . . . . . . . . .  	L BYTE	049E	IFSSEG
S_SIZE2  . . . . . . . . . . . .  	L BYTE	04A9	IFSSEG

TAB  . . . . . . . . . . . . . .  	NUMBER	0009	
TEMPBUF  . . . . . . . . . . . .  	L BYTE	0103	IFSSEG	Global
TEMPLEN  . . . . . . . . . . . .  	NUMBER	0086	
THISIFS  . . . . . . . . . . . .  	V DWORD	0000	IFSSEG	External
THISIFS_SET  . . . . . . . . . .  	NUMBER	0002	
TIMEMSG  . . . . . . . . . . . .  	NUMBER	0000	
TIMESW . . . . . . . . . . . . .  	NUMBER	0000	
TIME_24_TYPE . . . . . . . . . .  	NUMBER	0006	
TIME_CTY_TYPE  . . . . . . . . .  	NUMBER	0005	
TIME_HHMMSSHH_24 . . . . . . . .  	NUMBER	0026	
TIME_HHMMSSHH_CTY  . . . . . . .  	NUMBER	0025	
TIME_HHMMSS_24 . . . . . . . . .  	NUMBER	0016	
TIME_HHMMSS_CTY  . . . . . . . .  	NUMBER	0015	
TIME_HHMM_24 . . . . . . . . . .  	NUMBER	0006	
TIME_HHMM_CTY  . . . . . . . . .  	NUMBER	0005	
TOTALSIZE  . . . . . . . . . . .  	L WORD	03BF	IFSSEG
TOTSIZE  . . . . . . . . . . . .  	L BYTE	0009	IFSSEG	Global
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TRUEBYTE . . . . . . . . . . . .  	NUMBER	00FF	
TYPE0  . . . . . . . . . . . . .  	NUMBER	0000	
TYPE1  . . . . . . . . . . . . .  	NUMBER	0001	
TYPE_DEVICE  . . . . . . . . . .  	NUMBER	0001	
TYPE_DRIVE . . . . . . . . . . .  	NUMBER	0002	
TYPE_NET_DEVICE  . . . . . . . .  	NUMBER	0003	
TYPE_NET_DRIVE . . . . . . . . .  	NUMBER	0004	
TYPE_NONE  . . . . . . . . . . .  	NUMBER	0000	

UNC_FS_HDR . . . . . . . . . . .  	V DWORD	0000	IFSSEG	External
UNC_INSTALLED  . . . . . . . . .  	NUMBER	0080	
UNLINK . . . . . . . . . . . . .  	NUMBER	0041	
UNSGN_BIN_BYTE . . . . . . . . .  	NUMBER	0011	
UNSGN_BIN_DWORD  . . . . . . . .  	NUMBER	0031	
UNSGN_BIN_TYPE . . . . . . . . .  	NUMBER	0001	
UNSGN_BIN_WORD . . . . . . . . .  	NUMBER	0021	
UnusedFunc . . . . . . . . . . .  	N PROC	0012	IFSSEG	Global	Length = 0005
USEROPER . . . . . . . . . . . .  	NUMBER	005E	
USE_SYSTEM_TIMEDATE  . . . . . .  	NUMBER	0000	
USE_USER_TIMEDATE  . . . . . . .  	NUMBER	0001	
UTILITY_MSG_CLASS  . . . . . . .  	NUMBER	00FF	
UTIL_ERR_4 . . . . . . . . . . .  	NUMBER	0004	

VAL1SW . . . . . . . . . . . . .  	NUMBER	0001	
VAL2SW . . . . . . . . . . . . .  	NUMBER	0001	
VAL3SW . . . . . . . . . . . . .  	NUMBER	0000	
VERIFY_INFORMATION . . . . . . .  	NUMBER	0004	

WAITPROCESS  . . . . . . . . . .  	NUMBER	004D	
WRITE  . . . . . . . . . . . . .  	NUMBER	0040	
WRITE_DEVICE . . . . . . . . . .  	NUMBER	0003	
WRITE_DOS_BUFFER . . . . . . . .  	NUMBER	000A	
WRITE_SECTORS  . . . . . . . . .  	NUMBER	0003	

Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-22


X25_SPECIAL  . . . . . . . . . .  	NUMBER	0800	
XDUP . . . . . . . . . . . . . .  	NUMBER	0045	
XDUP2  . . . . . . . . . . . . .  	NUMBER	0046	
XNAMETRANS . . . . . . . . . . .  	NUMBER	0060	

ZERO . . . . . . . . . . . . . .  	NUMBER	0000	

$MDO123  . . . . . . . . . . . .  	L NEAR	0FFA	IFSSEG
$MDO139  . . . . . . . . . . . .  	L NEAR	1063	IFSSEG
$MDO145  . . . . . . . . . . . .  	L NEAR	1086	IFSSEG
$MDO165  . . . . . . . . . . . .  	L NEAR	10EE	IFSSEG
$MDO167  . . . . . . . . . . . .  	L NEAR	10F8	IFSSEG
$MDO175  . . . . . . . . . . . .  	L NEAR	1125	IFSSEG
$MDO215  . . . . . . . . . . . .  	L NEAR	11DC	IFSSEG
$MDO280  . . . . . . . . . . . .  	L NEAR	1233	IFSSEG
$MDO291  . . . . . . . . . . . .  	L NEAR	125F	IFSSEG
$MDO301  . . . . . . . . . . . .  	L NEAR	128E	IFSSEG
$MDO310  . . . . . . . . . . . .  	L NEAR	12B5	IFSSEG
$MDO321  . . . . . . . . . . . .  	L NEAR	12F8	IFSSEG
$MDO36 . . . . . . . . . . . . .  	L NEAR	029D	IFSSEG
$MDO76 . . . . . . . . . . . . .  	L NEAR	0385	IFSSEG
$MEN104  . . . . . . . . . . . .  	L NEAR	0F98	IFSSEG
$MEN107  . . . . . . . . . . . .  	L NEAR	0FAE	IFSSEG
$MEN110  . . . . . . . . . . . .  	L NEAR	0FCF	IFSSEG
$MEN119  . . . . . . . . . . . .  	L NEAR	1007	IFSSEG
$MEN123  . . . . . . . . . . . .  	L NEAR	1007	IFSSEG
$MEN128  . . . . . . . . . . . .  	L NEAR	1036	IFSSEG
$MEN139  . . . . . . . . . . . .  	L NEAR	107A	IFSSEG
$MEN145  . . . . . . . . . . . .  	L NEAR	10E4	IFSSEG
$MEN146  . . . . . . . . . . . .  	L NEAR	109E	IFSSEG
$MEN150  . . . . . . . . . . . .  	L NEAR	10DF	IFSSEG
$MEN154  . . . . . . . . . . . .  	L NEAR	10DF	IFSSEG
$MEN165  . . . . . . . . . . . .  	L NEAR	11C4	IFSSEG
$MEN167  . . . . . . . . . . . .  	L NEAR	1115	IFSSEG
$MEN175  . . . . . . . . . . . .  	L NEAR	113E	IFSSEG
$MEN180  . . . . . . . . . . . .  	L NEAR	1151	IFSSEG
$MEN187  . . . . . . . . . . . .  	L NEAR	1184	IFSSEG
$MEN188  . . . . . . . . . . . .  	L NEAR	1172	IFSSEG
$MEN192  . . . . . . . . . . . .  	L NEAR	1184	IFSSEG
$MEN199  . . . . . . . . . . . .  	L NEAR	11AA	IFSSEG
$MEN20 . . . . . . . . . . . . .  	L NEAR	0E99	IFSSEG
$MEN200  . . . . . . . . . . . .  	L NEAR	11A2	IFSSEG
$MEN211  . . . . . . . . . . . .  	L NEAR	11B7	IFSSEG
$MEN25 . . . . . . . . . . . . .  	L NEAR	0F51	IFSSEG
$MEN27 . . . . . . . . . . . . .  	L NEAR	0F46	IFSSEG
$MEN292  . . . . . . . . . . . .  	L NEAR	1272	IFSSEG
$MEN307  . . . . . . . . . . . .  	L NEAR	12BE	IFSSEG
$MEN314  . . . . . . . . . . . .  	L NEAR	12DE	IFSSEG
$MEN317  . . . . . . . . . . . .  	L NEAR	1305	IFSSEG
$MEN32 . . . . . . . . . . . . .  	L NEAR	0290	IFSSEG
$MEN321  . . . . . . . . . . . .  	L NEAR	1303	IFSSEG
$MEN36 . . . . . . . . . . . . .  	L NEAR	02FE	IFSSEG
$MEN37 . . . . . . . . . . . . .  	L NEAR	02CF	IFSSEG
$MEN39 . . . . . . . . . . . . .  	L NEAR	02CF	IFSSEG
$MEN41 . . . . . . . . . . . . .  	L NEAR	02CF	IFSSEG
$MEN46 . . . . . . . . . . . . .  	L NEAR	02F6	IFSSEG
$MEN47 . . . . . . . . . . . . .  	L NEAR	02E8	IFSSEG
$MEN57 . . . . . . . . . . . . .  	L NEAR	031E	IFSSEG
$MEN60 . . . . . . . . . . . . .  	L NEAR	032B	IFSSEG
$MEN64 . . . . . . . . . . . . .  	L NEAR	0382	IFSSEG
$MEN65 . . . . . . . . . . . . .  	L NEAR	0366	IFSSEG
$MEN69 . . . . . . . . . . . . .  	L NEAR	037E	IFSSEG
$MEN76 . . . . . . . . . . . . .  	L NEAR	03A2	IFSSEG
$MEN78 . . . . . . . . . . . . .  	L NEAR	0396	IFSSEG
$MEN93 . . . . . . . . . . . . .  	L NEAR	0F8C	IFSSEG
$MEN94 . . . . . . . . . . . . .  	L NEAR	0F78	IFSSEG
$MEN97 . . . . . . . . . . . . .  	L NEAR	0F86	IFSSEG
$MIF104  . . . . . . . . . . . .  	L NEAR	0F94	IFSSEG
$MIF107  . . . . . . . . . . . .  	L NEAR	0FAB	IFSSEG
$MIF110  . . . . . . . . . . . .  	L NEAR	0FBF	IFSSEG
$MIF112  . . . . . . . . . . . .  	L NEAR	0FCF	IFSSEG
$MIF113  . . . . . . . . . . . .  	L NEAR	0FCF	IFSSEG
$MIF117  . . . . . . . . . . . .  	L NEAR	0FD4	IFSSEG
$MIF119  . . . . . . . . . . . .  	L NEAR	0FF8	IFSSEG
$MIF120  . . . . . . . . . . . .  	L NEAR	0FF6	IFSSEG
$MIF127  . . . . . . . . . . . .  	L NEAR	1037	IFSSEG
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-23


$MIF128  . . . . . . . . . . . .  	L NEAR	1034	IFSSEG
$MIF129  . . . . . . . . . . . .  	L NEAR	1032	IFSSEG
$MIF134  . . . . . . . . . . . .  	L NEAR	1057	IFSSEG
$MIF135  . . . . . . . . . . . .  	L NEAR	1057	IFSSEG
$MIF138  . . . . . . . . . . . .  	L NEAR	107A	IFSSEG
$MIF141  . . . . . . . . . . . .  	L NEAR	1076	IFSSEG
$MIF146  . . . . . . . . . . . .  	L NEAR	109B	IFSSEG
$MIF150  . . . . . . . . . . . .  	L NEAR	10BB	IFSSEG
$MIF151  . . . . . . . . . . . .  	L NEAR	10B9	IFSSEG
$MIF154  . . . . . . . . . . . .  	L NEAR	10CE	IFSSEG
$MIF155  . . . . . . . . . . . .  	L NEAR	10CC	IFSSEG
$MIF158  . . . . . . . . . . . .  	L NEAR	10DF	IFSSEG
$MIF159  . . . . . . . . . . . .  	L NEAR	10DF	IFSSEG
$MIF166  . . . . . . . . . . . .  	L NEAR	1115	IFSSEG
$MIF169  . . . . . . . . . . . .  	L NEAR	1110	IFSSEG
$MIF173  . . . . . . . . . . . .  	L NEAR	1151	IFSSEG
$MIF174  . . . . . . . . . . . .  	L NEAR	1151	IFSSEG
$MIF175  . . . . . . . . . . . .  	L NEAR	1132	IFSSEG
$MIF180  . . . . . . . . . . . .  	L NEAR	114E	IFSSEG
$MIF187  . . . . . . . . . . . .  	L NEAR	1174	IFSSEG
$MIF188  . . . . . . . . . . . .  	L NEAR	1171	IFSSEG
$MIF192  . . . . . . . . . . . .  	L NEAR	117B	IFSSEG
$MIF194  . . . . . . . . . . . .  	L NEAR	1182	IFSSEG
$MIF199  . . . . . . . . . . . .  	L NEAR	11A7	IFSSEG
$MIF20 . . . . . . . . . . . . .  	L NEAR	0E95	IFSSEG
$MIF200  . . . . . . . . . . . .  	L NEAR	11A2	IFSSEG
$MIF211  . . . . . . . . . . . .  	L NEAR	11B3	IFSSEG
$MIF216  . . . . . . . . . . . .  	L NEAR	11EB	IFSSEG
$MIF23 . . . . . . . . . . . . .  	L NEAR	0EB1	IFSSEG
$MIF25 . . . . . . . . . . . . .  	L NEAR	0F39	IFSSEG
$MIF27 . . . . . . . . . . . . .  	L NEAR	0F43	IFSSEG
$MIF276  . . . . . . . . . . . .  	L NEAR	1218	IFSSEG
$MIF278  . . . . . . . . . . . .  	L NEAR	1248	IFSSEG
$MIF279  . . . . . . . . . . . .  	L NEAR	1248	IFSSEG
$MIF281  . . . . . . . . . . . .  	L NEAR	1244	IFSSEG
$MIF286  . . . . . . . . . . . .  	L NEAR	125B	IFSSEG
$MIF287  . . . . . . . . . . . .  	L NEAR	125B	IFSSEG
$MIF290  . . . . . . . . . . . .  	L NEAR	1284	IFSSEG
$MIF292  . . . . . . . . . . . .  	L NEAR	1271	IFSSEG
$MIF295  . . . . . . . . . . . .  	L NEAR	1280	IFSSEG
$MIF299  . . . . . . . . . . . .  	L NEAR	12A3	IFSSEG
$MIF300  . . . . . . . . . . . .  	L NEAR	12A3	IFSSEG
$MIF302  . . . . . . . . . . . .  	L NEAR	129F	IFSSEG
$MIF307  . . . . . . . . . . . .  	L NEAR	12B1	IFSSEG
$MIF309  . . . . . . . . . . . .  	L NEAR	12BE	IFSSEG
$MIF31 . . . . . . . . . . . . .  	L NEAR	0292	IFSSEG
$MIF314  . . . . . . . . . . . .  	L NEAR	12DA	IFSSEG
$MIF317  . . . . . . . . . . . .  	L NEAR	12F8	IFSSEG
$MIF318  . . . . . . . . . . . .  	L NEAR	12F6	IFSSEG
$MIF32 . . . . . . . . . . . . .  	L NEAR	028E	IFSSEG
$MIF37 . . . . . . . . . . . . .  	L NEAR	02AA	IFSSEG
$MIF39 . . . . . . . . . . . . .  	L NEAR	02B7	IFSSEG
$MIF41 . . . . . . . . . . . . .  	L NEAR	02C9	IFSSEG
$MIF46 . . . . . . . . . . . . .  	L NEAR	02EA	IFSSEG
$MIF47 . . . . . . . . . . . . .  	L NEAR	02DC	IFSSEG
$MIF51 . . . . . . . . . . . . .  	L NEAR	02F2	IFSSEG
$MIF56 . . . . . . . . . . . . .  	L NEAR	032D	IFSSEG
$MIF57 . . . . . . . . . . . . .  	L NEAR	031D	IFSSEG
$MIF60 . . . . . . . . . . . . .  	L NEAR	0325	IFSSEG
$MIF64 . . . . . . . . . . . . .  	L NEAR	0368	IFSSEG
$MIF65 . . . . . . . . . . . . .  	L NEAR	0362	IFSSEG
$MIF69 . . . . . . . . . . . . .  	L NEAR	0375	IFSSEG
$MIF71 . . . . . . . . . . . . .  	L NEAR	037E	IFSSEG
$MIF75 . . . . . . . . . . . . .  	L NEAR	03B1	IFSSEG
$MIF76 . . . . . . . . . . . . .  	L NEAR	039A	IFSSEG
$MIF78 . . . . . . . . . . . . .  	L NEAR	0393	IFSSEG
$MIF86 . . . . . . . . . . . . .  	L NEAR	03B1	IFSSEG
$MIF87 . . . . . . . . . . . . .  	L NEAR	03AD	IFSSEG
$MIF91 . . . . . . . . . . . . .  	L NEAR	03B9	IFSSEG
$MIF93 . . . . . . . . . . . . .  	L NEAR	0F88	IFSSEG
$MIF94 . . . . . . . . . . . . .  	L NEAR	0F75	IFSSEG
$MIF97 . . . . . . . . . . . . .  	L NEAR	0F82	IFSSEG
$MLL149  . . . . . . . . . . . .  	L NEAR	10A8	IFSSEG
$MLL168  . . . . . . . . . . . .  	L NEAR	1107	IFSSEG
$MLL178  . . . . . . . . . . . .  	L NEAR	113A	IFSSEG
$MLL214  . . . . . . . . . . . .  	L NEAR	11C4	IFSSEG
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-24


$MSR175  . . . . . . . . . . . .  	L NEAR	1151	IFSSEG
$MSR76 . . . . . . . . . . . . .  	L NEAR	03A3	IFSSEG
$MXL2  . . . . . . . . . . . . .  	L NEAR	02FE	IFSSEG
$MXL3  . . . . . . . . . . . . .  	L NEAR	115E	IFSSEG
$MXL4  . . . . . . . . . . . . .  	L NEAR	11C4	IFSSEG
$M_2_00001H_END  . . . . . . . .  	L BYTE	13B3	IFSSEG
$M_2_00001H_MSG  . . . . . . . .  	L BYTE	139F	IFSSEG
$M_2_00001H_STRUC  . . . . . . .  	L BYTE	1383	IFSSEG
$M_2_00004H_END  . . . . . . . .  	L BYTE	13C3	IFSSEG
$M_2_00004H_MSG  . . . . . . . .  	L BYTE	13B3	IFSSEG
$M_2_00004H_STRUC  . . . . . . .  	L BYTE	1387	IFSSEG
$M_2_00006H_END  . . . . . . . .  	L BYTE	13E8	IFSSEG
$M_2_00006H_MSG  . . . . . . . .  	L BYTE	13C3	IFSSEG
$M_2_00006H_STRUC  . . . . . . .  	L BYTE	138B	IFSSEG
$M_2_00007H_END  . . . . . . . .  	L BYTE	1404	IFSSEG
$M_2_00007H_MSG  . . . . . . . .  	L BYTE	13E8	IFSSEG
$M_2_00007H_STRUC  . . . . . . .  	L BYTE	138F	IFSSEG
$M_2_00009H_END  . . . . . . . .  	L BYTE	1421	IFSSEG
$M_2_00009H_MSG  . . . . . . . .  	L BYTE	1404	IFSSEG
$M_2_00009H_STRUC  . . . . . . .  	L BYTE	1393	IFSSEG
$M_2_0000AH_END  . . . . . . . .  	L BYTE	1433	IFSSEG
$M_2_0000AH_MSG  . . . . . . . .  	L BYTE	1421	IFSSEG
$M_2_0000AH_STRUC  . . . . . . .  	L BYTE	1397	IFSSEG
$M_2_FF_END  . . . . . . . . . .  	L BYTE	1442	IFSSEG
$M_2_FF_MSG  . . . . . . . . . .  	L BYTE	1433	IFSSEG
$M_2_FF_STRUC  . . . . . . . . .  	L BYTE	139B	IFSSEG
$M_ADDR_SZ_FAR . . . . . . . . .  	NUMBER	0004	
$M_ADDR_SZ_NEAR  . . . . . . . .  	NUMBER	0002	
$M_ADD_CRLF  . . . . . . . . . .  	N PROC	1041	IFSSEG	Length = 0017
$M_ALIGN_MASK  . . . . . . . . .  	NUMBER	0080	
$M_AM  . . . . . . . . . . . . .  	NUMBER	0061	
$M_A_00001H_END  . . . . . . . .  	L BYTE	1333	IFSSEG
$M_A_00001H_MSG  . . . . . . . .  	L BYTE	131B	IFSSEG
$M_A_00001H_STRUC  . . . . . . .  	L BYTE	130B	IFSSEG
$M_A_00002H_END  . . . . . . . .  	L BYTE	134A	IFSSEG
$M_A_00002H_MSG  . . . . . . . .  	L BYTE	1333	IFSSEG
$M_A_00002H_STRUC  . . . . . . .  	L BYTE	130F	IFSSEG
$M_A_00003H_END  . . . . . . . .  	L BYTE	135D	IFSSEG
$M_A_00003H_MSG  . . . . . . . .  	L BYTE	134A	IFSSEG
$M_A_00003H_STRUC  . . . . . . .  	L BYTE	1313	IFSSEG
$M_A_00004H_END  . . . . . . . .  	L BYTE	1375	IFSSEG
$M_A_00004H_MSG  . . . . . . . .  	L BYTE	135D	IFSSEG
$M_A_00004H_STRUC  . . . . . . .  	L BYTE	1317	IFSSEG
$M_BASE10  . . . . . . . . . . .  	NUMBER	000A	
$M_BASE16  . . . . . . . . . . .  	NUMBER	0010	
$M_BYTE  . . . . . . . . . . . .  	NUMBER	0010	
$M_CHAR_ONLY . . . . . . . . . .  	NUMBER	FFFF	
$M_CHAR_REPLACE  . . . . . . . .  	N PROC	12DF	IFSSEG	Length = 0028
$M_CHECKSTDIN  . . . . . . . . .  	N PROC	0EB4	IFSSEG	Length = 0013
$M_CHECKSTDOUT . . . . . . . . .  	N PROC	0EC7	IFSSEG	Length = 0013
$M_CLASS_2_STRUC . . . . . . . .  	L BYTE	137F	IFSSEG
$M_CLASS_A_STRUC . . . . . . . .  	L BYTE	1307	IFSSEG
$M_CLASS_ID_SZ . . . . . . . . .  	NUMBER	0004	
$M_CLASS_NOT_EXIST . . . . . . .  	NUMBER	0000	
$M_CLS_1 . . . . . . . . . . . .  	N PROC	1375	IFSSEG	Global	Length = 000A
$M_COMMA . . . . . . . . . . . .  	NUMBER	002C	
$M_CONVERT2ASC . . . . . . . . .  	N PROC	107D	IFSSEG	Length = 0071
$M_CON_INP . . . . . . . . . . .  	NUMBER	-0001	
$M_COUNT . . . . . . . . . . . .  	NUMBER	0001	
$M_CRIT_ERR_MASK . . . . . . . .  	NUMBER	0001	
$M_CRIT_HI . . . . . . . . . . .  	NUMBER	0027	
$M_CRIT_LO . . . . . . . . . . .  	NUMBER	0013	
$M_CRLF_SIZE . . . . . . . . . .  	NUMBER	0002	
$M_CR_LF . . . . . . . . . . . .  	NUMBER	0A0D	
$M_DATE_MASK . . . . . . . . . .  	NUMBER	0010	
$M_DBCS_TERM . . . . . . . . . .  	NUMBER	0000	
$M_DCOUNT  . . . . . . . . . . .  	NUMBER	0001	
$M_DEF_DATE_FORM . . . . . . . .  	NUMBER	0000	
$M_DEF_DATE_SEP  . . . . . . . .  	NUMBER	002D	
$M_DEF_DECI_SEP  . . . . . . . .  	NUMBER	002E	
$M_DEF_TIME_FORM . . . . . . . .  	NUMBER	0001	
$M_DEF_TIME_SEP  . . . . . . . .  	NUMBER	003A	
$M_DISPLAY_$_STRING  . . . . . .  	N PROC	0FD5	IFSSEG	Length = 0035
$M_DISPLAY_H_STRING  . . . . . .  	N PROC	100A	IFSSEG	Length = 002E
$M_DISPLAY_MESSAGE . . . . . . .  	N PROC	10EE	IFSSEG	Length = 00DE
$M_DISPLAY_REPLACE . . . . . . .  	N PROC	11FD	IFSSEG	Length = 00C6
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-25


$M_DISPLAY_STRING  . . . . . . .  	N PROC	0F99	IFSSEG	Length = 003C
$M_DWORD . . . . . . . . . . . .  	NUMBER	0030	
$M_END . . . . . . . . . . . . .  	NUMBER	0000	
$M_EXTPAR_TYPE . . . . . . . . .  	NUMBER	0008	
$M_EXT_CLS . . . . . . . . . . .  	NUMBER	FFFF	
$M_EXT_ERR_FLAG  . . . . . . . .  	NUMBER	FFFF	
$M_EXT_PAR_REPLACE . . . . . . .  	N PROC	11CC	IFSSEG	Length = 0031
$M_FIND_SPECIFIED_MSG  . . . . .  	N PROC	0346	IFSSEG	Length = 0079
$M_FIRST_THOU  . . . . . . . . .  	NUMBER	0003	
$M_FLUSH_BUF . . . . . . . . . .  	N PROC	12C3	IFSSEG	Length = 001C
$M_GET_DBCS_VEC  . . . . . . . .  	N PROC	0E9A	IFSSEG	Length = 001A
$M_GET_EXT_ERR_39  . . . . . . .  	N PROC	1038	IFSSEG	Length = 0009
$M_GET_MSG_ADDRESS . . . . . . .  	N PROC	0297	IFSSEG	Global	Length = 00A0
$M_ID_SZ . . . . . . . . . . . .  	NUMBER	0004	
$M_INCLUDE . . . . . . . . . . .  	NUMBER	FFFF	
$M_INDEX . . . . . . . . . . . .  	NUMBER	0004	
$M_IS_IT_DBCS  . . . . . . . . .  	N PROC	1058	IFSSEG	Length = 0025
$M_LOAD  . . . . . . . . . . . .  	NUMBER	FFFF	
$M_MAX_2_YEAR  . . . . . . . . .  	NUMBER	0063	
$M_MSGDATA_ONLY  . . . . . . . .  	NUMBER	0000	
$M_MSGSERV_1 . . . . . . . . . .  	L NEAR	0000	IFSSEG	External
$M_MSGSERV_2 . . . . . . . . . .  	N PROC	1442	IFSSEG	Global	Length = 000B
$M_NEG_SIGN  . . . . . . . . . .  	NUMBER	002D	
$M_NEXT_DBCS_VECTOR  . . . . . .  	NUMBER	0002	
$M_NO_CRLF_MASK  . . . . . . . .  	NUMBER	0080	
$M_NO_HANDLE . . . . . . . . . .  	NUMBER	-0001	
$M_NULL  . . . . . . . . . . . .  	NUMBER	0000	
$M_NUM_CLS . . . . . . . . . . .  	NUMBER	0001	
$M_ONE_REPLACE . . . . . . . . .  	NUMBER	0001	
$M_PARSE_FLAG  . . . . . . . . .  	NUMBER	FFFF	
$M_PAR_CLS . . . . . . . . . . .  	NUMBER	FFFF	
$M_PM  . . . . . . . . . . . . .  	NUMBER	0070	
$M_REPLACE . . . . . . . . . . .  	NUMBER	FFFF	
$M_REPL_DONE . . . . . . . . . .  	NUMBER	0000	
$M_RES_ADDRS_SZ  . . . . . . . .  	NUMBER	0085	
$M_RT  . . . . . . . . . . . . .  	L BYTE	0197	IFSSEG	Global
$M_SECOND_THOU . . . . . . . . .  	NUMBER	0006	
$M_SERVICE . . . . . . . . . . .  	NUMBER	0000	
$M_SET_LEN_IN_CX . . . . . . . .  	N PROC	0337	IFSSEG	Length = 000F
$M_SINGLE_CHAR . . . . . . . . .  	NUMBER	0001	
$M_SIZE_MASK . . . . . . . . . .  	NUMBER	0030	
$M_SL  . . . . . . . . . . . . .  	TEXT  DS:[SI]		
$M_SPACE . . . . . . . . . . . .  	NUMBER	0020	
$M_SPACE_HYP . . . . . . . . . .  	NUMBER	2D20	
$M_SPECIAL_CASE  . . . . . . . .  	NUMBER	0030	
$M_SPECIAL_MSG_NUM . . . . . . .  	NUMBER	FFFF	
$M_STRUC . . . . . . . . . . . .  	NUMBER	0000	
$M_SUBS  . . . . . . . . . . . .  	NUMBER	0000	
$M_TEMP_BUF_SZ . . . . . . . . .  	NUMBER	0040	
$M_TERMINATING_FLAG  . . . . . .  	NUMBER	-0001	
$M_THIRD_THOU  . . . . . . . . .  	NUMBER	0009	
$M_TIMEDATE_PAD  . . . . . . . .  	NUMBER	0030	
$M_TIME_MASK . . . . . . . . . .  	NUMBER	0001	
$M_TYPE_MASK . . . . . . . . . .  	NUMBER	000F	
$M_UNLIM_W . . . . . . . . . . .  	NUMBER	0000	
$M_VERSION_CHECK . . . . . . . .  	N PROC	0F23	IFSSEG	Length = 002F
$M_WORD  . . . . . . . . . . . .  	NUMBER	0020	
$P_0099  . . . . . . . . . . . .  	N PROC	0AED	IFSSEG	Length = 000E
$P_0099ERR . . . . . . . . . . .  	L NEAR	0AF9	IFSSEG
$P_ASCII80 . . . . . . . . . . .  	NUMBER	0080	
$P_BL_EQ . . . . . . . . . . . .  	NUMBER	203D	
$P_BRIDGE  . . . . . . . . . . .  	L NEAR	08B7	IFSSEG
$P_CAPS_RET  . . . . . . . . . .  	L NEAR	0999	IFSSEG
$P_CAP_CHAR  . . . . . . . . . .  	NUMBER	0002	
$P_CAP_FILE  . . . . . . . . . .  	NUMBER	0001	
$P_CHAR_CAP_PTR  . . . . . . . .  	L BYTE	0586	IFSSEG
$P_CHECK_MATCH_FLAGS . . . . . .  	N PROC	0878	IFSSEG	Length = 0098
$P_CHECK_OVF . . . . . . . . . .  	N PROC	0ADB	IFSSEG	Length = 0012
$P_CHKDFIN . . . . . . . . . . .  	L NEAR	0D48	IFSSEG
$P_CHK_DBCS  . . . . . . . . . .  	N PROC	0D7F	IFSSEG	Length = 0056
$P_CHK_DELIM . . . . . . . . . .  	N PROC	0D00	IFSSEG	Length = 0061
$P_CHK_DELIM00 . . . . . . . . .  	L NEAR	0D1A	IFSSEG
$P_CHK_DELIM01 . . . . . . . . .  	L NEAR	0D2A	IFSSEG
$P_CHK_DELIM_EXIT  . . . . . . .  	L NEAR	0D48	IFSSEG
$P_CHK_DELIM_EXIT0 . . . . . . .  	L NEAR	0D4B	IFSSEG
$P_CHK_DELIM_LOOP  . . . . . . .  	L NEAR	0D3E	IFSSEG
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-26


$P_CHK_DELIM_NZ  . . . . . . . .  	L NEAR	0D46	IFSSEG
$P_CHK_EOL . . . . . . . . . . .  	N PROC	0CCA	IFSSEG	Length = 0036
$P_CHK_EOL_EXIT  . . . . . . . .  	L NEAR	0CFD	IFSSEG
$P_CHK_EOL_LOOP  . . . . . . . .  	L NEAR	0CF3	IFSSEG
$P_CHK_EOL_NZ  . . . . . . . . .  	L NEAR	0CFB	IFSSEG
$P_CHK_KEY_CONTROL . . . . . . .  	N PROC	077C	IFSSEG	Length = 0044
$P_CHK_KEY_ERR0  . . . . . . . .  	L NEAR	07AB	IFSSEG
$P_CHK_KEY_ERR1  . . . . . . . .  	L NEAR	07AE	IFSSEG
$P_CHK_KEY_ERREXIT . . . . . . .  	L NEAR	07B5	IFSSEG
$P_CHK_KEY_EXIT  . . . . . . . .  	L NEAR	07BF	IFSSEG
$P_CHK_POS_CONTROL . . . . . . .  	N PROC	074A	IFSSEG	Length = 0032
$P_CHK_SWITCH  . . . . . . . . .  	N PROC	0D61	IFSSEG	Length = 001E
$P_CHK_SW_CONTROL  . . . . . . .  	N PROC	07F1	IFSSEG	Length = 0002
$P_CMPX00  . . . . . . . . . . .  	L NEAR	0C0E	IFSSEG
$P_CMPX01  . . . . . . . . . . .  	L NEAR	0C18	IFSSEG
$P_CMPX02  . . . . . . . . . . .  	L NEAR	0C34	IFSSEG
$P_CMPX03  . . . . . . . . . . .  	L NEAR	0C3B	IFSSEG
$P_CMPX04  . . . . . . . . . . .  	L NEAR	0C28	IFSSEG
$P_CMPX05  . . . . . . . . . . .  	L NEAR	0C37	IFSSEG
$P_CMPXERR0  . . . . . . . . . .  	L NEAR	0C53	IFSSEG
$P_CMPX_ERR  . . . . . . . . . .  	L NEAR	0C5C	IFSSEG
$P_CMPX_EXIT . . . . . . . . . .  	L NEAR	0C63	IFSSEG
$P_CMPX_LOOP . . . . . . . . . .  	L NEAR	0BFF	IFSSEG
$P_CMPX_S  . . . . . . . . . . .  	NUMBER	0400	
$P_COLON . . . . . . . . . . . .  	NUMBER	003A	
$P_COLON_IS_NOT_NECESSARY  . . .  	NUMBER	0020	
$P_COLON_PERIOD  . . . . . . . .  	NUMBER	0001	
$P_COMMA . . . . . . . . . . . .  	NUMBER	002C	
$P_COMPLEX . . . . . . . . . . .  	NUMBER	0004	
$P_COMPLEX_FORMAT  . . . . . . .  	N PROC	0BF0	IFSSEG	Length = 007E
$P_COUNT_TO_EOL  . . . . . . . .  	L WORD	058B	IFSSEG
$P_COVF  . . . . . . . . . . . .  	L NEAR	0AE6	IFSSEG
$P_COVF00  . . . . . . . . . . .  	L NEAR	0AEB	IFSSEG
$P_CPC00 . . . . . . . . . . . .  	L NEAR	0758	IFSSEG
$P_CPC01 . . . . . . . . . . . .  	L NEAR	0777	IFSSEG
$P_CPC02 . . . . . . . . . . . .  	L NEAR	076C	IFSSEG
$P_CPC_EXIT  . . . . . . . . . .  	L NEAR	077A	IFSSEG
$P_CR  . . . . . . . . . . . . .  	NUMBER	000D	
$P_DATE_DMY  . . . . . . . . . .  	NUMBER	0001	
$P_DATE_F  . . . . . . . . . . .  	NUMBER	0007	
$P_DATE_MDY  . . . . . . . . . .  	NUMBER	0000	
$P_DATE_S  . . . . . . . . . . .  	NUMBER	1000	
$P_DATE_YMD  . . . . . . . . . .  	NUMBER	0002	
$P_DBCS00  . . . . . . . . . . .  	L NEAR	0DB1	IFSSEG
$P_DBCS01  . . . . . . . . . . .  	L NEAR	0DCC	IFSSEG
$P_DBCS02  . . . . . . . . . . .  	L NEAR	0DA7	IFSSEG
$P_DBCSEV_OFF  . . . . . . . . .  	L WORD	04F8	IFSSEG
$P_DBCSEV_SEG  . . . . . . . . .  	L WORD	04FA	IFSSEG
$P_DBCS_EXIT . . . . . . . . . .  	L NEAR	0DD1	IFSSEG
$P_DBCS_LOOP . . . . . . . . . .  	L NEAR	0DBB	IFSSEG
$P_DBSP1 . . . . . . . . . . . .  	NUMBER	0081	
$P_DBSP2 . . . . . . . . . . . .  	NUMBER	0040	
$P_DCC00 . . . . . . . . . . . .  	L NEAR	096C	IFSSEG
$P_DCC01 . . . . . . . . . . . .  	L NEAR	0988	IFSSEG
$P_DCC_GO  . . . . . . . . . . .  	L NEAR	0965	IFSSEG
$P_DCS00 . . . . . . . . . . . .  	L NEAR	094E	IFSSEG
$P_DCS01 . . . . . . . . . . . .  	L NEAR	094F	IFSSEG
$P_DCS_EXIT  . . . . . . . . . .  	L NEAR	0952	IFSSEG
$P_DCS_LOOP  . . . . . . . . . .  	L NEAR	093A	IFSSEG
$P_DO1 . . . . . . . . . . . . .  	L NEAR	05C4	IFSSEG
$P_DO2 . . . . . . . . . . . . .  	L NEAR	05CC	IFSSEG
$P_DOSTBL_BL . . . . . . . . . .  	NUMBER	0005	
$P_DOSTBL_CHAR . . . . . . . . .  	NUMBER	0002	
$P_DOSTBL_DEF  . . . . . . . . .  	NUMBER	-0001	
$P_DOSTBL_FILE . . . . . . . . .  	NUMBER	0004	
$P_DOS_GETEV . . . . . . . . . .  	NUMBER	6300	
$P_DOS_GET_CDI . . . . . . . . .  	NUMBER	3800	
$P_DOS_GET_TBL . . . . . . . . .  	NUMBER	0065	
$P_DOUBLE_QUOTE  . . . . . . . .  	NUMBER	0022	
$P_DO_CAPS_CHAR  . . . . . . . .  	N PROC	0955	IFSSEG	Length = 0045
$P_DO_CAPS_STRING  . . . . . . .  	N PROC	0936	IFSSEG	Length = 001F
$P_DQUOTE  . . . . . . . . . . .  	NUMBER	0022	
$P_DRIVE . . . . . . . . . . . .  	NUMBER	0006	
$P_DRV_ONLY  . . . . . . . . . .  	NUMBER	0100	
$P_DX  . . . . . . . . . . . . .  	L WORD	04F5	IFSSEG
$P_EOL . . . . . . . . . . . . .  	NUMBER	0000	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-27


$P_EQU . . . . . . . . . . . . .  	NUMBER	0001	
$P_EQ_BL . . . . . . . . . . . .  	NUMBER	3D20	
$P_EQ_TB . . . . . . . . . . . .  	NUMBER	3D09	
$P_ERROR_FILESPEC  . . . . . . .  	NUMBER	0001	
$P_ERR_FLAG  . . . . . . . . . .  	L BYTE	058D	IFSSEG
$P_EXIT_AT_EXTRA . . . . . . . .  	L NEAR	0CC8	IFSSEG
$P_EXTRA . . . . . . . . . . . .  	NUMBER	0020	
$P_FILE_SPC  . . . . . . . . . .  	NUMBER	0200	
$P_FILE_SPEC . . . . . . . . . .  	NUMBER	0005	
$P_FILL_RESULT . . . . . . . . .  	N PROC	07F3	IFSSEG	Length = 0085
$P_FIN . . . . . . . . . . . . .  	L NEAR	0627	IFSSEG
$P_FLAGS . . . . . . . . . . . .  	L WORD	04FC	IFSSEG
$P_FLAGS1  . . . . . . . . . . .  	BYTE	04FC	IFSSEG
$P_FLAGS2  . . . . . . . . . . .  	BYTE	04FD	IFSSEG
$P_FOUND_SYNONYM . . . . . . . .  	L WORD	0504	IFSSEG
$P_IF3 . . . . . . . . . . . . .  	L NEAR	05D3	IFSSEG
$P_IF5 . . . . . . . . . . . . .  	L NEAR	0607	IFSSEG
$P_IF6 . . . . . . . . . . . . .  	L NEAR	0607	IFSSEG
$P_IG_COLON  . . . . . . . . . .  	NUMBER	0010	
$P_I_HAVE_DELIM  . . . . . . . .  	NUMBER	0001	
$P_I_HAVE_EOL  . . . . . . . . .  	NUMBER	0002	
$P_I_USE_DEFAULT . . . . . . . .  	NUMBER	0000	
$P_KEYORSW_EXIT  . . . . . . . .  	L NEAR	07E2	IFSSEG
$P_KEYORSW_FOUND . . . . . . . .  	L NEAR	07DC	IFSSEG
$P_KEYORSW_LOOP  . . . . . . . .  	L NEAR	07CF	IFSSEG
$P_KEYORSW_NOT_FOUND . . . . . .  	L NEAR	07D9	IFSSEG
$P_KEYORSW_PTR . . . . . . . . .  	L WORD	0500	IFSSEG
$P_KEYWORD . . . . . . . . . . .  	NUMBER	003D	
$P_KEY_CMP . . . . . . . . . . .  	NUMBER	0008	
$P_KEY_MANAGER . . . . . . . . .  	L NEAR	06F9	IFSSEG
$P_KEY_MGR_LOOP  . . . . . . . .  	L NEAR	0718	IFSSEG
$P_KEY_NOT_FOUND . . . . . . . .  	L NEAR	0726	IFSSEG
$P_LEN_PARMS . . . . . . . . . .  	NUMBER	0004	
$P_LEN_RANGE . . . . . . . . . .  	NUMBER	0009	
$P_LEN_STRING  . . . . . . . . .  	NUMBER	0003	
$P_LEN_VALUE . . . . . . . . . .  	NUMBER	0005	
$P_LF  . . . . . . . . . . . . .  	NUMBER	000A	
$P_LIST_IDX  . . . . . . . . . .  	NUMBER	0002	
$P_LL6 . . . . . . . . . . . . .  	L NEAR	05ED	IFSSEG
$P_LOC_EOL . . . . . . . . . . .  	L NEAR	05B7	IFSSEG
$P_LPAREN  . . . . . . . . . . .  	NUMBER	0028	
$P_MAKE_LOWER  . . . . . . . . .  	NUMBER	0020	
$P_MAKE_UPPER  . . . . . . . . .  	NUMBER	00DF	
$P_MAT . . . . . . . . . . . . .  	L NEAR	089E	IFSSEG
$P_MATCH01 . . . . . . . . . . .  	L NEAR	08B5	IFSSEG
$P_MATCH03 . . . . . . . . . . .  	L NEAR	08BA	IFSSEG
$P_MATCH04 . . . . . . . . . . .  	L NEAR	08D1	IFSSEG
$P_MATCH05 . . . . . . . . . . .  	L NEAR	08E8	IFSSEG
$P_MATCH09 . . . . . . . . . . .  	L NEAR	08F7	IFSSEG
$P_MATCH2_EXIT . . . . . . . . .  	L NEAR	090E	IFSSEG
$P_MATCH_EXIT  . . . . . . . . .  	L NEAR	08F7	IFSSEG
$P_MBP_EXIT  . . . . . . . . . .  	L NEAR	07EF	IFSSEG
$P_MBP_LOOP  . . . . . . . . . .  	L NEAR	07E5	IFSSEG
$P_MINUS . . . . . . . . . . . .  	NUMBER	002D	
$P_MOVEBP_NUL  . . . . . . . . .  	N PROC	07E5	IFSSEG	Length = 000C
$P_NEG . . . . . . . . . . . . .  	NUMBER	0002	
$P_NON_DBCS  . . . . . . . . . .  	L NEAR	0DD0	IFSSEG
$P_NOT_IN_KEY  . . . . . . . . .  	NUMBER	0004	
$P_NOT_IN_STR  . . . . . . . . .  	NUMBER	0008	
$P_NOT_IN_SW . . . . . . . . . .  	NUMBER	0003	
$P_NOT_IN_VAL  . . . . . . . . .  	NUMBER	0007	
$P_NO_ERROR  . . . . . . . . . .  	NUMBER	0000	
$P_NO_NRNG . . . . . . . . . . .  	NUMBER	0000	
$P_NO_SET_EXTRA  . . . . . . . .  	L NEAR	0D5D	IFSSEG
$P_NO_TAG  . . . . . . . . . . .  	NUMBER	00FF	
$P_NULL  . . . . . . . . . . . .  	NUMBER	0000	
$P_NUMBER  . . . . . . . . . . .  	NUMBER	0001	
$P_NUM_VAL . . . . . . . . . . .  	NUMBER	8000	
$P_NVAL_NONE . . . . . . . . . .  	NUMBER	0000	
$P_NVAL_RANGE  . . . . . . . . .  	NUMBER	0001	
$P_NVAL_STRING . . . . . . . . .  	NUMBER	0003	
$P_NVAL_VALUE  . . . . . . . . .  	NUMBER	0002	
$P_OPTIONAL  . . . . . . . . . .  	NUMBER	0001	
$P_OP_MISSING  . . . . . . . . .  	NUMBER	0002	
$P_ORDINAL . . . . . . . . . . .  	L WORD	04EF	IFSSEG
$P_OUT_OF_RANGE  . . . . . . . .  	NUMBER	0006	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-28


$P_PACK_END  . . . . . . . . . .  	L NEAR	0682	IFSSEG
$P_PACK_END_BACKUP_SI  . . . . .  	L NEAR	065C	IFSSEG
$P_PACK_END_BY_EOL . . . . . . .  	L NEAR	0681	IFSSEG
$P_PACK_LOOP . . . . . . . . . .  	L NEAR	063F	IFSSEG
$P_PERIOD  . . . . . . . . . . .  	NUMBER	002E	
$P_PERIOD_ONLY . . . . . . . . .  	NUMBER	0002	
$P_PL00  . . . . . . . . . . . .  	L NEAR	0674	IFSSEG
$P_PL01  . . . . . . . . . . . .  	L NEAR	0667	IFSSEG
$P_PLUS  . . . . . . . . . . . .  	NUMBER	002B	
$P_POSITIONAL_MANAGER  . . . . .  	L NEAR	06A5	IFSSEG
$P_QUOTED_STR  . . . . . . . . .  	N PROC	0C6E	IFSSEG	Length = 0036
$P_QUOTED_STRING . . . . . . . .  	NUMBER	0009	
$P_QUOTED_STR_EXIT . . . . . . .  	L NEAR	0CA2	IFSSEG
$P_QUS00 . . . . . . . . . . . .  	L NEAR	0C87	IFSSEG
$P_QUS01 . . . . . . . . . . . .  	L NEAR	0C93	IFSSEG
$P_QUS02 . . . . . . . . . . . .  	L NEAR	0C9D	IFSSEG
$P_QUSTR_ERR0  . . . . . . . . .  	L NEAR	0C9A	IFSSEG
$P_QUS_LOOP  . . . . . . . . . .  	L NEAR	0C6F	IFSSEG
$P_QU_STRING . . . . . . . . . .  	NUMBER	0080	
$P_RC  . . . . . . . . . . . . .  	L WORD	04F1	IFSSEG
$P_RCOL00  . . . . . . . . . . .  	L NEAR	092A	IFSSEG
$P_RCOL01  . . . . . . . . . . .  	L NEAR	0930	IFSSEG
$P_RCOL_EXIT . . . . . . . . . .  	L NEAR	0933	IFSSEG
$P_RCOL_LOOP . . . . . . . . . .  	L NEAR	0912	IFSSEG
$P_RC_EOL  . . . . . . . . . . .  	NUMBER	-0001	
$P_REG_BH_CG_SW  . . . . . . . .  	ALIAS	 BH		
$P_REG_BL_DQ_SW  . . . . . . . .  	ALIAS	 BL		
$P_REMOVE_COLON  . . . . . . . .  	N PROC	0910	IFSSEG	Length = 0026
$P_REPEAT  . . . . . . . . . . .  	NUMBER	0002	
$P_RETURN_TO_CALLER  . . . . . .  	L NEAR	072D	IFSSEG
$P_RETURN_TO_CALLER0 . . . . . .  	L NEAR	072D	IFSSEG
$P_RLT00 . . . . . . . . . . . .  	L NEAR	081C	IFSSEG
$P_RLT01 . . . . . . . . . . . .  	L NEAR	0826	IFSSEG
$P_RLT02 . . . . . . . . . . . .  	L NEAR	0812	IFSSEG
$P_RLT03 . . . . . . . . . . . .  	L NEAR	0838	IFSSEG
$P_RLT04 . . . . . . . . . . . .  	L NEAR	080E	IFSSEG
$P_RLT05 . . . . . . . . . . . .  	L NEAR	084B	IFSSEG
$P_RLT_CAP00 . . . . . . . . . .  	L NEAR	085F	IFSSEG
$P_RLT_CAP01 . . . . . . . . . .  	L NEAR	086B	IFSSEG
$P_RLT_CAP02 . . . . . . . . . .  	L NEAR	0868	IFSSEG
$P_RLT_EXIT  . . . . . . . . . .  	L NEAR	0876	IFSSEG
$P_RM_COLON  . . . . . . . . . .  	NUMBER	0010	
$P_RPAREN  . . . . . . . . . . .  	NUMBER	0029	
$P_SAVESI_CMPX . . . . . . . . .  	L WORD	04FE	IFSSEG
$P_SAVE_EOB  . . . . . . . . . .  	L WORD	0502	IFSSEG
$P_SCOM00  . . . . . . . . . . .  	L NEAR	0BAE	IFSSEG
$P_SCOM01  . . . . . . . . . . .  	L NEAR	0BC1	IFSSEG
$P_SCOM02  . . . . . . . . . . .  	L NEAR	0BD7	IFSSEG
$P_SCOM03  . . . . . . . . . . .  	L NEAR	0BA0	IFSSEG
$P_SCOM04  . . . . . . . . . . .  	L NEAR	0B8A	IFSSEG
$P_SCOM05  . . . . . . . . . . .  	L NEAR	0B9D	IFSSEG
$P_SCOM_DIFFER . . . . . . . . .  	L NEAR	0BE2	IFSSEG
$P_SCOM_DIFFER0  . . . . . . . .  	L NEAR	0BC3	IFSSEG
$P_SCOM_EXIT . . . . . . . . . .  	L NEAR	0BEB	IFSSEG
$P_SCOM_LOOP . . . . . . . . . .  	L NEAR	0B6A	IFSSEG
$P_SCOM_SAME . . . . . . . . . .  	L NEAR	0BE5	IFSSEG
$P_SEARCH_KEYORSW  . . . . . . .  	N PROC	07C0	IFSSEG	Length = 0025
$P_SIGNED  . . . . . . . . . . .  	NUMBER	0080	
$P_SIM00 . . . . . . . . . . . .  	L NEAR	0B0E	IFSSEG
$P_SIM01 . . . . . . . . . . . .  	L NEAR	0B51	IFSSEG
$P_SIMPLE_S  . . . . . . . . . .  	NUMBER	2000	
$P_SIMPLE_STRING . . . . . . . .  	N PROC	0AFB	IFSSEG	Length = 0069
$P_SIM_EXIT  . . . . . . . . . .  	L NEAR	0B5A	IFSSEG
$P_SIM_EXIT0 . . . . . . . . . .  	L NEAR	0B5C	IFSSEG
$P_SIM_FOUND . . . . . . . . . .  	L NEAR	0B46	IFSSEG
$P_SIM_LOOP  . . . . . . . . . .  	L NEAR	0B2C	IFSSEG
$P_SINGLE_EXIT . . . . . . . . .  	L NEAR	0748	IFSSEG
$P_SI_SAVE . . . . . . . . . . .  	L WORD	04F3	IFSSEG
$P_SKIP_DELIM  . . . . . . . . .  	N PROC	0CA4	IFSSEG	Length = 0026
$P_SKIP_DELIM_CY . . . . . . . .  	L NEAR	0CC2	IFSSEG
$P_SKIP_DELIM_EXIT . . . . . . .  	L NEAR	0CC6	IFSSEG
$P_SKIP_DELIM_LOOP . . . . . . .  	L NEAR	0CA4	IFSSEG
$P_SKIP_DELIM_NCY  . . . . . . .  	L NEAR	0CC5	IFSSEG
$P_SLASH . . . . . . . . . . . .  	NUMBER	002F	
$P_SNUM_VAL  . . . . . . . . . .  	NUMBER	4000	
$P_SPACE . . . . . . . . . . . .  	NUMBER	0020	
Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04
IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-29


$P_START . . . . . . . . . . . .  	L NEAR	062B	IFSSEG
$P_STRING  . . . . . . . . . . .  	NUMBER	0003	
$P_STRING_BUF  . . . . . . . . .  	L BYTE	0506	IFSSEG	Length = 0080
$P_STRING_BUF_END  . . . . . . .  	NEAR	0586	IFSSEG
$P_STRING_COMP . . . . . . . . .  	N PROC	0B64	IFSSEG	Length = 008C
$P_STRUC_L1  . . . . . . . . . .  	L NEAR	0D7E	IFSSEG
$P_STRUC_L12 . . . . . . . . . .  	L NEAR	0D7D	IFSSEG
$P_STRUC_L2  . . . . . . . . . .  	L NEAR	0D73	IFSSEG
$P_STRUC_L5  . . . . . . . . . .  	L NEAR	0D70	IFSSEG
$P_SVAL00  . . . . . . . . . . .  	L NEAR	09B8	IFSSEG
$P_SVAL01  . . . . . . . . . . .  	L NEAR	09B9	IFSSEG
$P_SVALUE  . . . . . . . . . . .  	N PROC	099A	IFSSEG	Length = 0024
$P_SVAL_IN . . . . . . . . . . .  	L NEAR	0A72	IFSSEG
$P_SW  . . . . . . . . . . . . .  	NUMBER	0040	
$P_SWITCH  . . . . . . . . . . .  	NUMBER	002F	
$P_SW_CMP  . . . . . . . . . . .  	NUMBER	0010	
$P_SW_MANAGER  . . . . . . . . .  	L NEAR	06CD	IFSSEG
$P_SW_MGR_LOOP . . . . . . . . .  	L NEAR	06E2	IFSSEG
$P_SW_NOT_FOUND  . . . . . . . .  	L NEAR	06F0	IFSSEG
$P_SYNTAX  . . . . . . . . . . .  	NUMBER	0009	
$P_TAB . . . . . . . . . . . . .  	NUMBER	0009	
$P_TB_EQ . . . . . . . . . . . .  	NUMBER	093D	
$P_TERMINATOR  . . . . . . . . .  	L BYTE	04F7	IFSSEG
$P_TIME12  . . . . . . . . . . .  	NUMBER	0004	
$P_TIME12AM  . . . . . . . . . .  	NUMBER	0001	
$P_TIME_AGAIN  . . . . . . . . .  	NUMBER	0002	
$P_TIME_F  . . . . . . . . . . .  	NUMBER	0008	
$P_TIME_S  . . . . . . . . . . .  	NUMBER	0800	
$P_TOO_MANY  . . . . . . . . . .  	NUMBER	0001	
$P_TOO_MANY_ERROR  . . . . . . .  	L NEAR	06C4	IFSSEG
$P_VAL02_LOOP  . . . . . . . . .  	L NEAR	0A3E	IFSSEG
$P_VAL02_NEXT  . . . . . . . . .  	L NEAR	0A82	IFSSEG
$P_VAL02_SIGN  . . . . . . . . .  	L NEAR	0A64	IFSSEG
$P_VAL03_LOOP  . . . . . . . . .  	L NEAR	0AA8	IFSSEG
$P_VAL03_NEXT  . . . . . . . . .  	L NEAR	0AB4	IFSSEG
$P_VALUE . . . . . . . . . . . .  	N PROC	09BE	IFSSEG	Length = 011D
$P_VALUE00 . . . . . . . . . . .  	L NEAR	0A10	IFSSEG
$P_VALUE01 . . . . . . . . . . .  	L NEAR	0A23	IFSSEG
$P_VALUE02 . . . . . . . . . . .  	L NEAR	0A35	IFSSEG
$P_VALUE03 . . . . . . . . . . .  	L NEAR	0A9D	IFSSEG
$P_VALUE04 . . . . . . . . . . .  	L NEAR	0AC8	IFSSEG
$P_VALUE_ERR . . . . . . . . . .  	L NEAR	0AC8	IFSSEG
$P_VALUE_ERR0  . . . . . . . . .  	L NEAR	0A0C	IFSSEG
$P_VALUE_EXIT  . . . . . . . . .  	L NEAR	0AD3	IFSSEG
$P_VALUE_LOOP  . . . . . . . . .  	L NEAR	09C7	IFSSEG
$P_VAL_FOUND . . . . . . . . . .  	L NEAR	0A96	IFSSEG
$P_VAL_IN  . . . . . . . . . . .  	L NEAR	0A54	IFSSEG
??0000 . . . . . . . . . . . . .  	L NEAR	0011	IFSSEG
??0001 . . . . . . . . . . . . .  	L NEAR	0016	IFSSEG
??0002 . . . . . . . . . . . . .  	L NEAR	0066	IFSSEG
??0003 . . . . . . . . . . . . .  	L NEAR	00D0	IFSSEG
??0004 . . . . . . . . . . . . .  	L NEAR	00DC	IFSSEG
??0005 . . . . . . . . . . . . .  	L NEAR	00E8	IFSSEG
??0006 . . . . . . . . . . . . .  	L NEAR	00F4	IFSSEG
??0007 . . . . . . . . . . . . .  	L NEAR	0100	IFSSEG
??0008 . . . . . . . . . . . . .  	L NEAR	0196	IFSSEG
??0009 . . . . . . . . . . . . .  	L NEAR	032F	IFSSEG
??000A . . . . . . . . . . . . .  	L NEAR	179C	IFSSEG
??000B . . . . . . . . . . . . .  	L NEAR	181C	IFSSEG
?PLM . . . . . . . . . . . . . .  	NUMBER	0000	
?WIN . . . . . . . . . . . . . .  	NUMBER	0000	
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  ifsinit		
@VERSION . . . . . . . . . . . .  	TEXT  510		

Microsoft (R) Macro Assembler Version 5.10                  9/18/25 23:16:04

IFSFUNC INITIALIZATION ROUTINES - Routines for ifs				 ;AN00Symbols-30






  22001 Source  Lines
  25416 Total   Lines
   2176 Symbols

  40192 + 27370 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
