- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (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
Bdosptr
-----------------------------------------------------------------
НазначениеСистемный вызов MS-DOS.
Синтаксис int bdosptr(int dosfun, void *argument,unsigned
dosal);
Прототип вdos.h
Замечанияbdosptr обеспечивает прямой доступ ко многим
системным вызовам MS-DOS. Смотри руководство
системного программиста (Programmer's Reference
Manual) для детализации каждого системного вы-
зова.
Те системные вызовы, которые требуют целый ар-
гумент, используют bdos, те же, которые требуют
указатель на аргумент, используют bdosptr.
Для малых модeлей данных (tiny, small и medium)
bdos и bdosptr аналогичны. В больших моделях
данных (compact, largе и huge), очень важно ис-
пользование именно bdosptr для системных вызо-
вов, которые требуют указатель в качестве аргу-
мента вызова.
dosfun описана в Руководстве программиста по MS
-DOS.
В малых моделях параметр argument в bdosptr за-
дается в DX; в больших моделях этот параметр
задается парой величин DS:DX, используемой в
системныx вызоваx.
dosal - значение регистра AL.
Возвращаемоеbdosptr в случае успешного завершения возвра-
значениещает значение регистра AX, а в случае ошибки
-1. Кроме того, в случае ошибки устанавливаются
значения _doserrno и errno.
ПереносимостьУникальна для MS-DOS.
Прототип вdos.h
Смотри такжеbdos, geninterrupt, int86, int86x, intdos,
intdosx
Пример Смотри harderr
----------------------------------------------------------------
Bioscom
----------------------------------------------------------------
НазначениеКоммуникация ввода/вывода.
Синтаксисint bioscom(int cmd, char byte, int port)
Прототип вbios.h
Замечанияbioscom осуществляет различные коммуникационные
связи в соответствии с протоколом обмена интер-
фейса RS232 через порт, заданный в port.
Величина port равная 0 соответствует COM1, рав-
ная 1 - COM2 и т.д.
Значение cmd может быть одним из следующиx:
0 - устанавливает коммуникационные параметры
равные значению, указанному в byte.
1 - посылает в линию связи символ из byte.
2 - получает символ из линии связи.
3 - возвращает текущее состояние коммуникацион-
ного порта.
byte представляет собой комбинацию из следующих
битов:
0х02 7 бит данных
0х03 8 бит данных
0х00 1 стоп бит
0х04 2 стоп бит
0х00 отсутствие контроля четности
0х08 контроль на нечетности
0х18 контроль четности
0х00 110 бод
0х20 150 бод
0х40 300 бод
0х60 600 бод
0х80 1200 бод
0хA0 2400 бод
0хC0 4800 бод
0хE0 9600 бод
Например, заданное в byte значение 0хEB (0хE0|0
х08|0х00|0х03) устанавливает коммуникационный
порт в 9600 бод, контроль на нечетность, 1 стоп
-бит и 8 бит данныx. Функция bioscom использует
прерывание BIOS 0x14.
ВозвращаемоеДля всеx значений cmd кодом возврата является
значение16-битовое целое, в котором 8 старшиx бит явля-
ются битами состояния, а 8 младших - изменяются
в зависимости от значения cmd.
Старшие биты кода возврата определяются следую-
щим образом:
бит 15 - истек тайм-аут
бит 14 - сдвиговый регистр передачи пуст
бит 13 - передающий регистр-защелка пуст
бит 12 - фиксация завершения
бит 11 - ошибка кодирования
бит 10 - ошибка четности
бит 9 - ошибка переполнения
бит 8 - готовность данныx
Если значение cmd=1 и 15-ый бит установлен, то
значение byte не может быть передано. В против-
ном случае оставшиеся старшие и младшие биты
устанавливаются соответствующим образом.
При обнаружении ошибки устанавливается по край-
ней мере один из старших битов. Если старшие
биты не установлены, то байт был принят без
ошибки.
При значении cmd 0 или 3, старшие биты возвра-
щаемого значения установлены как описано выше,
а младшие биты определяются следующим образом:
бит 7 - получен сигнал открытия линии
бит 6 - индикатор кольца
бит 5 - готовность набора данныx
бит 4 - посылка сброса
бит 3 - получен дельта-сигнал открытия линии.
бит 2 - обрыв кольца
бит 1 - завершение модификации набора данных
бит 0 - дельта-сброс
ПереносимостьДанная функция работает только на IBM PC и
совместимых моделях.
Пример
/* Демонстрационный пример работы bioscom */
#include<bios.h>
#include<conio.h>
#define COM1 0
#define DATA_READY 0x100
/* 1200 бод, 7 бит, 1 стоп-бит, контроль
четности отменен */
#define SETTINGS (0x80|0x02|0x00|0x00)
main()
{
int register in,out,status;
bioscom(0,SETTINGS,COM1);
cprintf("...BIOSCOM [ESC] для завершения "
" ...\n");
while(1)
{
status = bioscom(3,0,COM1);
if (status & DATA_READY)
if ((out = bioscom(2,0,COM1) & 0x7F) != 0)
putch(out);
if (kbhit())
{
if ((in = getch()) == '\x1B')
return(0);
bioscom(1,in,COM1)
}
}
}
---------------------------------------------------------------