Необходимо задать букву, обозначающую имя
Листинг 15
Просмотр маски прав доступа к каталогу // Файл getmask\getmask.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 GetEffectiveDirectoryRights(BYTE, char*, BYTE*);
void main(int argc, char *argv[]) { char MajorVersion=0; char MinorVersion=0; char Revision=0; BYTE RightsMask; int ccode; printf("\n*GETMASK* (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 < 2) { printf("Укажите путь к каталогу, " "\nнапример: getmask sys:users");
return; } // Параметр должен быть задан заглавными буквами strupr(argv[1]);
// Удаляем каталог ccode = GetEffectiveDirectoryRights(0, argv[1], &RightsMask);
if(!ccode) { printf("Права доступа: %02.2X\n", RightsMask);
if(RightsMask & 0x01) printf("Read\t(Чтение)\n");
if(RightsMask & 0x02) printf("Write\t(Запись)\n");
if(RightsMask & 0x04) printf( "Open\t(Открытие файлов)\n");
if(RightsMask & 0x08) printf("Create\t(Создание)\n");
if(RightsMask & 0x10) printf("Delete\t(Уничтожение)\n");
if(RightsMask & 0x20) printf("Parential\t" "(Определение прав)\n");
if(RightsMask & 0x40) printf("Search\t(Поиск)\n");
if(RightsMask & 0x80) printf("Modify\t" "(Изменение атрибутов)\n");
} else printf("Ошибка %02.2X\n", ccode);
}
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий