// ===================================================
// Листинг 21. Функции для NETBIOS
//
// Файл nbfunc.cpp
//
// (C) A. Frolov, 1993
// ===================================================

#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#include <mem.h>
#include <string.h>
#include "netbios.hpp"

// Добавляем имя

	void NCB::WAddName(char *name) {
		char buf[16];

// Проверяем длину имени

		if(strlen(name) > 15) {
			errno = 0xff;
			return;
		}
		strcpy(buf, name);

// При необходимости дополняем имя пробелами

		while (strlen(buf) < 15) strcat(buf, " ");

// Вызываем NETBIOS

		ncb.Cmd = NB_WAddName;
		strcpy(ncb.OurName, buf);
		NetBios();
		errno = ncb.FinalCCode;
	}

// Удаление имени

	void NCB::WDeleteName(char *name) {
		char buf[16];

// Проверяем длину имени

		if(strlen(name) > 15) {
			errno = 0xff;
			return;
		}
		strcpy(buf, name);

// При необходимости дополняем имя пробелами

		while (strlen(buf) < 15) strcat(buf, " ");

		strcpy(ncb.OurName, buf);

// Вызываем NETBIOS

		ncb.Cmd = NB_WDeleteName;
		NetBios();
		errno = ncb.FinalCCode;
	}

// Установка имени вызываемого партнера

	void NCB::SetCallName(char *name) {
		char buf[16];
		if(strlen(name) > 15) {
			errno = 0xff;
			return;
		}
		strcpy(buf, name);
		while (strlen(buf) < 15) strcat(buf, " ");
		strcpy(ncb.CallName, buf);
	}

// Установка имени нашей станции

	void NCB::SetOurName(char *name) {
		char buf[16];
		if(strlen(name) > 15) {
			errno = 0xff;
			return;
		}
		strcpy(buf, name);
		while (strlen(buf) < 15) strcat(buf, " ");
		strcpy(ncb.OurName, buf);
	}

