abswrite

 Функция            Запись абсолютных секторов на диск.

 Синтаксис          #include
                    int abswrite(int drive, int nsects,
                                 int lsect, void * buffer);

 Файл, содержащий   dos.h
 прототип

 Описание           abswrite записывает заданные сектора диска. Функ-
                    ция игнорирует логическую структуру диска и не об-
                    ращает внимание на файлы, блоки FAT или директо-
                    рии.

                    Примечание. При неверном использовании abswrite
                    может перезаписать файлы, директории или блоки
                    FAT.

                    аbswrite произвадит запись секторов диска посредс-
                    твом прерывания DOS 0x26.

                    drive = номер диска, на который производится за-
                            пись (0=А, 1=В, и т.д.)
                    nsects = количество записываемых секторов
                    lsect = начальный логический номер сектора
                    buffer = адрес памяти, откуда ,берутся данные.

                    Количество записываемых секторов ограничено суммар-
                    ным размером сегмента памяти,  расположенного  выше
                    адреса  buffer.  Таким  образом, 64К - максимальный
                    размер области памяти, который может быть обработан
                    за один вызов функции abswrite.

 Возвращаемое       При успешном завершении abswrite  возвращает 0.
 значение           При возникновении ошибки, функция возвращает
                    значение -1 и присваивает переменной errno значе-
                    ние регистра AX, получаемое при системном вызове.
                    Более детальную информацию об еrrno смотрите в
                    документации по DOS.

 Переносимость      abswrite уникальна для DOS.

 Смотрите также     absread biosdisk
EW1accessFW0

 Функция            Определяет возможность доступа к файлу.

 Синтаксис          #include
                    int access(const char * filename, int amode);

 Файл, содержащий   io.h
 прототип

 Описание           access проверяет файл c именем filename для
                    определения, существует ли он, может ли он быть
                    прочитан, записан или выполнен.

                    Список значений параметра amode:
                    06   проверка разрешения на чтение и запись;
                    04   проверка разрешения на чтение;
                    02   проверка разрешения на запись;
                    01   проверка на выполнение (игнорируется);
                    00   проверка на существование файла;

                    Примечание. Под управлением операционной системы
                    DOS все существующие файлы имеют доступ на чтение
                    (amode равен 04), поэтому 00 и 04 дают один и тот
                    же результат. Аналогично, значения 06 и 02 эквивалентны,
                   так как в DOS доступ на запись подразумевает и доступ на
                   чтение.

                    Если параметр filename является ссылкой на дирек-
                    торию, функция access просто проверяет, существует
                    данная директория или нет.

 Возвращаемое       Если требуемый способ доступа разрешен, access
 значение           возвращает значение 0, иначе возвращается значение
                    -1 и переменная errno получает одно из следующих
                    значений:

                      ENOENT - Маршрут  или имя файла не найдены
                      EACCES - Отказ доступа.

 Переносимость      Поддерживается  на системах UNIX.

 Смотрите также     chmod fstat stat

 Пример:

 #include 
 #include 

 int file_exists(char * filename);

 int main(void)
 {
    printf("Существует ли файл NOTEXIST.FIL: %s\n",
       file_exists("NOTEXIST.FIL") ?  "Да":"Нет");
 }

 int file_exists(char * filename)
 {
    return (access(filename, 0) == 0);
 }

 Результат:
 Существует ли файл NOTEXIST.FIL: Нет