import DataBlock from '../binary/dataBlock'
import {DataType} from '../binary/dataType'
import DataSection from "../binary/dataSection";
import FileHeader from "./fileHeader";
import OptionalHeader from "./optionalHeader";

// Описывает NT Header
export default class NtHeader extends DataSection {
  // Поля заголовка
  fields = {
    // PE\\0\\0
    Signature: new DataBlock(DataType.DWord),
  }

  // Вложенные заголовки
  to = {
    file: new FileHeader(),
    optional: new OptionalHeader(),
  }

  isValid() {
    return this.fields.Signature.toString() === 'PE\0\0'
  }
}
