Files
HxCFloppyEmulator/libhxcfe/sources/xml_disk/xml_disk.h
T

195 lines
8.2 KiB
C

typedef struct keyword_
{
char * keyword;
int32_t state;
int32_t prev_state;
}keyword;
enum
{
ENTRY_STATE,
LIBHXCFE_VERSION,
DISK_LAYOUT,
DISK_LAYOUT_NAME,
DISK_LAYOUT_DESCRIPTION,
FILEEXT,
FILESIZE,
INTERFACE_MODE,
WRITE_PROTECT,
DOUBLE_STEP,
LAYOUT,
DISK_CRC32,
NUMBEROFTRACK,
NUMBEROFSIDE,
FORMAT,
MINNUMBEROFTRACKS,
MAXNUMBEROFTRACKS,
NUMBEROFSECTOR,
SECTORSIZE,
INTERLEAVE,
INTERLEAVE_TRACK,
BITRATE,
SKEW,
SKEW_TRACK,
SKEW_PER_TRACK,
SKEW_PER_SIDE,
GAP3,
PREGAP,
FORMATVALUE,
RPM,
TRACK_LENGTH,
SECTORIDSTART,
TRACKLIST,
TRACK,
DATAOFFSET,
FORMAT_TRACK,
NUMBEROFSECTOR_TRACK,
SECTORSIZE_TRACK,
STARTSECTORID_TRACK,
SECTORLIST,
SECTOR,
TRACKID_SECTOR,
SIZEID_SECTOR,
SECTORDATA_SECTOR,
SECTORSIZE_SECTOR,
DATAFILL_SECTOR,
DATAOFFSETSECTOR,
ADDRESSMARK_SECTOR,
DATAMARK_SECTOR,
DATACRC_SECTOR,
DATACRCSTATUS_SECTOR,
HEADERCRC_SECTOR,
HEADERCRCSTATUS_SECTOR,
SECTORID_SECTOR,
SIDEID_SECTOR,
TRACK_GAP3,
TRACK_PREGAP,
TRACK_PREGAP_US,
SET_INDEX_LENGTH,
SET_INDEX_POSITION,
FORMAT_SECTOR,
START_SECTOR_CELL,
START_DATASECTOR_CELL,
END_SECTOR_CELL,
SECTOR_SECTOR_US,
SECTOR_DURATION_US,
TRACK_LENGTH_CELLS,
TRACK_LENGTH_US,
TRACK_WEAKBITS_CELLS,
TRACK_WEAKBITS_PERCENT,
SECTOR_STATUS,
SECTOR_WEAKBITS_CELLS,
SECTOR_WEAKBITS_PERCENT,
SECTORHEADER_WEAKBITS_CELLS,
SECTORHEADER_WEAKBITS_PERCENT,
SECTORDATA_WEAKBITS_CELLS,
SECTORDATA_WEAKBITS_PERCENT,
TRACK_PULSES,
TRACK_PULSES_PERCENT,
TRACK_PULSES_HISTO_PERCENT,
SECTORD_PULSES,
SECTORD_PULSES_HISTO_PERCENT,
TRACK_STREAM_SOURCE,
TRACK_STREAM_INDEX_CNT,
TRACK_STREAM_TOTAL_DURATION,
TRACK_STREAM_TOTAL_PULSES,
TRACK_STREAM_INTERINDEX_PULSES,
TRACK_STREAM_INTERINDEX_DURATION
};
keyword keyword_list[]=
{
{"disk_layout", DISK_LAYOUT, ENTRY_STATE},
{"libhxcfe_version", LIBHXCFE_VERSION, DISK_LAYOUT},
{"disk_layout_name", DISK_LAYOUT_NAME, DISK_LAYOUT},
{"disk_layout_description", DISK_LAYOUT_DESCRIPTION, DISK_LAYOUT},
{"prefered_file_extension", FILEEXT, DISK_LAYOUT},
{"file_size", FILESIZE, DISK_LAYOUT},
{"interface_mode", INTERFACE_MODE, DISK_LAYOUT},
{"write_protected", WRITE_PROTECT, DISK_LAYOUT},
{"double_step", DOUBLE_STEP, DISK_LAYOUT},
{"layout", LAYOUT, DISK_LAYOUT},
{"min_number_of_tracks", MINNUMBEROFTRACKS, LAYOUT},
{"max_number_of_tracks", MAXNUMBEROFTRACKS, LAYOUT},
{"number_of_track", NUMBEROFTRACK, LAYOUT},
{"number_of_side", NUMBEROFSIDE, LAYOUT},
{"format", FORMAT, LAYOUT},
{"bitrate", BITRATE, LAYOUT},
{"sector_per_track", NUMBEROFSECTOR, LAYOUT},
{"sector_size", SECTORSIZE, LAYOUT},
{"interleave", INTERLEAVE, LAYOUT},
{"skew", SKEW, LAYOUT},
{"skew_per_track", SKEW_PER_TRACK, LAYOUT},
{"skew_per_side", SKEW_PER_SIDE, LAYOUT},
{"formatvalue", FORMATVALUE, LAYOUT},
{"gap3", GAP3, LAYOUT},
{"pregap", PREGAP, LAYOUT},
{"pregap_us", TRACK_PREGAP_US, LAYOUT},
{"rpm", RPM, LAYOUT},
{"track_len_us", TRACK_LENGTH, LAYOUT},
{"start_sector_id", SECTORIDSTART, LAYOUT},
{"track_list", TRACKLIST, LAYOUT},
{"index_len_us", SET_INDEX_LENGTH, LAYOUT},
{"add_index_us", SET_INDEX_POSITION, LAYOUT},
{"crc32", DISK_CRC32, LAYOUT},
{"track", TRACK, TRACKLIST},
{"data_offset", DATAOFFSET, TRACK},
{"format", FORMAT_TRACK, TRACK},
{"sector_per_track", NUMBEROFSECTOR_TRACK, TRACK},
{"sector_size", SECTORSIZE_TRACK, TRACK},
{"start_sector_id", STARTSECTORID_TRACK, TRACK},
{"sector_list", SECTORLIST, TRACK},
{"gap3", TRACK_GAP3, TRACK},
{"pregap", TRACK_PREGAP, TRACK},
{"pregap_us", TRACK_PREGAP_US, TRACK},
{"skew", SKEW_TRACK, TRACK},
{"interleave", INTERLEAVE_TRACK, TRACK},
{"index_len_us", SET_INDEX_LENGTH, TRACK},
{"add_index_us", SET_INDEX_POSITION, TRACK},
{"track_length_cells", TRACK_LENGTH_CELLS, TRACK},
{"track_length_us", TRACK_LENGTH_US, TRACK},
{"track_weakbits_cells", TRACK_WEAKBITS_CELLS, TRACK},
{"track_weakbits_percent", TRACK_WEAKBITS_PERCENT, TRACK},
{"track_pulses", TRACK_PULSES, TRACK},
{"track_pulses_percent", TRACK_PULSES_PERCENT, TRACK},
{"track_pulses_histo_percent", TRACK_PULSES_HISTO_PERCENT, TRACK},
{"stream_source", TRACK_STREAM_SOURCE, TRACK},
{"stream_index_cnt", TRACK_STREAM_INDEX_CNT, TRACK},
{"stream_total_duration", TRACK_STREAM_TOTAL_DURATION, TRACK},
{"stream_total_pulses", TRACK_STREAM_TOTAL_PULSES, TRACK},
{"stream_interindex_pulses", TRACK_STREAM_INTERINDEX_PULSES, TRACK},
{"stream_interindex_duration", TRACK_STREAM_INTERINDEX_DURATION, TRACK},
{"sector", SECTOR, SECTORLIST},
{"track_id", TRACKID_SECTOR, SECTOR},
{"side_id", SIDEID_SECTOR, SECTOR},
{"sector_id", SECTORID_SECTOR, SECTOR},
{"size_id", SIZEID_SECTOR, SECTOR},
{"data_fill", DATAFILL_SECTOR, SECTOR},
{"addressmark", ADDRESSMARK_SECTOR, SECTOR},
{"datamark", DATAMARK_SECTOR, SECTOR},
{"data_crc", DATACRC_SECTOR, SECTOR},
{"data_crc_status", DATACRCSTATUS_SECTOR, SECTOR},
{"header_crc", HEADERCRC_SECTOR, SECTOR},
{"header_crc_status", HEADERCRCSTATUS_SECTOR, SECTOR},
{"sector_data", SECTORDATA_SECTOR, SECTOR},
{"sector_size", SECTORSIZE_SECTOR, SECTOR},
{"data_offset", DATAOFFSETSECTOR, SECTOR},
{"format", FORMAT_SECTOR, SECTOR},
{"start_sector_cell", START_SECTOR_CELL, SECTOR},
{"start_datasector_cell", START_DATASECTOR_CELL, SECTOR},
{"end_sector_cell", END_SECTOR_CELL, SECTOR},
{"start_sector_us", SECTOR_SECTOR_US, SECTOR},
{"sector_duration_us", SECTOR_DURATION_US, SECTOR},
{"special_status", SECTOR_STATUS, SECTOR},
{"sector_weakbits_cells", SECTOR_WEAKBITS_CELLS, SECTOR},
{"sector_weakbits_percent", SECTOR_WEAKBITS_PERCENT, SECTOR},
{"sectorheader_weakbits_cells", SECTORHEADER_WEAKBITS_CELLS, SECTOR},
{"sectorheader_weakbits_percent", SECTORHEADER_WEAKBITS_PERCENT, SECTOR},
{"sectordata_weakbits_cells", SECTORDATA_WEAKBITS_CELLS, SECTOR},
{"sectordata_weakbits_percent", SECTORDATA_WEAKBITS_PERCENT, SECTOR},
{"sector_pulses", SECTORD_PULSES, SECTOR},
{"sector_pulses_histo_percent", SECTORD_PULSES_HISTO_PERCENT, SECTOR},
{0,0,0}
};