home *** CD-ROM | disk | FTP | other *** search
- /* GLOBALS.H */
-
- /* Global variables used by the linker in approximate alphabetical order. */
-
- bit_32 address_base;
- bit_32 align_mask[6]=
- {0L, 0L, 1L, 15L, 255L, 3L};
- boolean_switch_type align_exe_header = {True};
- char *align_text[6]=
- {"Absolute",
- "Byte",
- "Word",
- "Paragraph",
- "Page",
- "Dword"};
- segment_entry_ptr active_segment;
- #define Active_segment (*active_segment)
- string_ptr ampersand_string;
- string_ptr and_string;
- string_ptr at_string;
- string_ptr backslash_dot_string;
- string_ptr backslash_dot_dot_string;
- string_ptr backslash_string;
- string_ptr bar_string;
- lname_entry_ptr BSS_lname;
- bit_16_switch_type buffer_size =
- {0x8000, 512, 0xFE00, 0x8000, False};
- lname_entry_ptr c_common_lname;
- boolean_switch_type case_ignore = {True};
- string_ptr class_string;
- string_ptr close_paren_string;
- string_ptr close_angle_string;
- lname_entry_ptr codeview_class_DEBSYM;
- lname_entry_ptr codeview_class_DEBTYP;
- bit_16 codeview_information_present = False;
- lname_entry_ptr codeview_segment_SYMBOLS;
- lname_entry_ptr codeview_segment_TYPES;
- string_ptr colon_string;
- string_ptr com_extension_string;
- char *combine_text[10]=
- {"Private",
- "Undefined",
- "Public",
- "Undefined",
- "Public",
- "Stack",
- "Common",
- "Public"
- "Undefined",
- "Blank Common"};
- boolean_switch_type comfile = {False};
- string_ptr comma_string;
- bit_16_switch_type CPARMAXALLOC =
- {0xFFFF, 0x0, 0xFFFF, 0xFFFF, False};
- string_ptr current_filename;
- string_ptr current_path;
- obj_record_header_ptr current_record_header;
- #define Current_record_header (*current_record_header)
- bit_32 current_record_offset;
- string_ptr default_directory_string;
- string_ptr default_drive_string;
- string_ptr default_extension;
- string_ptr default_filename;
- char_ptr default_prompt;
- bit_16_switch_type detail_level =
- {0, 0, 5, 0, False};
- string_ptr device_AUX;
- string_ptr device_CON;
- string_ptr device_PRN;
- lname_entry_ptr DGROUP_lname;
- boolean_switch_type DOSSEG = {False};
- string_ptr dot_string;
- DTA_ptr DTA;
- pool_descriptor_type dynamic_pool;
- segment_entry_ptr edata_segment = Null;
- obj_ptr_type end_of_record;
- obj_ptr_type end_of_last_LIDATA_record;
- segment_entry_ptr end_segment = Null;
- string_ptr env_extension_string;
- string_ptr exclamation_string;
- string_ptr exe_extension_string;
- file_info_list exe_file_list = {Null, Null};
- EXE_header_ptr exe_header;
- #define Exe_header (*exe_header)
- bit_32 exe_header_size;
- bit_32 exec_image_start_time;
- boolean_switch_type exechecksum = {False};
- bit_16 exefile;
- public_entry_list external_list = {Null, Null};
- public_entry_ptr_array externals;
- string_ptr false_string;
- lname_entry_ptr FAR_BSS_lname;
- public_entry_ptr far_communals = Null;
- fixup_type fixup;
- bit_16 FIXUPP_contains_only_threads;
- bit_16 fixup_index;
- bit_32 fixup_start_time;
- bit_16 frame_absolute;
- thread_type frame_thread[4];
- pool_descriptor_type free_pool;
- lname_entry_ptr generated_lname;
- group_entry_ptr_array gnames;
- group_entry_ptr_array group_hash_table;
- group_entry_list group_list = {Null, Null};
- bit_16_switch_type group_table_hash_size =
- {25, 1, 1023, 25, False};
- string_ptr group_string;
- boolean_switch_type help;
- string_ptr help_extension_string;
- string_ptr help_filename;
- bit_32 highest_uninitialized_byte;
- lname_entry_ptr HUGE_BSS_lname;
- public_entry_ptr huge_communals = Null;
- file_type infile;
- byte_ptr infile_buffer;
- bit_16 initial_IP = 0;
- bit_16 initial_CS = 0;
- union REGS inregs;
- segment_entry_ptr largest_stack_seg;
- #define Largest_stack_seg (*largest_stack_seg)
- bit_32 largest_stack_seg_length;
- lseg_ptr last_LxDATA_lseg;
- #define last_LxDATA_Lseg (*last_LxDATA_lseg)
- bit_16 last_LxDATA_offset;
- bit_8 last_LxDATA_record_type;
- obj_record_header_ptr last_LIDATA_record_header;
- #define Last_LIDATA_record_header (*last_LIDATA_record_header)
- bit_8 last_LIDATA_record[MAX_ELEMENT_SIZE];
- string_ptr lib_extension_string;
- file_info_list lib_file_list = {Null, Null};
- bit_32 library_directory_start_time;
- bit_32 library_processing_start_time;
- bit_16 library_request_count = 0;
- bit_16 LIDATA_index;
- bit_16 LIDATA_offset;
- bit_16 link_step = 0;
- bit_32 linker_end_time;
- bit_32 linker_start_time;
- lname_entry_ptr_array lname_hash_table;
- bit_16_switch_type lname_table_hash_size =
- {25, 1, 1023, 25, False};
- lname_entry_ptr_array lnames;
- byte_ptr lseg_data_ptr;
- string_ptr lst_extension_string;
- file_info_list lst_file_list = {Null, Null};
- bit_16_switch_type map =
- {2048, 1, 16384, 2048, False};
- bit_32 map_start_time;
- bit_16_switch_type max_externals =
- {512, 1, 1024, 512, False};
- bit_16_switch_type max_groups =
- {32, 1, 1024, 32, False};
- bit_16_switch_type max_lnames =
- {512, 1, 1024, 512, False};
- bit_16_switch_type max_segments =
- {128, 1, 1024, 128, False};
- string_ptr minus_string;
- char *mode_text[2]=
- {"Self-relative",
- "Segment-relative"};
- bit_16 more_tokens;
- bit_16 n_externals;
- bit_16 n_groups;
- bit_16 n_lnames;
- bit_16 n_publics = 0;
- bit_16 n_publics_to_sort;
- bit_16 n_relocation_items = 0;
- bit_16 n_segments;
- public_entry_ptr near_communals = Null;
- bit_32 next_available_address;
- string_ptr next_token;
- lname_entry_ptr none_lname;
- string_ptr not_string;
- string_ptr null_string;
- string_ptr obj_extension_string;
- file_info_list obj_file_list = {Null, Null};
- obj_ptr_type obj_ptr;
- boolean_switch_type objchecksum = {False};
- byte object_file_element[MAX_ELEMENT_SIZE];
- bit_32 object_module_start_time;
- DTA_ptr old_DTA;
- string_ptr open_angle_string;
- string_ptr open_paren_string;
- string_ptr or_string;
- byte_ptr order_expression_char_ptr;
- bit_32 order_start_time;
- text_switch_type ordering = {Null};
- file_type outfile;
- byte_ptr outfile_buffer;
- union REGS outregs;
- bit_16_switch_type pack_code =
- {0xFFFA, 1, 0xFFFF, 0xFFFA, False};
- string_ptr parm_string;
- boolean_switch_type pause = {False};
- string_ptr plus_string;
- string_ptr program_directory_string;
- bit_16 prompting_for;
- bit_16 prompt_next_stdin = False;
- public_entry_ptr_array public_hash_table;
- bit_16_switch_type public_table_hash_size =
- {525, 1, 1023, 525, False};
- public_entry_ptr_array public_sort_array;
- bit_32 secondary_init_start_time;
- segment_entry_ptr_array segment_hash_table;
- segment_entry_list segment_list = {Null, Null};
- string_ptr segment_string;
- bit_16_switch_type segment_table_hash_size =
- {25, 1, 1023, 25, False};
- segment_entry_list segments_ordered_list;
- segment_entry_list segments_unordered_list;
- struct SREGS segregs;
- string_ptr semicolon_string;
- lseg_ptr_array snames;
- string_ptr space_string;
- bit_16_switch_type stack =
- {0, 0, 0xFFFF, 0, False};
- lname_entry_ptr STACK_lname;
- bit_16 stack_segment_found = False;
- string_ptr star_string;
- fixup_type start_address;
- bit_16 start_address_found = False;
- pool_descriptor_type static_pool;
- boolean_switch_type statistics = {False};
- bit_32 statistics_start_time;
- bit_32 step_time;
- string_ptr sys_extension_string;
- boolean_switch_type sysfile = {False};
- thread_type target_thread[4];
- file_info_ptr temp_file;
- text_switch_type temp_filename = {Null};
- byte temp_near_string[TEMP_STRING_SIZE];
- string_ptr temp_string;
- temp_file_header_type temp_file_header;
- string_ptr tilde_string;
- char time_array[16];
- lname_entry_ptr tmodule_name;
- bit_16 tmodule_number = 0;
- string_ptr token;
- byte token_break_char;
- bit_16 token_is_number;
- bit_16 token_is_hex_number;
- bit_16 token_numeric_value;
- token_stack_list token_stack = {Null, Null};
- token_stack_list token_stack_free_list = {Null, Null};
- token_stack_ptr token_stack_member;
- token_class_type token_type;
- bit_32 total_time;
- string_ptr true_string;
- char *type_text[5]=
- {"Low Byte",
- "Offset",
- "Base",
- "Pointer",
- "High Byte"};
- bit_32 user_input_start_time;
-
- char *DOS_error_text[] =
- {
- "End of file", /* 00 */
- "Invalid function", /* 01 */
- "File not found", /* 02 */
- "Path not found", /* 03 */
- "No handles available", /* 04 */
- "Access denied", /* 05 */
- "Invalid handle", /* 06 */
- "Memory control blocks destroyed", /* 07 */
- "Insufficient memory", /* 08 */
- "Invalid memory block address", /* 09 */
- "Invalid environment", /* 0A */
- "Invalid format", /* 0B */
- "Invalid access code", /* 0C */
- "Invalid data", /* 0D */
- "Reserved", /* 0E */
- "Invalid drive", /* 0F */
- "Attempt to remove current directory", /* 10 */
- "Not the same device", /* 11 */
- "No more file", /* 12 */
- "Disk write-protected", /* 13 */
- "Unknown unit", /* 14 */
- "Drive not ready", /* 15 */
- "Unknown command", /* 16 */
- "CRC error", /* 17 */
- "Bad request structure length", /* 18 */
- "Seek error", /* 19 */
- "Unknown media type", /* 1A */
- "Sector not found", /* 1B */
- "Out of paper", /* 1C */
- "Write fault", /* 1D */
- "Read fault", /* 1E */
- "General failure", /* 1F */
- "Sharing violation", /* 20 */
- "Lock violation", /* 21 */
- "Invalid disk change" /* 22 */
- "FCB unavailable", /* 23 */
- "Sharing buffer overflow", /* 24 */
- "Reserved", /* 25 */
- "Reserved", /* 26 */
- "Reserved", /* 27 */
- "Reserved", /* 28 */
- "Reserved", /* 29 */
- "Reserved", /* 2A */
- "Reserved", /* 2B */
- "Reserved", /* 2C */
- "Reserved", /* 2D */
- "Reserved", /* 2E */
- "Reserved", /* 2F */
- "Reserved", /* 30 */
- "Reserved", /* 31 */
- "Network request not supported", /* 32 */
- "Remote computer not listening", /* 33 */
- "Duplicate name on network", /* 34 */
- "Network name not found", /* 35 */
- "Network busy", /* 36 */
- "Network device no longer exists", /* 37 */
- "Net BIOS command limit exceeded", /* 38 */
- "Network adapter error", /* 39 */
- "Incorrect network response", /* 3A */
- "Unexpected network error", /* 3B */
- "Incompatible remote adapter", /* 3C */
- "Print queue full", /* 3D */
- "Not enough space for print file", /* 3E */
- "Print file deleted", /* 3F */
- "Network name deleted", /* 40 */
- "Access denied", /* 41 */
- "Network device type incorrect", /* 42 */
- "Network name not found", /* 43 */
- "Network name limit exceeded", /* 44 */
- "Net BIOS session limit exceeded", /* 45 */
- "Temporarily paused", /* 46 */
- "Network request not accepted", /* 47 */
- "Print or disk redirection is paused", /* 48 */
- "Reserved", /* 49 */
- "Reserved", /* 4A */
- "Reserved", /* 4B */
- "Reserved", /* 4C */
- "Reserved", /* 4D */
- "Reserved", /* 4E */
- "Reserved", /* 4F */
- "File already exists", /* 50 */
- "Reserved", /* 51 */
- "Cannot make directory", /* 52 */
- "Fail on Int 24", /* 53 */
- "Too many redirections", /* 54 */
- "Duplicate redirection", /* 55 */
- "Invalid password", /* 56 */
- "Invalid parameter", /* 57 */
- "Network data fault", /* 58 */
- "Invalid error code returned from DOS" /* 59 */
- };
-
- switch_table_type switch_table[] =
- {
- {2, "ah", "alignexeheader", &align_exe_header, scan_set_switch},
- {2, "bsz", "buffersize", &buffer_size, scan_bit_16_switch},
- {2, "ci", "caseignore", &case_ignore, scan_set_switch},
- {2, "co", "comfile", &comfile, scan_set_switch},
- {2, "cp", "cparmaxalloc", &CPARMAXALLOC, scan_bit_16_switch},
- {2, "det", "detaillevel", &detail_level, scan_bit_16_switch},
- {2, "do", "dosseg", &DOSSEG, scan_set_switch},
- {2, "ex", "exechecksum", &exechecksum, scan_set_switch},
- {2, "ghs", "grouphashsize", &group_table_hash_size, scan_bit_16_switch},
- {2, "hlp", "help", &help, scan_help_switch},
- {2, "lhs", "lnamehashsize", &lname_table_hash_size, scan_bit_16_switch},
- {3, "mp", "map", &map, scan_opt_bit_16},
- {4, "mex", "maxexternals", &max_externals, scan_bit_16_switch},
- {4, "mgp", "maxgroups", &max_groups, scan_bit_16_switch},
- {4, "mln", "maxlnames", &max_lnames, scan_bit_16_switch},
- {4, "msg", "maxsegments", &max_segments, scan_bit_16_switch},
- {4, "nah", "noalignexeheader",&align_exe_header, scan_reset_switch},
- {4, "nci", "nocaseignore", &case_ignore, scan_reset_switch},
- {4, "nco", "nocomfile", &comfile, scan_reset_switch},
- {4, "ndo", "nodosseg", &DOSSEG, scan_reset_switch},
- {4, "nex", "noexechecksum", &exechecksum, scan_reset_switch},
- {4, "nmp", "nomap", &map, scan_reset_bit_16},
- {4, "nob", "noobjchecksum", &objchecksum, scan_reset_switch},
- {5, "npc", "nopackcode", &pack_code, scan_reset_bit_16},
- {5, "npa", "nopause", &pause, scan_reset_switch},
- {4, "nsy", "nosysfile", &sysfile, scan_reset_switch},
- {4, "nst", "nostatistics", &statistics, scan_reset_switch},
- {2, "ob", "objchecksum", &objchecksum, scan_set_switch},
- {2, "ord", "order", &ordering, scan_text_switch},
- {3, "pac", "packcode", &pack_code, scan_opt_bit_16},
- {3, "pa", "pause", &pause, scan_set_switch},
- {2, "phs", "publichashsize", &public_table_hash_size, scan_bit_16_switch},
- {2, "shs", "segmenthashsize", &segment_table_hash_size, scan_bit_16_switch},
- {4, "stk", "stack", &stack, scan_bit_16_switch},
- {2, "sts", "statistics", &statistics, scan_set_switch},
- {2, "sy", "sysfile", &sysfile, scan_set_switch},
- {2, "tmp", "tempfile", &temp_filename, scan_text_switch},
- {0, Null, Null, Null, Null}
- };