📄 globals.c
字号:
/*
Copyright 1994-2003 Free Software Foundation, Inc.
This program 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 2 of the License, or
(at your option) any later version.
This program 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 this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
You may contact the author at:
mailto::camille@bluegrass.net
or by snail mail at:
David Lindauer
850 Washburn Ave Apt 99
Louisville, KY 40222
*/
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <dos.h>
#include <time.h>
#include "langext.h"
#include "defines.h"
#include "types.h"
#include "subs.h"
#include "globals.h"
/* GLOBALS.H */
/* Global variables used by the linker in approximate alphabetical order. */
bit_32 address_base;
bit_32 align_mask[7]=
{0L, 0L, 1L, 15L, 255L, 3L,4095L};
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;
bit_32 bad_link ;
string_ptr bar_string;
lseg_ptr bseg_lseg ;
lname_entry_ptr BSS_lname;
bit_32_switch_type buffer_size =
{0x8000, 512, 0xFE00, 0x8000, False};
boolean_switch_type build_DLL = { 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 CODE_lname;
lname_entry_ptr codeview_class_DEBBROWSE;
lname_entry_ptr codeview_class_DEBSYM;
lname_entry_ptr codeview_class_DEBTYP;
bit_16 codeview_information_present = False;
lname_entry_ptr codeview_segment_BROWSE;
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;
lseg_ptr constseg_lseg ;
bit_32_switch_type CPARMAXALLOC =
{0xFFFF, 0x0, 0xFFFF, 0xFFFF, False};
lseg_ptr cseg_lseg ;
string_ptr current_filename;
module_ptr current_module;
string_ptr current_path;
obj_record_header_ptr current_record_header;
#define Current_record_header (*current_record_header)
bit_32 current_record_offset;
lseg_ptr cvdebsym_lseg ;
lseg_ptr cvdebtyp_lseg ;
string_ptr cv_extension_string;
file_info_list cv_file_list = { Null, Null };
boolean_switch_type debug = {False};
string_ptr default_directory_string;
string_ptr default_drive_string;
string_ptr default_extension;
string_ptr default_filename;
string_ptr default_lx_stub_string ;
char_ptr default_prompt;
bit_32_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;
string_ptr dll_extension_string;
boolean_switch_type DOSSEG = {False};
string_ptr dot_string;
lseg_ptr dseg_lseg ;
DTA_type DTA;
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_ptr_array exports;
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;
bit_32_switch_type fileAlign =
{ 0x2000,0x200,0x10000,0x2000,False };
bit_32 first_pe_section_address ;
fixup_type fixup;
bit_16 FIXUPP_contains_only_threads;
bit_16 fixup_index;
fixup_list_ptr fixup_list ;
fixup_list_ptr fixup_list_tail ;
bit_32 fixup_start_time;
fixup_list_ptr fixup_temp ;
bit_32 FLAT_address ;
lname_entry_ptr FLAT_lname;
bit_16 frame_absolute;
thread_type frame_thread[4];
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_32_switch_type group_table_hash_size =
{25, 1, 1023, 25, False};
string_ptr group_string;
bit_32_switch_type heapCommitSize =
{ 0x2000, 0, 0xffffffff,0x0, False } ;
bit_32_switch_type heapSize =
{ 0x100000, 0, 0xffffffff,0x10000, False } ;
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;
bit_32_switch_type imageBase =
{ 0x400000, 0,0xffffffff,0x400000, False } ;
lseg_ptr import_thunk_table = NULL ;
public_entry_ptr_array imports;
file_type infile;
byte_ptr infile_buffer;
bit_16 initial_IP = 0;
bit_16 initial_CS = 0;
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_32 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];
boolean_switch_type lefile;
string_ptr lib_extension_string;
text_switch_type lib_directory = { Null };
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_32 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_32_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};
lx_fixup_hold_ptr_array lx_fixup_array = Null ;
lx_section_ptr_array lx_outList = Null ;
bit_32_switch_type lx_page_shift =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -