Локальные сети персональных компьютеров. Работа с сервером Novell NetWare


Параметры должны быть заданы заглавными



Листинг 18

Изменение байта расширенных атрибутов // Файл seteattr\seteattr.cpp // // (C) A. Frolov, 1993 // =================================================== #include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#define BYTE unsigned char #define WORD unsigned int extern "C" int GetNetWareShellVersion(char *,char *, char *);
extern "C" int SetExtendedFileAttributes(char*, BYTE);
void main(int argc, char *argv[]) { char MajorVersion=0; char MinorVersion=0; char Revision=0; BYTE NewExtendedFileattributes; int ccode; printf("\n*SETEATTR* (C) Frolov A., 1993\n");
// Проверяем наличие сетевой оболочки asm push si GetNetWareShellVersion(&MajorVersion, &MinorVersion, &Revision);
asm pop si if(MajorVersion == 0) { printf("\nОболочка NetWare не загружена\n");
return; } // Необходимо задать путь к каталогу, удаляемые // и добавляемые права доступа if(argc < 3) { printf("Укажите путь к каталогу и " "устанавливаемый бит (T или I), " "\nнапример: seteattr sys:users\my.dat T");
return; } // Параметры должны быть заданы заглавными буквами strupr(argv[1]);
strupr(argv[2]);
// Определяем значение байта расширенных атрибутов NewExtendedFileattributes = 0x00; for(int i = 0; argv[2][i] != '\0' ; i++) { switch(argv[2][i]) { case 'T': NewExtendedFileattributes |= 0x10; break; case 'I': NewExtendedFileattributes |= 0x20; break; case '-': NewExtendedFileattributes = 0; break; default: printf("Ошибка в параметрах\n");
return; } } // Изменяем байт расширенных атрибутов ccode = SetExtendedFileAttributes(argv[1], NewExtendedFileattributes);
if(!ccode) printf("Байт расширенных атрибутов изменен\n");
else printf("Ошибка %02.2X\n", ccode);
}

Содержание  Назад  Вперед






Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий