/*

  Zerocat Chipflasher --- Flash free firmware, kick the Management Engine.

  Copyright (C) 2017, 2018, 2020, 2021, 2022  Kai Mertens <kmx@posteo.net>

  This file is part of Zerocat Chipflasher.

  Zerocat Chipflasher is free software: you can redistribute it and/or
  modify it under the terms of the GNU General Public License as
  published by the Free Software Foundation, either version 3 of the
  License, or (at your option) any later version.

  Zerocat Chipflasher is distributed in the hope that it will be
  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with Zerocat Chipflasher.
  If not, see <http://www.gnu.org/licenses/>.


***/


# ifndef __LINESPEC_C__
#   define __LINESPEC_C__


//  Structs
//  =======


struct LINESPEC_t linespec[LINESPEC_ARRAYSIZE] = {
  //LINESPECINDEX_SRECHEX
  {
    LINETYPE_SREC,
    PAYLOAD_HEX,            //payload bytes are represented by character pairs
    PAYLOAD_SREC,           //number of payload bytes per line
    FFMODE_SREC,
    STR_SRECORD
  },
  //LINESPECINDEX_SRECBIN
  {
    LINETYPE_SREC,
    PAYLOAD_BIN,            //payload bytes are binary values
    PAYLOAD_SREC,           //number of payload bytes per line
    FFMODE_SREC,
    STR_SRECORD
  },
  //LINESPECINDEX_HEXDMAIN
  {
    LINETYPE_HEXD,
    PAYLOAD_MAIN_ARRAY,     //payload should NOT got to SOTP area
    PAYLOAD_HEXD,           //number of payload bytes per line
    FFMODE_HEXD,
    STR_HEXD
  },
  //LINESPECINDEX_HEXDSOTP
  {
    LINETYPE_HEXD,
    PAYLOAD_SOTP_AREA,      //payload should go to SOTP area
    PAYLOAD_HEXD,           //number of payload bytes per line
    FFMODE_HEXD,
    STR_HEXD
  }
};

# endif
/* __LINESPEC_C__ */
