Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.naic.edu/~phil/hardware/vertex/sharemegsvertex/lcu/pcr/c600/source/STARTUP/MSDOS.INC
Дата изменения: Tue Mar 6 22:21:00 2001
Дата индексирования: Thu Jan 15 16:08:59 2009
Кодировка:

Поисковые слова: images
;***
;msdos.inc - MS-DOS definitions for C runtime
;
; Copyright (c) 1987-1990, Microsoft Corporation. All rights reserved.
;
;Purpose:
; This file contains the MS-DOS definitions (DOS function request
; numbers, flags, etc) used by the C runtime.
;
;*******************************************************************************


;_NFILE equ 20 ; maximum # files per process

ifdef OS2
STACKSLOP equ 512 ; stack slop for OS/2 system call overhead
else
STACKSLOP equ 256 ; stack slop for DOS interrupt overhead
endif

; __osfile flag values for DOS file handles

FOPEN equ 01H ; file handle open
FEOFLAG equ 02H ; end of file has been encountered
FCRLF equ 04H ; CR-LF across read buffer (in text mode)
FPIPE equ 08H ; file handle refers to a pipe
FRDONLY equ 10H ; file handle associated with read only file
FAPPEND equ 20H ; file handle opened O_APPEND
FDEV equ 40H ; file handle refers to device
FTEXT equ 80H ; file handle is in text mode


callos MACRO func
ifnb
mov ah,DOS_&func
endif
int DOS
ENDM


DOS equ 21H ; MS-DOS interrupt

DOS_exit equ 00000H ; exit offset (PSP:0000)
DOS_maxpara equ 00002H ; maximum paragraph (PSP:0002)
DOS_envp equ 0002cH ; environment address (PSP:002c)
DOS_cmdline equ 00080H ; command line offset (PSP:0080)

DOS_kill equ 00H ; terminate
DOS_echoread equ 01H ; read keyboard and echo
DOS_display equ 02H ; display character
DOS_auxinput equ 03H ; auxiliary input
DOS_auxoutput equ 04H ; auxiliary output
DOS_print equ 05H ; print character
DOS_conio equ 06H ; direct console i/o
DOS_coninput equ 07H ; direct console input
DOS_readkbd equ 08H ; read keyboard
DOS_message equ 09H ; display string
DOS_bufkbdin equ 0aH ; buffered keyboard input
DOS_kbdstatus equ 0bH ; check keyboard status
DOS_flshread equ 0cH ; flush buffer and read keyboard
DOS_diskreset equ 0dH ; disk reset
DOS_selectdisk equ 0eH ; select default disk
DOS_fcbopen equ 0fH ; open file with fcb
DOS_fcbclose equ 10H ; close file with fcb
DOS_fcbfirst equ 11H ; search for first entry with fcb
DOS_fcbnext equ 12H ; search for next entry with fcb
DOS_fcbdelete equ 13H ; delete file with fcb
DOS_fcbsread equ 14H ; sequential read with fcb
DOS_fcbswrite equ 15H ; sequential write with fcb
DOS_fcbcreate equ 16H ; create file with fcb
DOS_fcbrename equ 17H ; rename file with fcb
DOS_currentd equ 19H ; current default disk
DOS_setDMA equ 1aH ; set DMA
DOS_fcbrread equ 21H ; random read with fcb
DOS_fcbrwrite equ 22H ; random write with fcb
DOS_fcbsize equ 23H ; file size with fcb
DOS_fcbsetrec equ 24H ; set relative record with fcb
DOS_setvector equ 25H ; set interrupt vector
DOS_fcbbread equ 27H ; random block read with fcb
DOS_fcbbwrite equ 28H ; random block write with fcb
DOS_fcbparse equ 29H ; parse file name with fcb
DOS_getdate equ 2aH ; get date
DOS_setdate equ 2bH ; set date
DOS_gettime equ 2cH ; get time
DOS_settime equ 2dH ; set time
DOS_verify equ 2eH ; set/reset verify flag
DOS_getDMA equ 2fH ; get DMA
DOS_version equ 30H ; get version number
DOS_keep equ 31H ; keep process
DOS_cntlc equ 33H ; Cntl-C check
DOS_getvector equ 35H ; get interrupt vector
DOS_getdskspc equ 36H ; get disk free space
DOS_country equ 38H ; get country dependent info
DOS_mkdir equ 39H ; make subdirectory
DOS_rmdir equ 3aH ; remove subdirectory
DOS_chdir equ 3bH ; change subdirectory
DOS_create equ 3cH ; create pathname
DOS_open equ 3dH ; open pathname
DOS_close equ 3eH ; close file handle
DOS_read equ 3fH ; read from file handle
DOS_write equ 40H ; write from file handle
DOS_delete equ 41H ; delete pathname
DOS_lseek equ 42H ; move file pointer
DOS_filemode equ 43H ; get/set attributes of pathname
DOS_ioctl equ 44H ; ioctl for devices
DOS_dup equ 45H ; duplicate file handle
DOS_forcedup equ 46H ; force duplicate file handle
DOS_curdir equ 47H ; get current directory
DOS_allocmem equ 48H ; allocate memory block
DOS_freemem equ 49H ; free memory block
DOS_setmem equ 4aH ; set size of memory block
DOS_exec equ 4bH ; load and execute program
DOS_terminate equ 4cH ; terminate process with errorcode
DOS_wait equ 4dH ; get child process return code
DOS_findfirst equ 4eH ; find first file match
DOS_findnext equ 4fH ; find next file match
DOS_getverify equ 54H ; return current verify flag
DOS_rename equ 56H ; rename pathname
DOS_filedate equ 57H ; get/set file handle date/time
DOS_createnew equ 5BH ; create new file
DOS_locking equ 5CH ; file record locking/unlocking
DOS_sleep equ 89H ; delay process execution


; DOS error codes

doserr MACRO num,name,text
name equ num
ENDM

doserr 1, E_ifunc,
doserr 2, E_nofile,
doserr 3, E_nopath,
doserr 4, E_toomany,
doserr 5, E_access,
doserr 6, E_ihandle,
doserr 7, E_arena,
doserr 8, E_nomem,
doserr 9, E_iblock,
doserr 10, E_badenv,
doserr 11, E_badfmt,
doserr 12, E_iaccess,
doserr 13, E_idata,
doserr 14, E_unknown,
doserr 15, E_idrive,
doserr 16, E_curdir,
doserr 17, E_difdev,
doserr 18, E_nomore,
doserr 19, E_maxerr2,

; the following errors can occur only in DOS 3.0

doserr 32, E_sharerr,
doserr 33, E_lockerr,
doserr 34, E_maxerr3,

doserr 80, E_exist,


; DOS file attributes

A_ro equ 01H ; read-only file
A_h equ 02H ; hidden
A_s equ 04H ; system
A_v equ 08H ; volume ID
A_d equ 10H ; directory
A_a equ 20H ; archive

A_mod equ A_ro+A_h+A_s+A_a ; modifiable attributes

; OS/2 file creation bits

F_CREATFLAG equ 10h
F_OPENFLAG equ 01h
F_TRUNCFLAG equ 02H

; OS/2 device mask

IS_DEV equ 1
IS_PIPE equ 2

; end of msdos.inc
;-----------------------------------------------------------------------