// ===================================================
// Листинг 2. Программа для обнаружения сетевой
// оболочки, определения ее версии и вывода строк
// описания среды рабочей станции
//
// Файл version1\version1.cpp
//
// (C) A. Frolov, 1993
// ===================================================

#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <string.h>

void	PrintBuffer(char*);

void main(void) {

	char MajorVersion=0;
	char MinorVersion=0;
	char Revision=0;
	char Buffer[40];
	union REGS regs; struct SREGS sregs;

	regs.x.ax = 0xea01;
	regs.x.di = FP_OFF(Buffer);
	sregs.es = FP_SEG(Buffer);
	intdosx(&regs, &regs, &sregs);

	MajorVersion = regs.h.bh;
	MinorVersion = regs.h.bl;
	Revision     = regs.h.cl;


	printf("\nВерсия оболочки NetWare: %d.%d.%d\n",MajorVersion,
			MinorVersion, Revision);

	printf("\nСтроки описания среды: ");

	PrintBuffer(Buffer);

}

void PrintBuffer(char *Buffer) {
	char *ptr;

		for(ptr = Buffer; *ptr != '\0';) {
			printf("'%s' ", ptr);
			ptr = ptr + strlen(ptr) + 1;
		}
}
