
9.
Администрирование и
оперативное
управление
в ОС NetWare
Структура и правила написания NLM-модулей на языке С
Основ1п>1м средством разработки NLM-модулей, загружаемых на файло-
вом сервере, является компилятор Novell/Watcom
С
Network Compiler/386. Это
связано с тем, что только этот
С-компилятор
имеет в своем составе редактор
NLMLINK, позволяющий компоновать NLM-модули. Компоновщик WLINK,
входящий в состав компилятора Novell/Watcom Network С for DOS (средство
разработки приложений для DOS-рабочей сташщи), также позволяет созда-
вать NLM-модули.
Для разработки NLM-модуля необходимо вьшолнить следующие действия.
1.
Разработать тексты С-программ. Это обычные программы на язьпсе С,
где используются обращения к службам NetWare (примитивы NetWare для
NLM-модулей).
2.
Разработать make-файл (рис. 9.15).
3.
Запустить утилиту WMAKE для создания NLM-модуля:
WMAKE -f make-файл имя.пкп
В make-файле описьшаются имена компилятора и компоновщика, а также
состав каждого obj-файла и nlm-файла. Если
С-файл
был изменен, то после
запуска утилиты WMAKE выполняется компилящхя этого файла и перекомпо-
новка
obj-
и nlm- файла.
Файл определений, имя которого указьюается в make-файле, имеет расши-
рение DEF и содержит информащпо для компоновщика. В табл. 9.17 приведе-
ны ключевые слова, используемые в файле определений.
В файле определений *.DEF обязательными являются ключевые слова
DESCRIPTION, INPUT, OUTPUT, IMPORT
Для разработки прикладных программ, которые вьшолняются на PC, можно
использовать
С-компиляторы
фирм Watcom, Microsoft, Borland и Lattice. Для раз-
работки сетевых приложений необходимо дополнительно приобрести интерфейс
NetWare С Interface, включающий примитивы NetWare. Интерфейс поставляется
в виде библиотек для С-компиляторов, перечисленных
выше.
Компилятор Novell/
Watcom Network С for DOS уже имеет в своем составе соответствующую биб-
лиотеку из С интерфейса. С помощью этого компилятора можно помимо DOS-
приложений создавать и NLM-модули для файлового сервера.
# Описание переменных make-файла, используемых при
# задании параметров программ
перменная=значение
перменная=значение
# Определение имени компилятора
.C.OBJ:
WC1386 параметры
# Описание состава obj-файлов
имя.obj:
имя.с имя.с ... имя.Ь
имя.obJ: имя.с имя.с ... имя.Ь
# Описание состава NLM-модуля
имя.п1т: имя.obj
имя.оЬ]...
файл_определений.с1е£
# Описание имени компоновщика
nlmlink файл_определений
Рис. 9.15. Описание make-файла, используемого
при создании
NLM-модуля
568