- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (dos, 8086, bios)
- •Подпрограммы манипулирования (строками, памятью)
- •Математические подпрограммы
- •Подпрограммы распределения памяти
- •Прочие подпрограммы
- •Подпрограммы управления процессами
- •Cтандартные подпрограммы
- •Подпрограммы отображения текста в окнах
- •Подпрограммы работы со временем и датой
- •Подпрограммы с переменным списком аргументов
- •Environ
- •Errno, _doserrno, sys_errlist, sys_nerr
- •_Heaplen
- •_Osmajor, _osminor
- •_Stklen
- •Timezone
- •_Version
- •Absread
- •Abswrite
- •Allocmem
- •Asctime
- •Bdosptr
- •Bioscom
- •Biosdisk
- •Biosequip
- •Bioskey
- •Biosmemory
- •Biosprint
- •Biostime
- •Bsearch
- •_Clear87
- •Cleardevice
- •Clearerr
- •Closegraph
- •_Control87
- •Coreleft
- •Country
- •Сprintf
- •Creatnew
- •Creattemp
- •Ctrlbrk
- •Delline
- •Detectgraph
- •Difftime
- •Disable
- •Dosexterr
- •Dostounix
- •Drawpoly
- •Ellipse
- •Exec...
- •Farcalloc
- •Farcoreleft
- •Farfree
- •Farmalloc
- •Farrealloc
- •Fcloseall
- •Fgetchar
- •Fgetpos
- •Filelength
- •Fillellipse
- •Fillpoly
- •Findfirst
- •Findnext
- •Floodfill
- •Flushall
- •Fnmerge
- •Fnsplit
- •_Fpreset
- •Fprintf
- •Fputchar
- •Freemem
- •Freopen
- •Fsetpos
- •Geninterrupt
- •Getarccoords
- •Getaspectratio
- •Getbkcolor
- •Getcbrk
- •Getchar
- •Getcolor
- •Getcurdir
- •Getdate
- •Getdefaultpalette
- •Getdfree
- •Getdisk
- •Getdrivername
- •Getfatd
- •Getfillpattern
- •Getfillsettings
- •Getftime
- •Getgraphmode
- •Getimage
- •Getlinesettings
- •Getmaxcolor
- •Getmaxmode
- •Getmaxx
- •Getmaxy
- •Getmodename
- •Getmoderange
- •Getpallete
- •Getpalettesize
- •Getpass
- •Getpixel
- •Gettext
- •Gettextinfo
- •Gettextsettings
- •Gettime
- •Getvect
- •Getverify
- •Getviewsettings
- •Graphdefaults
- •Grapherrormsg
- •_Graphfreemem
- •_Graphgetmem
- •Graphresult
- •Harderr
- •Hardresume
- •Hardretn
- •Highvideo
- •Imagesize
- •Initgraph
- •Inportb
- •Insline
- •Installuserdriver
- •Installuserfont
- •Intdosx
- •Isalnum
- •Isalpha
- •Isascii
- •Iscntrl
- •Isdigit
- •Isgraph
- •Islower
- •Isprint
- •Ispunch
- •Isspace
- •Isupper
- •Isxdigit
- •Linerel
- •Loсaltime
- •Longjmp
- •Lowvideo
- •Lsearch
- •_Matherr
- •Matherr
- •Memccpy
- •Memicmp
- •Memmove
- •Movedata
- •Moverel
- •Movetext
- •Normvideo
- •Nosound
- •Outport
- •Outportb
- •Outtext
- •Outtextxy
- •Parsfnm
- •Pieslice
- •Putchar
- •Putimage
- •Putpixel
- •Puttext
- •Randbrd
- •Randbwr
- •Randomize
- •Realloc
- •Rectangle
- •Registerbgidriver
- •Registerbgifont
- •Restorecrtmode
- •Searchpath
- •Segread
- •Setactivepage
- •Setallpalette
- •Setaspectratio
- •Setbkcolor
- •Setblock
- •Setcbrk
- •Setcolor
- •Setdate
- •Setdisk
- •Setfillpattern
- •Setfillstyle
- •Setftime
- •Setgraphbufsize
- •Setgraphmode
- •Setlinestyle
- •Setmode
- •Setpalette
- •Setrgbpalette
- •Settextjustify
- •Settextstyle
- •Settime
- •Setusercharsize
- •Setvbuf
- •Setvect
- •Setverify
- •Setviewport
- •Setvisualpage
- •Setwritemode
- •Spawn...
- •Sprintf
- •_Status87
- •Strcmpi
- •Strcspn
- •_Strerror
- •Strerror
- •Stricmp
- •Strncat
- •Strncmp
- •Strncmpi
- •Strncpy
- •Strnicmp
- •Strnset
- •Strpbrk
- •Strrchr
- •Strtoul
- •Textattr
- •Textbackground
- •Textcolor
- •Textheight
- •Textmode
- •Textwidht
- •Tmpfile
- •Toascii
- •_Tolower
- •Tolower
- •_Toupper
- •Toupper
- •Ungetch
- •Unixtodos
- •Vfprintf
- •Vfscanf
- •Vprintf
- •Vsprintf
- •Vsscanf
Biosdisk
---------------------------------------------------------------
НазначениеВвод/вывод с жесткого или гибкого диска.
Синтаксис int biosdisk(int cmd, int drive, int head,
int track, int sector, int nsects,
void *buffer);
Прототип вbios.h
ЗамечанияЭта функция использует прерывание 0х13 для вы-
зова дисковых операций непосредственно из BIOS.
drive - номер используемого дисковода : 0 для
первого дисковода гибких дискет, 1 для второго,
2 для третьего и т.д. Для жесткого дисковода
величина 0х80 для drive определяет первый дис-
ковод, 0х81 - второй, 0х82 - третий и т.д.
Для жесткого диска определяется физический дис-
ковод, а не логическое разделение диска.
При необходимости прикладная программа должна
сама интерпретировать информацию из таблицы
разбиения диска.
cmd опредедяет действия, которые должны быть
выполнены.
В зависимости от значения cmd могут понадобить-
ся и другие параметры. Ниже приведены значения
cmd для IBM PC, XT, АТ или PS/2 и совместимых с
ними моделей:
0 - сброс дисковой системы. Контроллер дисково-
да выполняет принудительный сброс. Все осталь-
ные параметры игнорируются.
1 - возврат статуса выполнения последней диско-
вой операции. Все другие параметры игнорируют-
ся.
2 - читает один или более дисковых секторов в
память. Начальный сектор для чтения задается
параметрами head, track и sector. Число секто-
ров задается параметром nsect. Данные читаются
по 512 байт в секторе в buffer.
3 - записывает один или более секторов диска из
памяти. Начальный сектор для записи задается
head, track и sector. Число секторов задается
параметром nsect. Данные записываются по 512
байт в сектор из buffer.
4 - проверяет один или более секторов. Началь-
ный сектор задается head, track и sector. Число
секторов задается в nsect.
5 - форматирует дорожку. Дорожка задается пара-
метрами head и track. buffer указывает на таб-
лицу заголовков секторов, которые будут записы-
ваться в заданную track. Смотри техническую
документацию для IBM PC для описания этой таб-
лицы и операции форматирования
Следующие значения cmd допускаются только для
моделей ХТ, АТ, PS/2 и совместимых с ними:
6 - форматирует дорожку и устанавливает флаги
дефектных секторов.
7 - форматирует дисковод, начиная с заданной
дорожки.
8 - возвращает параметры активного дисковода.
Эта информация помещается в первые четыре байта
buffer.
9 - инициализация характеристик парного диско-
вода.
10 - производит длинное чтение, 512+4 байта на
сектор.
11 - производит длинную запись, 512+4 байта в
сектор.
12 - производит позиционирование дисковода.
13 - производит альтернативный сброс дисковода.
14 - читает буфер сектора.
15 - записывает буфер сектора.
16 - проверяет готовность заданного дисковода.
17 - проводит перекалибровку дисковода.
18 - диагностика контроллера RAM.
19 - диагностика дисковода.
20 - внутренняя диагностика контроллера.
Замечание: biosdisk работает с секторами диска
на более низком уровне, чем файловая система MS
-DOS, поэтому некорректное использование этой
функции может привести к порче файлов или ог-
лавления жесткого диска.
ВозвращаемоеЭти операции возвращают статусный байт,
значениесоставленный из следующих бит:
0х00 - операция прошла успешно
0х01 - неверная команда
0х02 - маркер адреса не найден
0x03 - запись на диск запрещена
0х04 - запись не найдена
0х05 - ошибка сброса
0x06 - изменилось содержание диска после пос-
ледней операции
0х07 - ошибка чтения параметров дисковода
0x08 - переполнение DMA
0х09 - попытка для DMA перейти границу 64 Кб
0x0A - обнаружен дефектный сектор
0х0В - обнаружен флаг дефектной дорожки
0x0C - трек недоступен
0х10 - ошибка кода коррекции при чтении диска
0х11 - коррекция данных с помощью кода коррек-
ции
0х20 - контроллер неисправен
0х40 - ошибка позиционирования
0х80 - некорректный ответ дисковода
0хВВ - неизвестная ошибка
0xCC - ошибка записи
0xE0 - неверный статус
0хFF - ошибка доступа
Заметим, что 0х11 не является ошибкой, т.к.
данные корректны. Значение возвращается с той
целью, чтобы дать возможность прикладной прог-
рамме самой сделать выбор.
ПереносимостьЭта функция работает только на IBM PC и ей
подобных.
Смотри такжеabsread, abswrite
----------------------------------------------------------------