int GetShellVersionInformation(BYTE *MajorVersion, BYTE *MinorVersion, BYTE *RevisionLevel);
Функция возвращает 0xFF при нормальном завершении или 0 при ошибке.
Параметры:
MajorVersion |
верхний (major) номер версии |
MinorVersion |
нижний (minor) номер версии |
RevisionLevel |
номер изменения (revision) |
int IntSwap(int UnswappedInteger);
Функция меняет местами байты в 16-битовом слове, которое передается ей в качестве параметра, возвращая полученное значение.
Параметры:
UnswappedInteger |
преобразуемое слово |
long LongSwap(long UnswappedLong);
Функция меняет местами байты в 32-битовом слове, которое передается ей в качестве параметра, возвращая полученное значение.
Параметры:
UnswappedLong |
преобразуемое слово |
int AttachToFileServer(char *ServerName, WORD *ConnectionID);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
ServerName |
указатель на текстовую строку с именем
файл-сервера |
ConnectionID |
адрес переменной типа WORD, в которую
будет записан номер созданного канала |
void DetachFromFileServer(WORD ConnectionID);
Параметры:
ConnectionID |
номер канала, распределенного серверу,
от которого вы собираетесь отключиться |
WORD GetPrimaryConnectionID(void);
Функция возвращает номер канала первичного сервера.
WORD GetDefaultConnectionID(void);
Функция возвращает номер канала текущего сервера.
void SetPreferredConnectionID(BYTE ConnectionID);
Параметры:
ConnectionID |
номер канала для сервера, который должен
стать предпочтительным |
int LoginToFileServer(char *ObjectName, WORD ObjectType, char *ObjectPassword);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
ObjectName |
указатель на имя пользователя, под
которым его зарегистрировал супервизор сети или
руководитель группы |
ObjectType |
тип объекта |
ObjectPassword |
указатель на текстовую строку,
содержащую пароль пользователя |
void Logout(void);
void LogoutFromFileServer(WORD ConnectionID);
Параметры:
ConnectionID |
номер канала сервера, от которого
выполняется отключение |
int GetVolumeName(int VolumeNumber, char*VolumeName);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
VolumeNumber |
номер тома, для которого необходимо
получить имя |
VolumeName |
указатель на буфер размером 16 байт, в
который будет записано имя тома |
int GetVolumeNamber(char*VolumeName, int *VolumeNumber);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
VolumeName |
имя тома |
VolumeNumber |
указатель на переменную, в которую будет
записан номер тома |
int GetVolumeInfoWithNumber(BYTE VolumeNumber, char *VolumeName, WORD *TotalBlocks, WORD *SectorsPerBlock, WORD *AvailableBlocks, WORD *TotalDirectorySlots, WORD *AvailableDirectorySlots, WORD *Removable);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
VolumeNumber |
номер тома, для которого необходимо
получить информацию |
VolumeName |
имя тома |
TotalBlocks |
общее количество блоков |
SectorsPerBlock |
количество секторов в одном блоке |
AvailableBlocks |
количество свободных блоков |
TotalDirectorySlots |
количество каталогов, имеющихся на томе |
AvailableDirectorySlots |
количество каталогов, которые можно
дополнительно создать на томе |
Removable |
признак того, что том является съемным |
int AllocPermanentDirectoryHandle(BYTE DirectoryHandle, char *DirectoryPath, char DriveLetter, BYTE *NewDirectoryHandle, BYTE *EffectiveRightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
полный путь к каталогу |
DriveLetter |
отображаемый диск |
NewDirectoryHandle |
указатель на переменную, в которую будет
записан индекс, связанный с отображаемым
каталогом |
EffectiveRightsMask |
указатель на байт памяти, в который
будет записана маска прав доступа пользователя в
данном каталоге |
int DeallocateDirectoryHandle(BYTE DirectoryHandle);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога, для которого удаляется
элемент из таблицы индексов |
int GetDirectoryHandle(char Drive);
Функция возвращает индекс каталога или 0 при ошибке.
Параметры:
Drive |
номер диска, для которого необходимо
получить индекс каталога (0 - A:, 1 - B:, и т. д.) |
int AllocTemporaryDirectoryHandle(BYTE DirectoryHandle, char *DirectoryPath, char DriveLetter, BYTE *NewDirectoryHandle, BYTE *EffectiveRightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
полный путь к каталогу |
DriveLetter |
отображаемый диск |
NewDirectoryHandle |
указатель на переменную, в которую будет
записан индекс, связанный с отображаемым
каталогом |
EffectiveRightsMask |
указатель на байт памяти, в который
будет записана маска прав доступа пользователя в
данном каталоге |
int ScanDirectoryInformation(BYTE DirectoryHandle, char *SearchDirectoryPath, int *SequenceNumber, char *DirectoryName, BYTE *CreationDateAndTime, long *OwnerObjectID, BYTE *MaximumRightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс просматриваемого каталога |
SearchDirectoryPath |
путь к просматриваемому каталогу |
SequenceNumber |
указатель на слово, которое должно
содержать нулевое значение при первом вызове
функции |
DirectoryName |
имя обнаруженного подкаталога |
CreationDateAndTime |
указатель на область памяти, размером 4
байта, в которую будет записана информация о дате
и времени создания найденного подкаталога |
OwnerObjectID |
указатель на слово, в котором будет
записан идентификатор пользователя, создавшего
каталог |
MaximumRightsMask |
указатель на байт, в который будет
записано значение маски прав доступа, связанное
с данным каталогом |
int CreateDirectory(BYTE DirectoryHandle, char* DirectoryPath, BYTE MaximumGightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
путь к каталогу |
MaximumRightsMask |
вид доступа, разрешенный пользователям
для данного rаталога |
int RenameDirectory(BYTE DirectoryHandle, char* DirectoryPath, char *NewDirectoryName);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
путь к каталогу |
NewDirectoryName |
новое имя каталога |
int DeleteDirectory(BYTE DirectoryHandle, char* DirectoryPath);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
путь к каталогу |
int GetEffectiveDirectoryRights(BYTE DirectoryHandle, char *DirectoryPath, BYTE *EffectiveRightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
путь к каталогу |
EffectiveRightsMask |
указатель на байт памяти, в который
будет записан байт маски прав доступа |
int SetDirectoryInformation(BYTE DirectoryHandle, char *DirectoryPath, BYTE *NewCreationDateAndTime, long NewOwnerObjectID, BYTE MaximumRightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
путь к каталогу |
NewCreationDateAndTime |
указатель на массив из четырех байт с
новыми значениями даты и времени |
NewOwnerObjectID |
идентификатор нового владельца
каталога |
MaximumRightsMask |
новое значение для маски прав доступа
каталога |
int ModifyMaximumRightsMask(BYTE DirectoryHandle, char *DirectoryPath, BYTE RevokeRightsMask, BYTE GrantRightsMask);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога |
DirectoryPath |
путь к каталогу |
RevokeRightsMask |
удаляемые права доступа |
GrantRightsMask |
добавляемые права доступа |
int _ScanFileInformation(BYTE DirectoryHandle, char *FilePath, BYTE SearchAttributes, int *SequenceNumber, char *FileName, BYTE *FileAttributes, BYTE *ExtendedFileAttributes, long *FileSize, char *CreationDate, char *LastAccessDate, char *LastUpdateDateAndTime, char *LastArchiveDateAndTime, long *FileOwnerID);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс просматриваемого каталога |
FilePath |
путь к просматриваемому каталогу |
SearchAttributes |
параметр определяет, какие типы файлов |
SequenceNumber |
параметр при первом вызове функции
должен указывать на переменную, которая имеет |
FileName |
указатель на буфер размером 15 байт, в
который будет записано имя найденного файла |
FileAttributes |
атрибуты файла |
ExtendedFileAttributes |
расширенные атрибуты файла |
FileSize |
размер файла |
CreationDate |
дата создания файла |
LastAccessDate |
дата последнего доступа к файлу |
LastUpdateDateAndTime |
дата и время последнего обновления |
LastArchiveDateAndTime |
дата и время выгрузки файла |
FileOwnerID |
идентификатор пользователя, создавшего
файл |
int SetFileInformation(BYTE DirectoryHandle, char *FilePath, BYTE SearchAttributes, BYTE FileAttributes, BYTE ExtendedFileAttributes, char *CreationDate, char *LastAccessDate, char *LastUpdateDateAndTime, char *LastArchiveDateAndTime, long *FileOwnerID);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс файла |
FilePath |
путь к файлу |
SearchAttributes |
тип файла |
FileAttributes |
новые атрибуты файла |
ExtendedFileAttributes |
новые расширенные атрибуты файла |
CreationDate |
новая дата создания файла |
LastAccessDate |
новая дата последнего доступа к файлу |
LastUpdateDateAndTime |
новые дата и время последнего
обновления содержимого файла |
LastArchiveDateAndTime |
новые дата и время выгрузки файла |
FileOwnerID |
новый идентификатор пользователя,
создавшего файл |
int GetExtendedFileAttributes(char *FilePath, BYTE *ExtendedFileAttributes);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FilePath |
путь к файлу |
ExtendedFileAttributes |
расширенные атрибуты файла |
int SetExtendedFileAttributes(char *FilePath, BYTE *NewExtendedFileattributes);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FilePath |
путь к файлу |
NewExtendedFileAttributes |
новые расширенные атрибуты файла |
int FileServerFileCopy(int FromHandle, int ToHandle, long SourceFileOffset, long DestinationFileOffset, long NumberOfBytesToCopy, long *BytesCopied);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FromHandle |
индекс файла, из которого копируются
данные |
ToHandle |
индекс файла, в который копируются
данные |
SourceFileOffset |
смещение в исходном файле |
DestinationFileOffset |
смещение в выходном файле |
NumberOfBytesToCopy |
количество копируемых байт |
BytesCopied |
указатель на переменную, в которую будет
записано количество действительно
скопированных байт |
int EraseFiles(BYTE DirectoryHandle, char *FilePath, BYTE SearchAttributes);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DirectoryHandle |
индекс каталога, в котором находится
удаляемый файл |
FilePath |
путь к удаляемому файлу |
SearchAttributes |
атрибуты удаляемого файла |
int LogFile(char *FileName, BYTE LockDirective,WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FileName |
путь к файлу, который необходимо
добавить в группу |
LockDirective |
параметр определяет, надо ли
блокировать файл сразу после его добавления в
группу |
Timeout |
период времени (в 18-х долях секунды), в
течение которого файл-сервер будет ожидать, если
файл нельзя заблокировать немедленно |
int ClearFile(char *FileName);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FileName |
путь к файлу, который необходимо удалить
из группы |
void ClearFileSet(void);
int LockFileSet(WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
Timeout |
период времени (в 18-х долях секунды), в
течение которого файл-сервер будет ожидать, если
группу файлов нельзя заблокировать немедленно |
int ReleaseFile(char *FileName);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FileName |
путь к файлу, который необходимо
разблокировать |
void ReleaseFileSet(void);
int LogPhysicalRecord(int FileHandle, long RecordStartOffset, long RecordLength, BYTE LockDirective,WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FileHandle |
индекс файла, которому принадлежит
блокируемая запись |
RecordStartOffset |
смещение от начала файла |
RecordLength |
размер блокируемой записи в байтах |
LockDirective |
параметр определяет, надо ли
блокировать запись сразу после добавления ее в
группу |
Timeout |
период времени (в 18-х долях секунды), в
течении которого файл-сервер будет ожидать, если
запись нельзя заблокировать немедленно |
int ClearPhysicalRecord(int FileHandle, long RecordStartOffset, long RecordLength);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FileHandle |
индекс файла, которому принадлежит
запись |
RecordStartOffset |
смещение от начала файла |
RecordLength |
размер блокируемой записи в байтах |
void ClearPhysicalRecordSet(void);
int LockPhysicalRecordSet(BYTE LockDirective, WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
LockDirective |
параметр LockDirective задает режим
блокирования. Если он равен нулю, записи
блокируются для монопольного использования
заблокировавшей записи программой. Если
параметр имеет значение единице, записи
блокируются для совместного использования в
режиме чтения |
Timeout |
период времени (в 18-х долях секунды), в
течение которого файл-сервер будет ожидать, если
группу записей нельзя заблокировать немедленно |
int ReleasePhysicalRecord(int FileHandle, long RecordStartOffset, long RecordLength);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
FileHandle |
индекс файла, которому принадлежит
запись |
RecordStartOffset |
смещение от начала файла |
RecordLength |
размер записи в байтах |
void ReleasePhysicalRecordSet(void);
int LogLogicalRecord(char LogicalRecordName, BYTE LockDirective,WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
LogicalRecordName |
имя логической записи, добавляемой в
группу блокируемых |
LockDirective |
параметр определяет, надо ли
блокировать запись сразу после добавления ее в
группу |
Timeout |
период времени (в 18-х долях секунды), в
течении которого файл-сервер будет ожидать, если
запись нельзя заблокировать немедленно |
int ClearLogicalRecord(char LogicalRecordName);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
LogicalRecordName |
имя логической записи |
void ClearLogicalRecordSet(void);
int LockLogicalRecordSet(WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
Timeout |
период времени (в 18-х долях секунды), в
течение которого файл-сервер будет ожидать, если
группу логических записей нельзя заблокировать
немедленно |
int ReleaseLogicalRecord(char LogicalRecordName);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
LogicalRecordName |
имя логической записи |
void ReleaseLogicalRecordSet(void);
int OpenSemaphore(char *SemaphoreName, int InitialValue, long *SemaphoreHandle, WORD *OpenCount);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SemaphoreName |
имя открываемого семафора |
InitialValue |
значение семафора при первом открытии |
SemaphoreHandle |
указатель на переменную, в которую будет
записан индекс открытого семафора |
OpenCount |
счетчик использования семафора |
int CloseSemaphore(long SemaphoreHandle);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SemaphoreHandle |
индекс семафора |
int ExamineSemaphore(long SemaphoreHandle, int *SemaphoreValue, WORD *OpenCount);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SemaphoreHandle |
индекс семафора |
SemaphoreValue |
значение семафора |
OpenCount |
счетчик использования |
int WaitOnSemaphore(long SemaphoreHandle, WORD Timeout);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SemaphoreHandle |
индекс семафора |
Timeout |
время, в течении которого функция
ожидает доступность ресурса (в 18-х долях секунды).
|
int SignalSemaphore(long SemaphoreHandle);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SemaphoreHandle |
индекс семафора |
int GetBinderyAccessLevel(BYTE *SecurityAccessLevel, long *ObjectID);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SecurityAccessLevel |
указатель на слово, в которое будет
записан уровень доступа |
ObjectID |
указатель на двойное слово, в которое
будет записан идентификатор пользователя |
int GetBinderyObjectName(long ObjectID, char *ObjectName, WORD *ObjectType);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
ObjectID |
идентификатор объекта |
ObjectName |
указатель на переменную, в которую будет
записано имя объекта |
ObjectType |
указатель на переменную, в которую будет
записан тип объекта |
int GetBinderyObjectID(char *ObjectName,WORD ObjectType, long *ObjectID);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
ObjectName |
имя объекта |
ObjectType |
тип объекта |
ObjectID |
указатель на переменную, в которую будет
записан идентификатор объекта |
int ScanBinderyObject(char *SearchObjectName, WORD SearchObjectType, long *ObjectID, char *ObjectName, WORD *ObjectType, char *ObjectHasProperties, char *ObjectFlag, char *ObjectSecurity);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SearchObjectName |
шаблон имени объекта |
SearchObjectType |
тип объекта, который нужно найти, или -1
для поиска объектов всех типов |
ObjectID |
при первом вызове в переменную, на
которую указывает параметр ObjectID, необходимо
записать значение -1. В дальнейшем в эту
переменную будет записываться идентификатор
найденного объекта |
ObjectName |
имя найденного объекта |
ObjectType |
тип найденного объекта |
ObjectHasProperties |
в переменную, на которую указывает
параметр ObjectHasProperties, записывается значение 0xFF,
если объект имеет дополнительную связанную с ним
информацию (Properties), которую можно извлечь
специально предназначенными для этого функциями
|
ObjectFlag |
флаг |
ObjectSecurity |
байт доступа |
int ScanProperty(char *ObjectName, WORD ObjectType, char *SearchPropertyName, long *SequenceNumber, char *PropertyName, char *PropertyFlag, char *PropertySecurity, char *PropertyHasValue, char *MoreProperties);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
ObjectName |
имя объекта |
ObjectType |
тип объекта |
SearchPropertyName |
имя записи или шаблон имени записи |
SequenceNumber |
при первом вызове переменная, на которую
указывает параметр SequenceNumber, должна содержать |
PropertyName |
имя записи |
PropertyFlag |
флаг записи |
PropertySecurity |
байт доступа |
PropertyHasValue |
признак того, что запись имеет значения |
MoreProperties |
признак того, что в объекте есть еще и
другие записи |
BYTE GetBroadcastMode(void);
Функция возвращает значение в диапазона от 0 до 3, соответствующее текущему режиму приема сообщений.
void SetBroadcastMode(BYTE BroadcastMode);
Параметры:
BroadcastMode |
новый режим приема сообщений |
int SendBroadcastMessage(char *Message, WORD *ConnectionList, BYTE *ResultList, WORD ConnectionCount);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
Message |
передаваемое сообщение |
ConnectionList |
указатель на массив слов, содержащий
номера каналов, используемых файл-сервером для
связи с рабочими станциями |
ResultList |
массив байт, в котором для каждой
станции отражается результат посылки сообщения |
ConnectionCount |
размер массива ConnectionList |
int LogNetworkMessage(char *Message);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
Message |
cообщение, которое должно быть записано
в журнал (файл net$log.msg в каталоге SYS:SYSTEM). Размер
сообщения не должен превышать 80 символов,
включая закрывающий строку двоичный ноль |
int GetBroadcastMessage(char *MessageBuffer);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
MessageBuffer |
буфер для принимаемого сообщения |
void GetFileServerDateAndTime(BYTE *DateAndTime);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
DateAndTime |
указатель на массив размером 7 байт, в
который будет записана информация о дате и
времени |
int GetFileServerDescriptionStrings(char *CompanyName, char *Revision, char *RevisionDate, char *CopyrightNotice);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
CompanyName |
указатель на буфер размером 80 байт, в
который будет записано название
фирмы-изготовителя NetWare |
Revision |
указатель на буфер размером 80 байт, в
который будут записаны номер версии и номер
изменений Novell NetWare |
RevisionDate |
указатель на буфер размером 24 байта, в
который будет записана дата внесения изменений |
CopyrightNotice |
указатель на буфер размером 80 байт, в
который будут записаны сведения о правах на
копирование операционной системы Novell NetWare |
void GetFileServerName(WORD ConnectionID, char *FileServerName);
Параметры:
ConnectionID |
номер канала, используемый рабочей
станцией для связи |
FileServerName |
указатель на буфер размером 48 байт, в
который будет записано имя файл-сервера |
int GetServerInformation(int StructSize, FILE_SERV_INFO *ServerInfo);
Параметры:
StructSize |
количество байт, которые необходимо
записать в структуру FILE_SERV_INFO, обычно
используется значение |
ServerInfo |
указатель на структуру FILE_SERV_INFO, в
которую будет записана информация о файл-сервере
|
Формат структуры FILE_SERV_INFO:
typedef struct { char serverName[48]; BYTE netwareVersion; BYTE netwareSubVersion; WORD maxConnectionsSupported; WORD connectionsInUse; WORD maxVolumesSupported; BYTE revisionLevel; BYTE SFTLevel; BYTE TTSLevel; WORD peakConnectionsUsed; BYTE accountingVersion; BYTE VAPversion; BYTE queingVersion; BYTE printServerVersion; BYTE virtualConsoleVersion; BYTE securityRestrictionLevel; BYTE internetBridgeSupport; } FILE_SERV_INFO;
Описание полей структуры FILE_SERV_INFO:
Имя поля |
Описание |
serverName |
имя файл-сервера |
netwareVersion |
версия операционной системы Novell NetWare,
работающей на данном файл-сервере |
netwareSubVersion |
номер изменения версии операционной
системы Novell NetWare, работающей на данном
файл-сервере |
maxConnectionsSupported |
максимальное количество каналов,
которые данный файл-сервер может создать с
рабочими станциями |
connectionsInUse |
количество используемых в настоящий
момент каналов |
maxVolumesSupported |
максимальное количество сетевых томов,
которое может быть создано на данном
файл-сервере |
revisionLevel |
номер изменений |
SFTLevel |
версия системы SFT |
TTSLevel |
версия системы обработки транзакций TTS |
peakConnectionsUsed |
пиковое количество используемых
каналов |
accountingVersion |
версия системы учета работы
пользователей |
VAPversion |
версия системы VAP |
queingVersion |
версия системы работы с очередями |
printServerVersion |
версия сервера печати |
virtualConsoleVersion |
версия виртуальной консоли |
securityRestrictionLevel |
уровень ограничения доступа |
internetBridgeSupport |
поддержка мостов между сетями |
int GetFileServerLoginStatus(int *LoginEnabledFlag);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
LoginEnabledFlag |
по адресу, заданному параметром
LoginEnabledFlag, функция запишет значение флага
разрешения подключения |
int SetFileServerDateAndTime(WORD Year, WORD Month, WORD Day, WORD Hour, WORD Minute, WORD Second);
Параметры:
Year |
новое значение для года |
Month |
месяц |
Day |
день месяца |
Hour |
часы |
Minute |
минуты |
Second |
секунды |
int DisableFileServerLogin(void);
Функция возвращает 0 при успешном завершении или код ошибки.
int EnableFileServerLogin(void);
Функция возвращает 0 при успешном завершении или код ошибки.
int DownFileServer(int ForceFlag);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
ForceFlag |
параметр определяет, надо ли завершать
работу файл-сервера, если есть рабочие станции,
открывшие файлы в сетевых каталогах. Если
параметр установлен в 0, при попытке завершить
работу файл-сервера возвращается код ошибки FFh,
если имеются открытые пользователями файлы. Если
значение параметра равно 1, сервер завершает свою
работу в любом случае |
В этом разделе мы приведем описание тех функций, предназначенных для работы с протоколом IPX, которые были использованы в нашей книге. Полное описание дано в документации, поставляющейся с библиотекой Novell NetWare C Interface.
int IPXInitialize(void) ;
Функция возвращает 0 при успешном завершении или код ошибки.
int IPXOpenSocket(char *SocketNumber, char SocketType) ;
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SocketNumber |
указатель на двухбайтовый массив,
содержащий значение сокета или ноль, если
требуется получить динамический сокет |
SocketType |
00h - короткоживущий сокет, |
int IPXCloseSocket(char *SocketNumber);
Функция возвращает 0 при успешном завершении или код ошибки.
Параметры:
SocketNumber |
указатель на двухбайтовый массив,
содержащий значение закрываемого сокета |
void IPXListenForPacket(ECB *EventControlBlock);
Параметры:
EventControlBlock |
указатель на блок ECB |
void IPXSendPacket(ECB *EventControlBlock);
Параметры:
EventControlBlock |
указатель на блок ECB |
void IPXCancelEvent(ECB *EventControlBlock);
Параметры:
EventControlBlock |
указатель на блок ECB |
void IPXGetInternetworkAddress(IPXAddress *NetworkAddress) ;
Параметры:
NetworkAddress |
указатель на массив из 12 байт, в который
будет записан полный сетевой адрес |
Сетевой адрес
typedef struct IPXAddress { BYTE network[4]; BYTE node[6]; BYTE socket[2]; } IPXAddress;
Заголовок пакета IPX
typedef struct IPXHeader { WORD checkSum; WORD length; BYTE transportControl; BYTE packetType; IPXAddress destination; IPXAddress source; } IPXHeader;
Дальние указатели на данные и функции
#define FARDATAPTR(type,var) type far *var #define FARCODEPTR(type,var) type (far *var)()
Дескриптор фрагмента
typedef struct ECBFragment { FARDATAPTR(void,address); WORD size; } ECBFragment;
Блок ECB
typedef struct ECB { FARDATAPTR(void, linkAddress); FARCODEPTR(void, ESRAddress); BYTE inUseFlag; BYTE completionCode; WORD socketNumber; BYTE IPXWorkspace[4]; BYTE driverWorkspace[12]; BYTE immediateAddress[6]; WORD fragmentCount; ECBFragment fragmentDescriptor[2]; } ECB;