109 #define KK_IHEX_VERSION "2019-08-07" 
  113 #ifdef IHEX_USE_STDBOOL 
  115 typedef bool ihex_bool_t;
 
  117 typedef uint_fast8_t ihex_bool_t;
 
  120 typedef uint_least32_t ihex_address_t;
 
  121 typedef uint_least16_t ihex_segment_t;
 
  122 typedef int ihex_count_t;
 
  128 #ifndef IHEX_LINE_MAX_LENGTH 
  129 #define IHEX_LINE_MAX_LENGTH 255 
  133     IHEX_FLAG_ADDRESS_OVERFLOW = 0x80   
 
  135 typedef uint8_t ihex_flags_t;
 
  138     ihex_address_t  address;
 
  139 #ifndef IHEX_DISABLE_SEGMENTS 
  140     ihex_segment_t  segment;
 
  145     uint8_t         data[IHEX_LINE_MAX_LENGTH + 1];
 
  148 enum ihex_record_type {
 
  150     IHEX_END_OF_FILE_RECORD,
 
  151     IHEX_EXTENDED_SEGMENT_ADDRESS_RECORD,
 
  152     IHEX_START_SEGMENT_ADDRESS_RECORD,
 
  153     IHEX_EXTENDED_LINEAR_ADDRESS_RECORD,
 
  154     IHEX_START_LINEAR_ADDRESS_RECORD
 
  156 typedef uint8_t ihex_record_type_t;
 
  158 #ifndef IHEX_DISABLE_SEGMENTS 
  164 #define IHEX_LINEAR_ADDRESS(ihex) ((ihex)->address + (((ihex_address_t)((ihex)->segment)) << 4)) 
  175 #define IHEX_BYTE_ADDRESS(ihex, byte_index) ((((ihex)->address + (byte_index)) & 0xFFFFU) + (((ihex_address_t)((ihex)->segment)) << 4)) 
  179 #define IHEX_LINEAR_ADDRESS(ihex) ((ihex)->address) 
  180 #define IHEX_BYTE_ADDRESS(ihex, byte_index) ((ihex)->address + (byte_index)) 
  185 #ifndef IHEX_NEWLINE_STRING 
  186 #define IHEX_NEWLINE_STRING "\n" 
Definition: kk_ihex.h:137