#include <io.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>

int main(void)
{
  char buf[10];
  int io_handle;

  // Открываем устройство с именем IODRIVER
  if((io_handle = open("IODRIVER", O_RDWR)) == - 1)
  {
    // Если открыть не удалось, выводим код ошибки
    printf("Open: ошибка %d", errno);
    return errno;
  }

  // Читаем 8 байт из устройства в буфер buf
  if(read(io_handle, buf, 8) == -1)
  {
    // Если при чтении произошла ошибка,
    // выводим ее код
    printf("Read: ошибка %d", errno);
    return errno;
  }

  // Закрываем прочитанную строку нулем
  // для последующего вывода функцией printf
  buf[8]=0;
  printf("\nПолучена строка: %s", buf);

  // Записываем только что прочитанные данные
  // обратно на то же устройство
  if(write(io_handle, buf, 8) == -1)
  {
    // Если при записи произошла ошибка,
    // выводим ее код
    printf("Write: ошибка %d", errno);
    return errno;
  }

  // Закрываем устройство
  close(io_handle);
  return(0);
}

